最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會員登陸 & 注冊

使用arcpy進行批量的空間連接

2021-07-01 23:39 作者:常陳一  | 我要投稿

目標(biāo):批量統(tǒng)計每個面要素上各個面上各個類型點的數(shù)量


研究單元和數(shù)據(jù)示例

如果使用空間連接工具進行一個一個處理,那枯燥且漫長。如果使用模型構(gòu)建器(只允許一個迭代)或者批處理又無法達(dá)到把空間連接的結(jié)果都在一個表上顯示出來。所以使用arcpy?

思路:遍歷每一類點數(shù)據(jù),并與研究單元圖層taz進行空間連接,將結(jié)果放到中間圖層test中,然后刪除原研究單元,最后將test拷貝為taz,隨后刪除test。接下來處理字段,因為空間連接輸出的計算字段名默認(rèn)為Join_count,為防止后續(xù)迭代同名的沖突,新建一個字段存放此結(jié)果。此處新建的字段名為當(dāng)前進行空間連接的點數(shù)據(jù)類型名,使用字段計算器將值將Join_count中的值放入該字段后,刪除Join_count。這樣就完成了一個類型點數(shù)據(jù)的統(tǒng)計,接下來就是反復(fù)迭代直至最后。

注:以上數(shù)據(jù)均存儲在一個文件地理數(shù)據(jù)庫中,采用的arcpy3 ,arcgis pro的python包

初始工作:導(dǎo)入包,設(shè)置工作空間和變量

# POI統(tǒng)計.py
# Created on: 2021-06-27 10:28:59.00000
# ? (generated by ArcGIS/ModelBuilder)
# Description: 
# ---------------------------------------------------------------------------

# Import arcpy module
import arcpy
from arcpy.arcobjects.arcobjects import Field



# Local variables:

arcpy.env.workspace="G:\\功能區(qū)提取\\POI\\三級類\\POI數(shù)據(jù)庫.gdb"
arcpy.env.overwriteOutput = True
featurename="TAZ"

運行主體:

fcs = arcpy.ListFeatureClasses(feature_type='Point')

for fc in fcs:

 ? ?print(fc)
 ? ?# Process: 空間連接
 ? ?fieldmappings = arcpy.FieldMappings()
 ? ?fieldmappings.addTable(featurename)
 ? ?arcpy.SpatialJoin_analysis(featurename, fc, 'test', "JOIN_ONE_TO_ONE", "KEEP_ALL",fieldmappings, "INTERSECT")

 ? ?#刪除上一次的目標(biāo)要素featurename
 ? ?arcpy.DeleteFeatures_management(featurename)
 ? ? ? ?
 ? ?#拷貝這一次的輸出要素,重新設(shè)定featurename
 ? ?arcpy.CopyFeatures_management('test',featurename)

 ? ?#獲取featurename字段名
 ? ?# fieldName = []
 ? ?# fields = arcpy.ListFields(featurename)
 ? ?# for field in fields:
 ? ?# ? ? fieldName.append(field.name)
 ? ?# print(fieldName)

 ? ?# 刪除這一次的輸出
 ? ?arcpy.DeleteFeatures_management('test')

 ? ?# 刪除多余的字段
 ? ?arcpy.DeleteField_management(in_table=featurename,drop_field=['INTERSECT','TARGET_FID'])[0]

 ? ?# 增加計數(shù)字段,設(shè)定為圖層名
 ? ?arcpy.AddField_management(featurename,fc,'LONG')[0]

 ? ?# Process: 計算字段 (計算字段) 
 ? ?arcpy.CalculateField_management(in_table=featurename, field=fc, expression="!Join_Count!", expression_type="PYTHON3", code_block="", field_type="TEXT")[0]

 ? ?# 刪除join_count字段
 ? ?arcpy.DeleteField_management(in_table=featurename,drop_field=['Join_Count'])[0]

 ? ? #明確當(dāng)前處理過程
 ? ?print('當(dāng)前處理完{}圖層'.format(fc))

運行結(jié)果:



使用arcpy進行批量的空間連接的評論 (共 條)

分享到微博請遵守國家法律
奉节县| 五莲县| 建阳市| 瑞丽市| 宜兰市| 剑川县| 平安县| 沐川县| 碌曲县| 平乐县| 巫溪县| 大荔县| 浪卡子县| 丁青县| 弥渡县| 甘孜| 田阳县| 华坪县| 九寨沟县| 江阴市| 呼图壁县| 滕州市| 临夏县| 上犹县| 吴堡县| 乌兰察布市| 三门峡市| 潜山县| 曲靖市| 东明县| 孟州市| 穆棱市| 玛曲县| 甘洛县| 永修县| 普格县| 博兴县| 哈尔滨市| 雷州市| 太原市| 汉寿县|