Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/310.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
区域形状文件内NetCDF中每个时间步使用Python中的rasterstats的分区统计信息_Python_Raster_Shapefile_Netcdf_Rasterio - Fatal编程技术网

区域形状文件内NetCDF中每个时间步使用Python中的rasterstats的分区统计信息

区域形状文件内NetCDF中每个时间步使用Python中的rasterstats的分区统计信息,python,raster,shapefile,netcdf,rasterio,Python,Raster,Shapefile,Netcdf,Rasterio,尝试在包含地区区域的shapefile层中提取分区信息,用于存储在netcdf中的光栅数据的月度时间序列 到目前为止,我只能提取每个shapefile的所有时间段的平均值(见下文)。但我真的想要每个地区的月平均值 最终的目标是将其放在一个数据框架中,然后我可以将其与每个区域的一些属性数据合并。我不太习惯使用netcdfs,所以任何建议都会很有帮助!netcdf中的时间维度为“yyyy-mm-dd”格式 #import netcdf data with rio.open('/MSLA_all_

尝试在包含地区区域的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执行时间聚合和重采样。然后应用你的代码。

再靠近一点!现在有一个字典列表,每个字典包含72个时间步(约650个区域)内某个区域的所有月平均值。每个字典(72 x~650=~47000)中的每个值都可以提取吗?欢迎使用Stackoverflow!您是否有可以链接的示例或资源来帮助改进您的答案?