[尝试在包含区域区域的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")
您可以使用xarray执行时间汇总和重新采样。然后应用您的代码。