通过shapefile剪切NetCDF文件

问题描述

我有一个很大的全局.nc文件数据集,我试图将它们裁剪到较小的区域。我将此区域存储为.shp文件。

我尝试使用来自Qgis的gdal,但是需要通过转换每个变量来做到这一点,我必须为所有文件一个一个地选择每个变量和相同的形状,并且要通过400个文件,每个变量似乎不是最好的主意。还会返回分隔的.tiff文件,而不是我要的.nc文件。

我有这个小脚本,但是没有满足我的要求

    import glob
    import subprocess
    import os
    
    ImageList = sorted(glob.glob('*.nc'))
    print('number of images to process: ',len(ImageList))
    
    Shapefile = 'NHAF-250m.shp'
    
    # Create output directory
    OutDir = './Clipped_Rasters/'
    if not os.path.exists(OutDir):
        os.makedirs(OutDir)
    
    for Image in ImageList:
        print('Processing ' + Image)
    
        OutImage = OutDir + Image.replace('.nc','_BurnedArea_Clipped.tif') # Defines Output Image
    
        # Clip image
        subprocess.call('gdalwarp -q -cutline /Users/path/to/file/NHAF-250-vector/ -tr 0.25 0.25 -of GTiff NETCDF:'+Image+":burned_area "+OutImage,shell=True)
    
    
        print('Done.' + '\n')
    
    print('All images processed.')

提前谢谢

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)