我想使用 GOES17、EUMETSAT 和 GK-2A 生成全球气象卫星图像。我想让它成为 Plate carree 坐标。(GOES 17 netcdf 文件转换为 Plate Carree)
首先,使用 Satpy,我制作了盘子 carree 图像。
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()
像这种方法,我想制作其他卫星图像并合并到 1 个图像文件。但是有没有任何简单或最简单的方法来生成全球天气图像?我的最终目标是生成全球卫星图像的 numpy 数组。
-- 我的整个代码 --
from satpy import Scene, MultiScene
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('E:/Global/GOES_17/OR_ABI-L1b-RadF-M6C13_G17_s20212130000319_e20212130009396_c20212130009445.nc')
goes17_scene = Scene(reader="abi_l1b", filenames=goes17)
goes17_scene.load(['C13'])
gk2a = glob('E:/Global/GK-2A/gk2a_ami_le1b_ir105_fd020ge_202108010000.nc')
gk2a_scene = Scene(reader="ami_l1b", filenames=gk2a)
gk2a_scene.load(['IR105'])
eumetsat = glob('E:/Global/EUMETSAT/MSG4-SEVI-MSG15-0100-NA-20210801000010.306000000Z-20210801001259-4774254.nat')
eumetsat_scene = Scene(reader='seviri_l1b_native', filenames=eumetsat)
eumetsat_scene.load(['IR_108'])
from satpy import MultiScene, DataQuery
mscn = MultiScene([goes17_scene, gk2a_scene, eumetsat_scene])
groups = {DataQuery(name='IR_group', wavelength=(10.35, 10.35, 10.8)): ['C13', 'IR105', 'IR_108']}
mscn.group(groups)
from pyresample.geometry import AreaDefinition
resampled = mscn.resample(area_def, reduce_data=False)
resampled.load(['IR_group'])
blended = resampled.blend()
blended.show(['IR_group'])