ArcGIS Python拱形面
# -*- coding: utf-8 -*- #by gisoracle 2021.01.23 import arcpy import math #保存数据 def Save(polygon,rows): row = rows.newRow() #row.setValue(shapefieldname,featureList) row.shape=polygon rows.insertRow(row) del row x=500000 y=0 r=200.0 pi=3.1415926 outFeature=arcpy.GetParameterAsText(0) array = arcpy.Array() #point = arcpy.Point() for i in range(0,180): x1=x+r*math.cos(i*pi/180) Z=r*math.sin(i*pi/180) point = arcpy.Point(x1,y,Z)
#point.X=x1 #point.Y=y #point.Z=Z arcpy.AddMessage("Z="+str(Z)) array.add(point) y=300 for i in range(180,0,-1): x1=x+r*math.cos(i*pi/180) Z=r*math.sin(i*pi/180) point = arcpy.Point(x1,y,Z) #point.X=x1 #point.Y=y #point.Z=Z array.add(point) arcpy.AddMessage("Z=" + str(Z)) rows = arcpy.InsertCursor(outFeature) polygon = arcpy.Polygon(array,None,True) Save(polygon, rows) polygon = None
# -*- coding: utf-8 -*- #by gisoracle 2021.01.23 import arcpy import math #保存数据 def Save(polygon,rows): row = rows.newRow() #row.setValue(shapefieldname,featureList) row.shape=polygon rows.insertRow(row) del row x=500000 y1=0 r=200.0 pi=3.1415926 outFeature=arcpy.GetParameterAsText(0) array = arcpy.Array() #point = arcpy.Point() for i in range(0,181): x1=x+r*math.cos(i*pi/180) Z=r*math.sin(i*pi/180) point = arcpy.Point(x1,y1,Z) #point.X=x1 #point.Y=y #point.Z=Z #arcpy.AddMessage("Z="+str(Z)) array.add(point) y2=300 for i in range(180,-1,-1): x1=x+r*math.cos(i*pi/180) Z=r*math.sin(i*pi/180) point = arcpy.Point(x1,y2,Z) #point.X=x1 #point.Y=y #point.Z=Z array.add(point) #arcpy.AddMessage("Z=" + str(Z)) rows = arcpy.InsertCursor(outFeature) polygon = arcpy.Polygon(array,None,True) Save(polygon, rows) #下面底面 array.removeAll() p1 = arcpy.Point(x-r, y1, 0) array.add(p1) p1 = arcpy.Point(x+r, y1, 0) array.add(p1) p1 = arcpy.Point(x+r, y2, 0) array.add(p1) p1 = arcpy.Point(x-r, y2, 0) array.add(p1) polygon = arcpy.Polygon(array,None,True) Save(polygon, rows) #外侧面 array.removeAll() for i in range(0,181): x1=x+r*math.cos(i*pi/180) Z=-r*math.sin(i*pi/180) point = arcpy.Point(x1,y1,Z) arcpy.AddMessage(u"Z==="+str(Z)) array.add(point) for i in range(180,-1,-1): x1=x+r*math.cos(i*pi/180) Z=-r*math.sin(i*pi/180) point = arcpy.Point(x1,y2,Z) array.add(point) arcpy.AddMessage(u"Z===" + str(Z)) rows = arcpy.InsertCursor(outFeature) polygon = arcpy.Polygon(array,None,True) Save(polygon, rows) polygon = None
修改后代码
# -*- coding: utf-8 -*- #by gisoracle 2021.01.23 import arcpy import math #保存数据 def Save(polygon,rows): row = rows.newRow() #row.setValue(shapefieldname,featureList) row.shape=polygon rows.insertRow(row) del row x=500000 y1=500 r=200.0 pi=3.1415926 basicz=500 outFeature=arcpy.GetParameterAsText(0) array = arcpy.Array() #point = arcpy.Point() for i in range(0,181): x1=x+r*math.cos(i*pi/180) Z=basicz+r*math.sin(i*pi/180) point = arcpy.Point(x1,y1,Z) #point.X=x1 #point.Y=y #point.Z=Z #arcpy.AddMessage("Z="+str(Z)) array.add(point) y2=800 for i in range(180,-1,-1): x1=x+r*math.cos(i*pi/180) Z=basicz+r*math.sin(i*pi/180) point = arcpy.Point(x1,y2,Z) #point.X=x1 #point.Y=y #point.Z=Z array.add(point) #arcpy.AddMessage("Z=" + str(Z)) rows = arcpy.InsertCursor(outFeature) polygon = arcpy.Polygon(array,None,True) Save(polygon, rows) #下面底面 array.removeAll() p1 = arcpy.Point(x-r, y1, basicz) array.add(p1) p1 = arcpy.Point(x+r, y1, basicz) array.add(p1) p1 = arcpy.Point(x+r, y2, basicz) array.add(p1) p1 = arcpy.Point(x-r, y2, basicz) array.add(p1) polygon = arcpy.Polygon(array,None,True) Save(polygon, rows) #外侧面 array.removeAll() for i in range(0,181): x1=x+r*math.cos(i*pi/180) Z=basicz+-r*math.sin(i*pi/180) point = arcpy.Point(x1,y1,Z) arcpy.AddMessage(u"Z==="+str(Z)) array.add(point) for i in range(180,-1,-1): x1=x+r*math.cos(i*pi/180) Z=basicz+-r*math.sin(i*pi/180) point = arcpy.Point(x1,y2,Z) array.add(point) arcpy.AddMessage(u"Z===" + str(Z)) rows = arcpy.InsertCursor(outFeature) polygon = arcpy.Polygon(array,None,True) Save(polygon, rows) polygon = None
【推荐】国内首个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编程运行原理
2018-01-25 Access2007中如何运行SQL执行SQl语句