【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")
作者:yzhyingcool
博客:https://www.cnblogs.com/yzhyingcool/
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· winform 绘制太阳,地球,月球 运作规律
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
2017-05-28 未能加载文件或程序集“file:///D:/Program Files (x86)/ArcGIS/DeveloperKit10.0/DotNet/ESRI.ArcGIS.3DAnalyst.dll”或它的某一个依赖项。试图加载格式不正确的程序。 行 129,位置 5。
2014-05-28 ArcMap运行时出现Runtime Error错误的解决方案