arcpy提取符合gis条件的面要素的质心,并创建点状要素类,写入某些字段值:
#encoding: utf-8
import arcpy,os
featuresList = []
in_polygon=r"C:\Users\YDB\Desktop\zxy\test.shp"
polygon_fields = ['SHAPE@TRUECENTROID', 'NAME', 'NUM', 'ADDRESS']
with arcpy.da.SearchCursor(in_polygon, polygon_fields) as cursor:
for row in cursor:
# 将数据添加到集合中去
featuresList.append([row[0], row[1], row[2], row[3]])
# 结束循环
fc_name = 'Point_Layer'
output_location = r'D:\Data\test.gdb'
sr = arcpy.SpatialReference(4326)
arcpy.CreateFeatureclass_management(output_location,fc_name,'POINT',spatial_reference=sr)
point_layer = os.path.join(output_location,fc_name)
arcpy.AddField_management(point_layer,'NAME','TEXT')
arcpy.AddField_management(point_layer,'NUM','SHORT')
arcpy.AddField_management(point_layer,'ADDRESS','TEXT')
point_fields = ['SHAPE@XY', 'NAME', 'NUM', 'ADDRESS']
with arcpy.da.InsertCursor(point_layer, point_fields) as cursor:
for record in featuresList:
cursor.insertRow(record)
print "挑选并写入完成!"