我無法想出將非規則網格上的衛星數據轉換爲全球0.25 x 0.25度網格的最有效方法。在Python中將數據插值到緯度/經度網格
我有一個衛星數據的二維數組,以及兩個相應的二維數組給出每個像素的經度和緯度。
當我繪製它使用pcolormesh,它看起來像這樣:
m.pcolormesh(lon, lat, windSpeed)
我想這個數據插值到0.25×0.25度電網
lonGrid = arange(-180, 180, res)
latGrid = arange(-90, 90, res)
lonGrid,latGrid = meshgrid(lonGrid,latGrid)
我我嘗試過使用mpl_toolkits.basemap.interp()函數,但我無法弄清楚如何讓我的經緯度和單點增加到單調增加,這是第e功能。我可以ravel()我的lon網格,將它排序爲增加,然後用argsort以相同的方式對windSpeed和lat網格進行排序...但是然後lat不是單調遞增的。
lon = lon.ravel()
lat = lat.ravel()
windSpeed = windSpeed.ravel()
lon[lon > 180] = lon[lon > 180] - 360
lonSortInds = argsort(lon)
result = mpl_toolkits.basemap.interp(windSpeed2, lon2, lat2, lonGrid, latGrid, checkbounds=False, masked=True, order=1)
lat = lat[lonSortInds]
windSpeed = windSpeed[lonSortInds]
lon = sort(lon)
result = mpl_toolkits.basemap.interp(windSpeed, lon, lat, lonGrid, latGrid, checkbounds=False, masked=False, order=1)
ValueError: xin and yin must be increasing!
最新最好的方式做到這一點?