ArcGIS Python使用及批量裁剪示例

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裏執行

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章