点击箭头处“蓝色字”,关注我们哦!!
arcpy学习
这次我们来学习一下,关于为polygon面计算几何中心,我们指定这个中心为点对象,然后将polygon中所具有的属性一起赋值给这些点对象,最后创建相应的shapefile数据。在这个例子中,将会用到字段的创建,要素创建,游标的创建。
首先我们做一份数据,如下图所示。由几个polygon组成,相应的我们为每个polygon面要素添加属性字段,以及一些对应的值。
来看一下编码,首先是读取polygon要素,使用字段、游标来读取每个记录的属性。最后创建要素。
1#encoding: utf-8
2import arcpy,os
3featuresList = []
4in_polygon=r"C:\Users\qin\Desktop\zxy\test.shp"
5polygon_fields = ['SHAPE@TRUECENTROID', 'NAME', 'NUM', 'ADDRESS']
6with arcpy.da.SearchCursor(in_polygon, polygon_fields) as cursor:
7 for row in cursor:
8 # 将数据添加到集合中去
9 featuresList.append([row[0], row[1], row[2], row[3]])
10 # 结束循环
11
12fc_name = 'Point_Layer'
13output_location = r'D:\Data\test.gdb'
14sr = arcpy.SpatialReference(4326)
15
16arcpy.CreateFeatureclass_management(output_location,fc_name,'POINT',spatial_reference=sr)
17point_layer = os.path.join(output_location,fc_name)
18arcpy.AddField_management(point_layer,'NAME','TEXT')
19arcpy.AddField_management(point_layer,'NUM','SHORT')
20arcpy.AddField_management(point_layer,'ADDRESS','TEXT')
21point_fields = ['SHAPE@XY', 'NAME', 'NUM', 'ADDRESS']
22
23with arcpy.da.InsertCursor(point_layer, point_fields) as cursor:
24 for record in featuresList:
25 cursor.insertRow(record)
26print "哈哈,完成了啊"
好了,我们来看一下最后成果。每个面对应一个点。
推荐阅读● ArcGIS开发&计算polyline的起点和结束点
● ArcGIS开发&gdb、shapefile创建与投影定义,字段创建
● ArcGIS开发&三调锐角检测工具
● ArcGIS开发&读取shapefile文件信息,并写入txt文件
● ArcGIS开发&基于Apose.Cells的属性表分类统计实现
● ArcGIS开发&面要素的创建
● arcpy开发&实现对面和线要素端点的统计
● arcpy开发&关于arcgis中的api arcpy.Describe
● arcpy开发&实现对面和线要素端点的统计
● 利用arcpy实现对要素shapefile数据的字段数据值空和空白的统计
● 利用arcpy实现shapefile文件导出.csv文件
● 【ArcGIS制图】&ArcGIS Catalog目录误删了文件怎么办
● 【ArcGIS制图】&加载mdb数据不显示图形
● 【ArcGIS制图】&空间索引
欢迎加入arcpy开发qq学习群:487352121
做一个gis公众号
长按并关注我们
测绘科技