【问题标题】:Extract netCDF4 data from inside a shapefile?从 shapefile 中提取 netCDF4 数据?
【发布时间】:2017-06-07 15:29:29
【问题描述】:

在 python 3.6 中,我导入了一个包含全球降水值的 netCDF4 文件。我还导入了一个包含科罗拉多河流域形状的 shapefile。我的目标是能够仅在我的 shapefile 中读取/提取降水数据。我查找了多个示例,但没有一个真正有帮助。

到目前为止,这是我的代码:

from netCDF4 import Dataset
import numpy as np
import geopandas as gpd

nc = Dataset('filename.nc')
long = nc.variables['lon'][:]
lati = nc.variables['lat'][:]
rainfall = nc.variables['precip'][:]

shapefile=gpd.read_file('filename.shp')

上面的代码没有错误信息。

【问题讨论】:

  • 据我所知,您正在尝试分析来自科罗拉多河流域(由您的 shape 文件定义)内的 nc 数据集的数据。对吗?

标签: python-3.x numpy shapefile geopandas netcdf4


【解决方案1】:

哦,看,房子里的水文学家! ;)

嗯,到目前为止,您还没有对代码做太多事情,您所做的只是将文件读入内存。

当我尝试执行相同的分析(仅使用 grib 文件)时,我发现了一个非常棒的 Python 库,它正是用于此目的,称为 RasterStats

它支持使用 ndarray 光栅对象以及大多数 GDAL 支持的光栅文件类型(也必须是 netCDF!),它会生成你想要的东西。

要了解更多信息,请查看非常简洁的 manual,如果您遇到问题,请告诉我!

【讨论】:

    猜你喜欢
    • 2019-02-21
    • 1970-01-01
    • 2020-08-09
    • 1970-01-01
    • 1970-01-01
    • 2010-09-14
    • 2020-05-30
    • 2014-03-09
    • 1970-01-01
    相关资源
    最近更新 更多