3

我正在尝试使用 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 文件的元数据中寻找这些定义的正确位置?关于这个模块的一些澄清真的很有帮助!再次感谢!

4

1 回答 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 正是为这类任务而设计的。您不需要文件中的任何额外元数据,带有 swath 数据,经度和纬度数组就足够了。

于 2016-11-29T14:45:01.027 回答