该文档肯定可以改进(我没有抱怨,我是作者之一)。一方面,它应该指向 pyresample 中关于如何制作自定义区域定义的文档:
https://pyresample.readthedocs.io/en/latest/geometry_utils.html
对于您想要重新采样到板 carree(equirectangular)投影的情况,您可以尝试这样的事情:
from pyresample import create_area_def
area_def = create_area_def("my_area_def", "+proj=eqc +datum=WGS84", resolution=2000)
这将使所谓的 a DynamicAreaDefinition
which is anAreaDefinition
没有定义其所有参数。例如,该区域没有范围/界限。我确实将其定义为每像素 2 公里的分辨率。我们可以向 Satpy 提供这个动态区域定义,它将使用来自 ABI 数据的地理位置“冻结”它。因此,您的代码将如下所示:
from satpy import Scene
from glob import glob
from pyresample import create_area_def
area_def = create_area_def("my_area_def", "+proj=eqc +datum=WGS84", resolution=2000)
goes17 = glob('./samplefile/*')
goes17_scene = Scene(reader="abi_l1b", filenames=goes17)
goes17_scene.load(['C13'])
new_scn = goes17_scene.resample(area_def)
# save to geotiffs
new_scn.save_datasets()
请注意,如果您在调用时知道您所在区域的确切边界,create_area_def
则可以创建一个完全合格的AreaDefinition
,并且在重新采样时会表现得更好(因为 Satpy 不必计算动态区域的边界)。