【arcpy】創建點、線、面(孔洞、環、多部件)要素、要素類


創建點要素、要素類

#coding=utf-8
import arcpy

# 點並非幾何類,但通常用於構造幾何。PointGeometry是幾何。
point=arcpy.Point(10,10)
point_Geometry=arcpy.PointGeometry(point)

# 調用創建要素類工具創建一個 點要素類
point_featureClass=arcpy.CreateFeatureclass_management(r'E:\3 coding\py code\arcpy\create\point','point.shp','POINT')

# 使用arcpy.da.InsertCursor類插入新創建的 點要素 到 點要素類
insertCursor = arcpy.da.InsertCursor(point_featureClass, ['Shape@'])
insertCursor.insertRow([point_Geometry])

del insertCursor

創建線要素、要素類

#coding=utf-8
import arcpy

points=[[0,0],[0,10],[10,10],[10,0]]

# 組成Path的Array對象
path=arcpy.Array([arcpy.Point(*p) for p in points])

# 通過path(Array)創建Polyline對象
line_Geometry=arcpy.Polyline(path)

# 調用創建要素類工具創建一個 線要素類
polyline_featureClass=arcpy.CreateFeatureclass_management(r'E:\3 coding\py code\arcpy\create\polyline','polyline.shp','POLYLINE')

# 使用arcpy.da.InsertCursor類插入新創建的 點要素 到 點要素類
insertCursor = arcpy.da.InsertCursor(polyline_featureClass, ['Shape@'])
insertCursor.insertRow([line_Geometry])

del insertCursor

創建簡單面要素、要素類

#coding=utf-8
import arcpy
# 環的組成點集合
points=[[0,0],[0,10],[10,10],[10,0],[0,0]]

# 組成環的Array對象
ring=arcpy.Array([arcpy.Point(*p) for p in points])

# 創建features列表,用於存放要素,在內存
features=[]
# 通過ring(Array)創建Polygon對象
# 將Polygon要素添加到features列表
features.append(arcpy.Polygon(ring))

# 調用復制要素工具,將內存中的features列表創建為shapefile
arcpy.CopyFeatures_management(features, r"E:\3 coding\py code\arcpy\create\polygon\polygon.shp")

創建多部件面要素、要素類

創建一個多環面。

內環的點可以是逆時針,也可以是順時針的,在創建面的時候arcpy會自動處理拓撲,創建多環面。

#coding=utf-8
import arcpy
# 3個環的組成點集合
points1=[[0,0],[0,10],[10,10],[10,0],[0,0]]
points2=[[2,2],[2,8],[8,8],[8,2],[2,2]]
points3=[[4,4],[4,6],[6,6],[6,4],[4,4]]

# 3個環的Array對象
ring1=arcpy.Array([arcpy.Point(*p) for p in points1])
ring2=arcpy.Array([arcpy.Point(*p) for p in points2])
ring3=arcpy.Array([arcpy.Point(*p) for p in points3])

# 創建features列表,用於存放要素,在內存
features=[]
# 通過Array組成的Array創建Polygon對象
# 將Polygon要素添加到features列表
features.append(arcpy.Polygon(arcpy.Array([ring1,ring2,ring3])))

# 調用復制要素工具,將內存中的features列表創建為shapefile
arcpy.CopyFeatures_management(features, r"E:\3 coding\py code\arcpy\create\polygon\polygon_multiPart.shp")

 


免責聲明!

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



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