ArcGis Python腳本——根據字段內容拆分要素類(shp)為多個


插個廣告,制作ArcGIS的Tool工具學習下面的教程就對了:
零基礎學習Python制作ArcGIS自定義工具觀看鏈接
《零基礎學習Python制作ArcGIS自定義工具》課程簡介

 

其實,這就是批量執行了ArcToolbox 分析工具-篩選 功能。

先上代碼,后做解說:

# in_feature:待拆分要素類
# out_folderpath:輸出路徑,注意最后加“/”以與字段名拼接出輸出文件路徑
# split_field:拆分標准字段
import arcpy
in_feature="C:/Users/yang/Desktop/中國行政區矢量圖/省級行政區域.shp"
out_folderpath="C:/Users/yang/Desktop/1/"
split_field="NAME"
field_data_list=[]
#code source: https://www.cnblogs.com/yzhyingcool/ QQ:975601416
with arcpy.da.SearchCursor(in_feature,split_field) as cursor:
  
for row in cursor:
    
if row[0] not in field_data_list:  
      field_data_list.append(row[0])
  
for select_data in field_data_list:
    arcpy.Select_analysis(in_feature,out_folderpath
+select_data+'.shp',split_field+"="+"'"+select_data+"'")

①該腳本實現把“省級行政區域”按“NAME”字段拆分成多個圖層;

②該腳本只需要在變量聲明時修改注釋中寫明的3個參數。

③主要使用函數 arcpy.Select_analysis 實現拆分功能,其語法如下:

Select_analysis (in_features, out_feature_class, {where_clause})

參數

說明

數據類型

in_features

從中選擇要素的輸入要素類或圖層。

Feature Layer

out_feature_class

要創建的輸出要素類。如果不使用任何表達式,則其中將包含所有輸入要素。

Feature Class

where_clause

(可選)

用於選擇要素子集的 SQL 表達式。有關 SQL 語法的詳細信息,請參閱幫助主題 在查詢表達式中使用的元素的 SQL 參考

SQL Expression


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM