python - 使用 pyresample 绘制卫星 strip 数据

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

最佳答案

这里其实有两个问题。第一个,plot 子模块。

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

from pyresample import image, geometry, plot

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

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)

源 strip 定义定义为:

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

并且我假设 lonlat 数组已在重采样之前获取。

附言。是的,pyresample 正是为这类任务而设计的。您不需要来自带有 strip 数据的文件的任何额外元数据,经度和纬度数组就足够了。

https://stackoverflow.com/questions/33372610/

相关文章:

r - Shiny 应用程序的初始加载没有更新

nginx - Kong 拒绝将自定义插件识别为已启用

multithreading - 每个连接的 Netty 多线程

android - 哪个平台支持BLE数据包长度扩展功能?

java - 如何为 Selenium Grid 中的 session 提供无限空闲时间,但清理断开

python - 没有名为 csv 的模块

php - Wordpress 如何向所有 SETCOOKIE() 函数添加 httponly 和安

Java - 系统进程监听器

python - 我们如何使用 SQL-esque "LIKE"标准连接两个 Spark SQL 数

javascript - three.js 边缘和文本在旋转时呈锯齿状/模糊