我有两个数据数组,在经纬网格上。第一个是A,它的形状是(89180)。第二个是B,形状是(94192)。A的纬度从88度开始按降序排列。到-88。&经度从0开始按升序排列(amp;L)。到358。B的纬度从88.54199982到-88.54199982按降序排列,经度从0开始按升序排列。到358.125。在
我想把B的数据重新网格化/插值到A的坐标系中,这样我就可以得到两个相同大小的数组,并计算它们之间的空间相关性。(如果比较容易的话,我也可以将A的数据重新生成/插值到B的坐标系上)_工具箱.basemap.interp(datain,xin,yin,xout,yout),但这需要xout和yout的大小相同。我也试过了scipy.interpolate.griddata,但我不知道它是怎么工作的,我甚至不确定这是否能得到我想要的东西。。。在
您可能需要查看
pyresample
,了解这个和其他类似的地理插值问题。它提供了多种插值方法,可以很好地处理lat/lon数据,并包含basemap
支持。我建议使用这个包,因为您还可以创建使用Proj4定义定义域的AreaDefinition
对象,然后将数据注册到AreaDefinition
。在对于您的具体问题,我会做以下工作(注意,插值步骤不完整,见下文):
注意,调用
resample_nearest
的插值步骤并不完整。您还需要指定radius_of_influence
,这是在每个点周围使用的搜索半径(以米为单位)。这取决于数据的分辨率。您可能还需要指定nprocs
来加快速度,如果您使用的是掩码数据,fill_value
。在相关问题 更多 >
编程相关推荐