使用arcgis按掩膜批量处理MODIS.tif数据提取研究区.shp边界的python代码
在输入代码之前,需要先用arcgis把需要处理的数据导入,再把研究区shp导入,然后定义投影,先掩膜处理一个数据,再进行下一步输入代码批量处理数据的步骤。如果
不先定义投影,可能会出现输入代码不执行的情况。
import arcpy import glob import os arcpy.CheckOutExtension('Spatial') # 指定先前拼接后的遥感影像所在目录 inws = r"D:\NDVI\MOD13A3RIPE\2016MOD13A3RIPE" # 指定裁剪后的影响存放目录 outws = r"D:\NDVI\test" # 指定shp范围边界文件,即目标区域的边界 mask = r"D:\NDVI\gisyanjiuqu\yangdianyanjiuqu\ydxz.shp" # 利用glob包,将inws下的所有tif文件读存放到rasters中 rasters = glob.glob(os.path.join(inws, "*.tif")) # 循环rasters中的所有影像,进行按掩模提取操作 for ras in rasters: outname = os.path.join(outws, os.path.basename(ras).split(".")[0] + "_clp.tif") # 指定输出文件的命名方式(以被裁剪文件名+_clip.tif命名) out_extract = arcpy.sa.ExtractByMask(ras, mask) # 执行按掩模提取操作 out_extract.save(outname) # 保存数据
效果如图