首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >17 netcdf文件转换为板块Carree

17 netcdf文件转换为板块Carree
EN

Stack Overflow用户
提问于 2022-02-21 05:02:19
回答 1查看 59关注 0票数 0

示例文件可以从https://noaa-goes17.s3.amazonaws.com/ABI-L1b-RadF/2021/213/00/OR_ABI-L1b-RadF-M6C13_G17_s20212130000319_e20212130009396_c20212130009445.nc下载

我正试着把投影转换成车牌。

我用Satpy加载netcdf。

代码语言:javascript
复制
from satpy import Scene
from glob import glob
goes17 = glob('./samplefile/*')
goes17_scene = Scene(reader="abi_l1b", filenames=goes17)

然后,我想重采样它板carree使用https://satpy.readthedocs.io/en/stable/resample.html#create-custom-area-definition,但没有样例代码。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-02-22 01:39:14

这些文档肯定可以改进(我不是抱怨,我是作者之一)。首先,它应该指向pyresample中有关如何制作自定义AreaDefinition的文档:

https://pyresample.readthedocs.io/en/latest/geometry_utils.html

对于您希望重采样到一个平面carree (等长线)投影的情况,您可以尝试这样的方法:

代码语言:javascript
复制
from pyresample import create_area_def
area_def = create_area_def("my_area_def", "+proj=eqc +datum=WGS84", resolution=2000)

这将形成一个DynamicAreaDefinition,它是一个没有定义所有参数的AreaDefinition。例如,这个区域没有范围/界限。我确实把它定义为每像素有2km的分辨率。我们可以将这个动态区域定义提供给Satpy,它将用ABI数据中的地理位置“冻结”它。因此,您的代码将如下所示:

代码语言:javascript
复制
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不需要计算动态区域的边界),这样的效果会更好。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/71201417

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档