使用pyresample绘制卫星测绘带数据

问题描述 投票:0回答:1

我正在尝试使用 Pyresample 模块绘制 ASCAT 海风矢量的全幅轨道及其 wvc 质量标志。可以在此处找到 ASCAT netcdf 文件的链接:ftp://podaac-ftp.jpl.nasa.gov/allData/ascat/preview/L2/metop_a/12km/ 从我读过的关于该模块的文档来看,它没有很好地描述我们如何在文件中找到满足几何区域定义的信息。下面是一个绘制卫星数据的示例代码

from netCDF4 import Dataset     
import numpy as np
from pyresample import image, geometry
import pyresample as pr

我从 netcdf 文件中提取了 lons、lats 和 wvc_quality_flag

area_id = 'ease_sh'
name = 'Antarctic EASE grid'
proj_id = 'ease_sh'
proj4_args = 'proj=laea, lat_0=-90, lon_0=0, a=6371228.0, units=m'
x_size = 425
y_size = 425
area_extent = (-5326849.0625,-5326849.0625,5326849.0625,5326849.0625)
proj_dict = {'a': '6371228.0', 'units': 'm', 'lon_0': '0',
          'proj': 'laea', 'lat_0': '-90'}
area_def = geometry.AreaDefinition(area_id, name, proj_id, proj_dict, x_size,y_size, area_extent)
swath_def = geometry.SwathDefinition(lons=lon, lats=lat)
result = pr.kd_tree.resample_nearest(swath_def, wvc_quality_flag, area_def, radius_of_influence=20000, fill_value=None)
pr.plot.save_quicklook('/tmp/tb37v_pc.png', area_def, result, num_meridians=0, num_parallels=0, label='Flags')

AttributeError: 'module' object has no attribute 'plot'

首先,我收到一个错误,即pyresample模块没有该属性图,而文档说它有该属性图,并且“area_def”从未在ASCAT netcdf文件中的任何位置定义。 Pyresample 是否不适用于这些类型的文件,或者我是否没有在 ASCAT 文件的元数据中查找这些定义的正确位置?对这个模块的一些澄清确实会有帮助!再次感谢!

python satellite pyresample
1个回答
0
投票

这里其实有两个问题。第一个是

plot
子模块。

plot
是一个子模块,它可以与其他子模块一起导入这里:

from pyresample import image, geometry, plot

其次,目标区域定义是在此块中动态定义的:

area_id = 'ease_sh'
name = 'Antarctic EASE grid'
proj_id = 'ease_sh'
proj4_args = 'proj=laea, lat_0=-90, lon_0=0, a=6371228.0, units=m'
x_size = 425
y_size = 425
area_extent = (-5326849.0625,-5326849.0625,5326849.0625,5326849.0625)
proj_dict = {'a': '6371228.0',
             'units': 'm',
             'lon_0': '0',
             'proj': 'laea',
             'lat_0': '-90'}

area_def = geometry.AreaDefinition(area_id,
                                   name,
                                   proj_id,
                                   proj_dict,
                                   x_size,
                                   y_size,
                                   area_extent)

源测绘带定义定义为:

swath_def = geometry.SwathDefinition(lons=lon, lats=lat)

我假设

lon
lat
数组已在重采样之前获取。

PS。是的,pyresample 正是用于此类任务。您不需要带有条带数据的文件中的任何额外元数据,经度和纬度数组就足够了。

© www.soinside.com 2019 - 2024. All rights reserved.