使用 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,实际上,这可能对图像有意义。
我正在尝试使用 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,实际上,这可能对图像有意义。