使用 cartopy 将地球静止数据点投影到规则网格上

Using cartopy to project geostationary data points onto a regular grid

我正在尝试使用 Cartopy 将 GOES 卫星图像数据投影到整个美国的常规网格上。我在结束时从 GOES 到网格的翻译做错了 this colab workbook。我这样做:

geos.transform_point(us_bbox[0][0] + x, us_bbox[0][1] + y, ccrs.PlateCarree()) / sat_h

正如您从最后的图像中看到的那样,它没有投影到网格上并且以某种方式扭曲了。

编辑:这是来自 the colab workbook 的更多代码:

grid_width = 500
grid_height = 500
grid = np.zeros((grid_width, grid_height))

for x in range(0, grid_width):
  for y in range(0, grid_height):
    location_geos = geos.transform_point(us_bbox[0][0] + x, us_bbox[0][1] + y, ccrs.PlateCarree()) / sat_h
    if not np.any(np.isnan(location_geos)):
      grid[(x, y)] = C['BCM'].sel(y=location_geos[1],x=location_geos[0],method='nearest').values

如有任何帮助,我们将不胜感激。

可能是一个非常愚蠢的问题,因为我不知道有问题的图书馆,但在行

location_geos = geos.transform_point(us_bbox[0][0] + x, us_bbox[0][1] + y, ccrs.PlateCarree()) / sat_h

您是否将 latitude/longitude(us_bbox 值)加到整数 (x, y) 上?如果是这样,您最终绘制的图像的范围为 500 度 latitude/longitude,实际上,这可能对图像有意义。