我需要使用特定的shapefile从NetCDF子集数据。数据是1/4度分辨率下的海面温度和海洋颜色。我有4个描述美国的多边形。东北大陆架大型海洋生态系统及其提取数据所需的子组件。我正在处理1982-2014年的每月复合文件,因此此数据提取例程需要自动化。文件已被子集为[35、45,-80,-60]的近似工作区域网格。
以前,我们将HDF5数据文件转换为R中的栅格并以这种方式进行处理,但是这种方法的效率很低,我相信使用当前NetCDF文件在Python中有更好的解决方案。
到目前为止,我一直在使用GDAL和Fiona读取shapefile,并使用NetCDF4加载数据文件。我不确定如何对数据进行子集。我找到了这个:
GDAL for Python:从NetCDF文件提取子域吗?
但是我不知道如何使用除简单边界框以外的任何东西来对NetCDF文件进行子集化,这些多边形最肯定不是。
多边形例程中的点可能需要花很长时间才能工作,但是也许我可以使用较小的边界框将数据子集化,使其旋转以适合如下所示的这些形状作为初始起点,然后进行多边形点搜索:
使用lon / lat边界框对曲线netCDF文件(ROMS模型输出)进行子设置。
有任何想法吗?
编辑1:
我刚刚遇到了OpenClimateGIS软件包,它似乎很适合该法案...我将继续研究它是否可以正常工作:http: //ncpp.github.io/ocgis/examples。 html#advanced-subsetting