如何在ArcGIS中使用Python批量裁剪柵格數(shù)據(jù)?

在ArcGIS中使用Python裁剪柵格數(shù)據(jù)的流程主要包括以下步驟:

  • 設(shè)置工作空間:使用arcpy.env.workspace來指定數(shù)據(jù)的工作空間。

  • 定義柵格數(shù)據(jù)和矢量數(shù)據(jù)路徑:使用變量來存儲柵格數(shù)據(jù)和矢量數(shù)據(jù)的路徑。

  • 設(shè)置輸出柵格數(shù)據(jù)路徑:同樣使用變量來指定裁剪后的柵格數(shù)據(jù)輸出路徑。

  • 使用arcpy.Clip_management函數(shù)裁剪柵格數(shù)據(jù):該函數(shù)可以裁剪指定的柵格數(shù)據(jù),輸入?yún)?shù)包括待裁剪柵格數(shù)據(jù)路徑、裁剪區(qū)域的矢量數(shù)據(jù)路徑、輸出柵格數(shù)據(jù)路徑以及其他裁剪選項(xiàng)(如裁剪幾何類型)。

使用的包:在ArcGIS中,用于操作GIS數(shù)據(jù)和執(zhí)行地理處理任務(wù)的主要包是arcpy。

主要函數(shù):在裁剪柵格數(shù)據(jù)的過程中,主要用到的函數(shù):

arcpy.Clip_management():裁剪柵格數(shù)據(jù)的函數(shù),它有多個參數(shù),包括待裁剪柵格數(shù)據(jù)路徑、輸出柵格數(shù)據(jù)路徑、裁剪區(qū)域的矢量數(shù)據(jù)路徑等。

arcpy.management.Clip(in_raster,?rectangle,?out_raster,?{in_template_dataset},?{nodata_value},?{clipping_geometry},?{maintain_clipping_extent})

示例

import?arcpy

#?Set?workspace
arcpy.env.workspace?=?r"D:\Software\DataScience\ArcgisPro_Workspace\數(shù)據(jù)"

#?Define?paths
raster_path?=?"SoilType.tif"
shp_file?=?"珠三角_Project.shp"
out_raster_path?=?"output\SoilType_clip.tif"

#?Clip?raster?using?shapefile
arcpy.Clip_management(raster_path,?"#",?out_raster_path,?shp_file,?"#",?"ClippingGeometry")

當(dāng)然了,我們使用Python更多的是為了更加簡便的操作重復(fù)性的工作。如果是要批量裁剪,可以在以上代碼的基礎(chǔ)上補(bǔ)充循環(huán)處理的代碼:

  • 獲取所有待裁剪的柵格數(shù)據(jù)文件列表:使用 arcpy.ListRasters() 函數(shù)來獲取所有待裁剪的柵格數(shù)據(jù)文件名列表。

  • 遍歷柵格數(shù)據(jù)文件列表并進(jìn)行裁剪操作:使用循環(huán)遍歷所有柵格數(shù)據(jù)文件,每次都使用 arcpy.Clip_management() 函數(shù)來裁剪柵格數(shù)據(jù)。

import?arcpy
import?os

#?設(shè)置工作空間
arcpy.env.workspace?=?r"D:\Software\DataScience\ArcgisPro_Workspace\數(shù)據(jù)"

#?定義矢量數(shù)據(jù)路徑
shp_file?=?"珠三角_Project.shp"

#?設(shè)置輸出文件夾路徑
output_folder?=?r"D:\Software\DataScience\ArcgisPro_Workspace\output"

#?獲取所有tif文件列表
tif_files?=?arcpy.ListRasters("*",?"TIF")

#?遍歷所有tif文件并進(jìn)行裁剪操作
for?raster_path?in?tif_files:
????#?拼接輸出柵格數(shù)據(jù)路徑
????filename?=?os.path.splitext(os.path.basename(raster_path))[0]
????out_raster_path?=?os.path.join(output_folder,?f"{filename}_clip.tif")
????
????#?裁剪柵格數(shù)據(jù)
????arcpy.Clip_management(raster_path,?"#",?out_raster_path,?shp_file,?"#",?"ClippingGeometry")

近期文章

文獻(xiàn)閱讀||人類不合理行為對自然災(zāi)害的放大效應(yīng)

耦合協(xié)調(diào)度模型的基本原理與Python實(shí)現(xiàn)

Python條件語句、循環(huán)語句

TOPSIS—熵權(quán)法的基本原理與基于Python實(shí)現(xiàn)代碼

文獻(xiàn)閱讀||中國陸域綜合功能區(qū)及其劃分方案

基于Python的計算經(jīng)濟(jì)地理學(xué):引論

利用Python繪制酷炫OD流量圖的新方法

基于python構(gòu)建空間權(quán)重矩陣

Python空間分析||geopandas安裝與基本使用

本文使用 文章同步助手 同步

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容