ArcGIS中的工具均提供Python函數,方便支持批量處理。以掩膜裁剪(提取分析/Extract by Mask)爲例,
可以查找到幫助文檔“按掩膜提取”(源1)(源2),路徑“工具參考/工具/Spatial Analyst 工具箱/按掩膜提取”函數爲:Extract by Mask
Extract by Mask的基本語法是:
ExtractByMask (in_raster, in_mask_data)
in_raster:提取像元的輸入柵格。
in_mask_data:用於定義提取區域的輸入掩膜數據。它可以是柵格,也可以是要素數據集。
代碼示例
以下以批量讀取裁剪某文件夾下的tif數據爲例(特別注意Python2腳本循環語句格式的空格不能用Tab,否則會報錯Indent):
# Import system modules
import arcpy
from arcpy import env
from arcpy.sa import *
# Set environment settings
env.workspace = "D:/img"
rasterList = arcpy.ListRasters("*","tif")
#輸出路徑
output_path = "D:/imgMask/"
# mask shp
inMaskData = "D:/range.shp"
for raster in rasterList:
print raster
# Set local variables
inRaster = raster
# Execute ExtractByMask
outExtractByMask = ExtractByMask(inRaster, inMaskData)
# Save the output
out = output_path + inRaster #對生成文件進行命名
outExtractByMask1.save(out)
代碼執行
方式一:將代碼保存爲單獨的py文件,cmd或其它IDE執行。cmd執行命令(如何獨立運行腳本):
C:\Python27\ArcGIS10.3\python.exe my_script.py
方式二:ArcGIS安裝的Python IDE裏執行