在輸入代碼之前,需要先用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) # 保存數據
效果如圖



