资源简介
在ARCMAP里面检查多边形的锐角工具,只做检查,不做修改。
代码片段和文件信息
# 在使用过程中如有疑问请发邮件至ryx_32@126.com声明:该软件仅限中测新图内部使用,请勿用于商业用途,否则后果自负!!!
# ---------------------------------------------------------------------------
class Feature_No():
pass
import sys string osmath arcgisscripting
gp = arcgisscripting.create(9.3)
gp.SetProduct(“ArcInfo“)
input_poly = gp.GetParameterAsText(0)
angle_min = long(gp.GetParameterAsText(1))
try:
gp.Addmessage(“***********************************************“)
gp.AddMessage(“本工具由中测新图(北京)遥感技术有限责任公司 任延旭编制“)
gp.AddMessage(“使用前请做好数据备份,工具产生的不良后果请自行承担!“)
gp.Addmessage(“***********************************************“)
result = gp.GetCount_management(input_poly )
count_n = int(result.GetOutput(0))
if count_n <= 0:
raise Feature_No
str_Err = ““
if len(gp.ListFields(input_poly“Angle_chk“)) <=0:
gp.AddField_management(input_poly “Angle_chk“ “TEXT“ ““ ““ 255)
str_Err = ““
cur = gp.UpdateCursor(input_poly““““““““)
row = cur.next()
gp.SetProgressor(“step“ “正在检查图形锐角...“ 0count_n 1)
angle_rj = 0
angle_cf = 0
num = 0
while row:
num += 1
gp.SetProgressorLabel(“共有“ +str(count_n)+“个图形正在检查第“ + str(num) + “个图形的夹角还剩余“+str(count_n-num+1)+“个请稍候...“)
shapeName = gp.Describe(input_poly).shapeFieldName
geom = row.getValue(shapeName)
part_count = geom.partCount
count = 0
while count < part_count:
p = geom.getPart(count)
p_b = p.next()
p_S = p_b
p1 = p_b
p2 = p.next()
p3 = p.next()
p_2 = p2
while p3:
x1 = round(p1.X3)
y1 = round(p1.Y3)
x2 = round(p2.X3)
y2 = round(p2.Y3)
x3 = round(p3.X3)
y3 = round(p3.Y3)
if (math.fabs(x1-x2)<0.5 and math.fabs(x2-x3)<0.5) or (math.fabs(y1-y2)<0.5 and math.fabs(y2-y3)<0.5):
jiao = -1
else:
l1 = math.sqrt((x2-x3)*(x2-x3)+(y2-y3)*(y2-y3))
l2 = math.sqrt((x1-x3)*(x1-x3)+(y1-y3)*(y1-y3))
l3 = math.sqrt((x2-x1)*(x2-x1)+(y2-y1)*(y2-y1))
if l1==0 or l2==0 or l3==0:
angle_cf += 1
else:
cj = (l1*l1+l3*l3-l2*l2)/(2*l1*l3)
jiao = math.cos(angle_min*3.1415926/180)
if cj >= jiao:
angle_rj += 1
p1 = p2
p2 = p3
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 536604 2012-11-06 15:19 使用说明.pdf
文件 5596 2012-11-06 16:50 jianjiao_check.py
文件 6656 2012-11-05 10:27 锐角检查工具.tbx
----------- --------- ---------- ----- ----
548856 3
- 上一篇:51单片机上的PWM产生各种波形程序,分别由汇编和C编写
- 下一篇:电子烟小烟源代码
相关资源
- 插件式GIS应用框架的设计与实现&mda
- 中国工具——gis插件
- ArcGiS手把手教程三——配准和矢
- arcgis_workstation地址
- ArcGIS_ArcInfo_9.3_Workstation_DVD_BT
- 全国耕地质量大数据平台
- arcpy语法教程入门以及ArcGIS的脚本构建
- ArcGis 编辑过程自动保存插件
- ArcGIS10.3 AfCore.dll重要破解文件
- 广东电子地图.rar
- 基于ArcGIS Engine的三维校园路灯管理系
- 全国省级市级县级矢量地图数据
- 完整的中国矢量地图gis数据
- 中国省市县ArcGIS地图数据(县边界线
- 中国ArcGIS数据
- ArcGIS10服务器未运行的最佳解决办法
- ArcGIS可打开并使用的世界地图
- ArcGIS空间分析基本操作
- 长江经济带shp.zip
- arcgis批量出图
- ArcGIS超级工具1.7.exe
- ArcGIS-温度划分梯度.pdf
- ArcGIS全套图标4000+
- 汤国安arcgis教程
- 山东省矢量图
- 第八届全国大学生GIS应用技能大赛比
- ARCGIS直接调用百度、天地图地图服务
- 1:20万和1:5万接图表,ArcGIS矢量文件
- 河南省水系绿地矢量数据
- 湖北省县市 行政区矢量图
评论
共有 条评论