使用pythonpyproj更改lcc和cea之间的映射投影

2024-06-16 18:41:40 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在使用pyproj项目把模型和卫星数据转换成一个共同的网格,这样我就可以把模型数据放大并与卫星观测数据进行比较。给出了卫星在二次网格中的共形投影。(数据集可以在这个链接中找到:dataset)。在

这是我的尝试:

import numpy as np
import matplotlib.pylab as plt
import netCDF4 
import mpl_toolkits.basemap.pyproj as pyproj 

# Reading the EASE grid (over Nordic region), given in lon/lat
ease_lon = np.genfromtxt('ease36km_metcoop_lon.txt')
ease_lat = np.genfromtxt('ease36km_metcoop_lat.txt')

# Read model grid, projected x and y values in Cartesian format [m]
test = 'arome_metcoop_test2_5km_20170215_18.nc'   

OFF = netCDF4.Dataset(test, mode='r')
xx = OFF.variables['x'][:]
yy = OFF.variables['y'][:]
OFF.close()

xv, yv = np.meshgrid(xx,yy)

EASE = pyproj.Proj("+proj=cea +lat_0=0.0 +lon_0=0.0 +lat_ts=30 +ellps=WGS84 +datum=WGS84")

lcc = pyproj.Proj("+proj=lcc +lat_0=63 +lon_0=15 +lat_1=63 +lat_2=63 +no_defs +R=6.371e+06")

nlon, nlat = pyproj.transform(lcc,EASE, xv, yv)
elon, elat = EASE(ease_lon, ease_lat)

plt.figure()
plt.scatter(nlon, nlat)
plt.hold('on')
plt.scatter(elon,elat)
plt.title('Model grid converted to EASE v2 projection?')
plt.show() 

结果图可以在这里找到:Scatter plot。 据我所知pyproj.转换功能它应该将模型lcc网格转换为EASE网格格式?然而,散点图看起来不太合理。在


Tags: 数据模型import网格asnppltgrid