生活随笔
收集整理的這篇文章主要介紹了
arcpy批量裁剪
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
先來介紹一下開發背景:根據中心城區的醫院數據(點)生成泰森多邊形——(圖1),然后利用arctoolbox工具箱中的提取分析-分割工具對剛剛創建的泰森多邊形進行屬性分割,共得到28個多邊形。現在利用每個多邊形對其包含的興趣點(本文指的是中心城區起始點.shp)圖2進行裁剪,想到的方法就是arcpy。
圖1
# -*- coding: utf-8 -*-
import arcpy
arcpy.env.workspace = r"F:\高德地圖\可達性研究\泰森多邊形屬性分割" #輸入工作路徑
fclist_1 = arcpy.ListFeatureClasses("","polygon") #泰森多邊形分割后得到的28個多邊形
fclist_2 = r"F:\高德地圖\可達性研究\中心城區起始點.shp" #需要裁剪的要素
output_path = "abc"
for i in fclist_1:print (i)output_file = output_path+str(i)+ ".shp"arcpy.Clip_analysis(fclist_2,i,output_file)
print ("完成")
來看一下結果:
接下來,我們可以對上述代碼稍加修改,把它轉換為一個腳本工具,步驟依次如下圖所示:
接下來我們會看到在ArcToolBox中出現了剛剛創建的工具箱,然后右鍵工具箱—添加—腳本,出現下圖對話框
然后,點擊下一步,添加腳本所在的文件位置。
繼續下一步
然后我們會看到在剛剛添加的工具箱中出現了“批量裁剪腳本工具”
好了,添加腳本工具我們已經完成了,下面是對原始腳本代碼進行修改,修改后的代碼如下:
# -*- coding: utf-8 -*-
import arcpy
import osinput_feature = arcpy.GetParameterAsText(0) #對應腳本工具中的第1個對話框
arcpy.env.workspace = arcpy.GetParameterAsText(1) #對應腳本工具中的第2個對話框
workpath = arcpy.GetParameterAsText(2) #對應腳本工具中的第3個對話框feature_classes = arcpy.ListFeatureClasses("","polygon")
for i in feature_classes:outputfile = workpath + u"\\" + iarcpy.Clip_analysis(input_feature,i,outputfile)
好了,所有的工作都已結束,可以運行工具啦
謝謝瀏覽!
好了今天就到這里了。如果有需要批量裁剪工具的請留言獲取!點個贊加收藏!
總結
以上是生活随笔為你收集整理的arcpy批量裁剪的全部內容,希望文章能夠幫你解決所遇到的問題。
如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。