区域shapefile中NetCDF中每个时间步在Python中使用栅格统计的区域统计

时间:2019-12-13 15:36:06

标签: python raster shapefile netcdf rasterio

尝试提取包含区域区域的shapefile图层内的区域信息,以每月按时间序列存储在netcdf中的栅格数据。

到目前为止,我只能提取每个shapefile在所有时间段内的平均值(请参见下文)。但是,实际上,我想要每个区域的每月平均值。

最终目的是将其放在熊猫地理数据框中,然后将其与每个区域的一些属性数据合并。我不太习惯使用netcdfs,因此任何建议都将有所帮助! netcdf中的时间维度为“ yyyy-mm-dd”格式。

#import netcdf data 

with rio.open('/MSLA_all_test.nc') as msla_nc:
    msla_nc_data = msla_nc.read(1,masked=True)
    msla_nc_meta = msla_nc.profile

#import polygons 
region_polys = gpd.read_file('/GADM2_coast_regions.shp')

#Extract pixel values for each polygon : zonal stats
region_value=rs.zonal_stats(region_polys, msla_nc_data, nodata=-999, affine=msla_nc_meta['transform'], geojson_out=True, copy_properties=True, stats="mean")


1 个答案:

答案 0 :(得分:1)

您可以使用xarray执行时间汇总和重采样。然后应用您的代码。