我有3个数组,分别表示经度、纬度和温度(因此观测结果分散在空间中)。我想在这些数据上应用插值,也可以外推。我已经写了下面的代码,但是我得到了一个关于内存的错误。这三个数组中的每一个都有大约700个点。
我想要外推的原因是因为我想要覆盖地图上的所有区域。
这是我的代码的一部分,就是我所描述的:
m = Basemap(投影='merc',llcrnrlat=34,urcrnrlat=42,\ llcrnrlon=19,urcrnrlon=35,lat_ts=20,分辨率='h') xi = np.arange(19,35,0.01) yi = np.arange(34,42,0.01) xi,yi = np.meshgrid(xi,yi) lon= np.asarray(lon) lat= np.asarray(lat) temperature = np.asarray(temperature) rbf = scipy. interpolte . rbf(lon, lat, temperature, function='高斯',smooth=0.) zi = rbf(xi, yi) x,y = m(xi, h);i) zi=np.array(zi) mdata=maskoceans(xi, Yi,zi,resolution='f',grid=1.25) m.drawcoastlines() m.drawcountries() m.drawmapboundary(fill_color="#cce6ff") sc = m.contourf(x,y,mdata, np. rangange (-15.0,40.01,1),cmap=jet,extend="both")
有人对我应该使用的插值方法以及如何使其工作有任何想法吗?
我已经使用了griddata,它工作得很好,但它只是用于插值,所以新的矩阵是有限的,它不能覆盖整个区域。我也读到rbf不工作超过20个点,但有没有其他方法的大型数据集?
下一行是0.05之类的。外推温度数据是一个坏主意,顺便说一句,我认为使用较小的数字来避免内存不足错误可能有助于您看到这一点。 \ endgroup美元