统计
  • 文章总数:662 篇
  • 评论总数:0 条
  • 分类总数:13 个
  • 最后更新:2月17日

如何在ArcGIS中创建自定义地理处理工具

本文阅读 2 分钟
首页 ArcGIS 正文

本文以线状地物宽度赋值的脚本为例,试说明在ArcGIS中如何创建自定义地理处理工具。

功能:对于线状面要素,如道路,实现自动赋宽度。
环境:Win10+ArcGIS10.2

在ArcMap中,打开ArcToolbox工具箱,空白区域右击鼠标,“添加工具箱”,如图新建工具箱,命名为“线状地物宽度”

选择工具箱打开,则会添加在工具箱列表中,选中右击【添加】——【脚本】,如图所示:

【下一步】添加XZDWKD.py脚本

【下一步】,如下窗口中直接写输入数据,即在原数据中增加新字段形式显示结果。

这就OK了,随便找个数据试一下
结果可以看到,运行完成后,即在原始数据中新增的一列”XZDWKD“。

原理概述:
这里先提供脚本
1#Featurelayerpath
2InputFeature=arcpy.GetParameterAsText(0)
3
4arcpy.AddMessage("------------------------------------------------------")
5arcpy.AddMessage("Ifyouencounterdifficulties,pleasesendanemailtozhangyhcumt@163.com")
6arcpy.AddMessage("------------------------------------------------------")
7
8#Createthreenewfields
9arcpy.AddField_management(InputFeature,"MJ","DOUBLE")
10arcpy.AddField_management(InputFeature,"ZC","DOUBLE")
11arcpy.AddField_management(InputFeature,"XZDWKD","DOUBLE")
12
13
14arcpy.AddMessage("Step1NewField")
15
16
17#Fieldscalculation
18arcpy.CalculateField_management(InputFeature,"MJ","!Shape.area!","PYTHON_9.3")
19arcpy.CalculateField_management(InputFeature,"ZC","!Shape.length!","PYTHON_9.3")
20arcpy.CalculateField_management(InputFeature,"XZDWKD","!ZC!/4-math.sqrt(!ZC!*!ZC!/16-!MJ!)","PYTHON_9.3")
21
22
23arcpy.AddMessage("Step2Fieldcalculation")
24
25
26arcpy.DeleteField_management(InputFeature,"MJ")
27arcpy.DeleteField_management(InputFeature,"ZC")
28
29arcpy.AddMessage("Step3Successful")
30arcpy.AddMessage("------------------------------------------------------")

GetParameterAsText:用来将参数列表中的索引位置以文本字符串的形式获取指定参数
AddField_management:新建字段,周长和面积
CalculateField_management:计算新增字段的值
DeleteField_management:可以将过程字段删除

本文来自投稿,不代表本站立场,如若转载,请注明出处:
利用ArcGIS Pro进行遥感影像房屋变化检测
下一篇 » 03-12