免费视频|新人指南|投诉删帖|广告合作|地信网APP下载

查看: 1597|回复: 11
收起左侧

ArcGIS Python编程案例-创建自定义地理处理工具

[复制链接]

665

主题

2万

铜板

34

好友

传奇会员

Rank: 30Rank: 30Rank: 30Rank: 30Rank: 30Rank: 30Rank: 30Rank: 30

积分
20649

精华勋章爱心勋章地信专家组贡献勋章冰雪节勋章

发表于 2021-1-18 14:29 | 显示全部楼层 |阅读模式
背景

除了能够在脚本中执行所有可用的工具(ArcGIS桌面软件提供了800多个地理处理工具,这些工具都可以在Python脚本中使用),你还可以在脚本中调用自己创建的自定义工具。许多自定义工具来专门用于执行组织机构内特定需求的地理处理任务。而且这些工具也很方便共享。

目的

将脚本添加到ArcToolbox下的自定义工具箱中创建自定义地理处理脚本工具。

案例

将使用一个已编写好的Python脚本,该脚本会从一个逗号分隔符文本文件中读取野外火情数据,之后将数据转为一个FireIncidents的点要素文件。

具体实现

1、创建工具箱。在ArcMap中创建一个空白的地图文档并打开ArcToolbox窗口,右键单击ArcToolbox内的任何空白位置,选择添加工具箱(Add Toolbox),在Add Toolbox对话框中,点击New Toolbox按钮。系统会创建一个Toolbox.tbx的工具箱,在下一步中你可以重命名该工具箱。

原理

几乎所有的脚本都带有参数,用户需要在工具对话框中提供所需的参数值。工具执行时,参数值传递给脚本。脚本读取这些参数值后在进行处理。Python脚本可以将参数作为输入值。参数可以让脚本接受动态参数值。通过指定脚本的输入参数,你就可以在脚本运行时再获取参数值。这一功能让脚本变得更为灵活。
GetParameterAsText()函数用于获取输入参数值,该函数从零值开始索引参数在参数列表中的位置,即第一个参数占据索引位置0。每一个后续参数索引值递增加1。输出要素类是通过读取逗号分隔符文本文件来创建并将其赋值给变量outputFC,该参数通过GetParameterAsText(0)语句获取。

使用语句GetParameterAsText(1),我们获取了作为输出要素类属性模板的一个要素类参数。该模板要素类中的字段将会用于定义输出要素类中的字段。

最后GetParameterAsText(2)语句会创建一个变量f,该变量用于保存要读取的逗号分隔符文本文件。

案例数据

链接:https://pan.baidu.com/s/1JEeJbTZRglWaCbK_eAnr-A 密码:d02l

参考资料:

http://zhihu.esrichina.com.cn/article/3317


本文转载来自CSDN作者:gislaozhang  版权归作者所有

原文链接:https://blog.csdn.net/gislaozhang/article/details/80690090

4

主题

4313

铜板

6

好友

高级工程师

Rank: 9Rank: 9Rank: 9

积分
906
发表于 2021-4-13 17:35 | 显示全部楼层
学习学习
回复

使用道具 举报

9

主题

1万

铜板

7

好友

教授级高工

Rank: 12Rank: 12Rank: 12

积分
1428
发表于 2021-4-26 21:05 | 显示全部楼层
地信论坛的发展离不开您的支持!
回复 支持 反对

使用道具 举报

3

主题

6093

铜板

6

好友

至尊VIP

Rank: 24Rank: 24Rank: 24Rank: 24Rank: 24Rank: 24

积分
892
发表于 2021-12-4 19:55 | 显示全部楼层
值得学习借鉴
回复 支持 反对

使用道具 举报

0

主题

297

铜板

1

好友

技术员

Rank: 3Rank: 3

积分
24
发表于 2021-12-6 06:49 | 显示全部楼层
学习学习
回复

使用道具 举报

0

主题

1万

铜板

2

好友

地信院士

Rank: 15Rank: 15Rank: 15Rank: 15Rank: 15

积分
2543
发表于 2021-12-16 10:39 | 显示全部楼层
感谢分享,支持
回复 支持 反对

使用道具 举报

2

主题

3万

铜板

6

好友

钻石会员

Rank: 26Rank: 26Rank: 26Rank: 26Rank: 26Rank: 26Rank: 26

积分
5687
发表于 2021-12-19 09:11 | 显示全部楼层
谢谢分享
回复

使用道具 举报

2

主题

3万

铜板

6

好友

钻石会员

Rank: 26Rank: 26Rank: 26Rank: 26Rank: 26Rank: 26Rank: 26

积分
5687
发表于 2021-12-19 09:12 | 显示全部楼层
谢谢分享
回复

使用道具 举报

15

主题

1万

铜板

15

好友

地信院士

Rank: 15Rank: 15Rank: 15Rank: 15Rank: 15

积分
2011

宣传勋章爱心勋章地信元老灌水勋章荣誉会员勋章活跃勋章地信专家组VIP勋章贡献勋章成就学员勋章

发表于 2023-1-11 08:37 | 显示全部楼层
感谢分享,支持
回复 支持 反对

使用道具 举报

33

主题

3万

铜板

19

好友

钻石会员

Rank: 26Rank: 26Rank: 26Rank: 26Rank: 26Rank: 26Rank: 26

积分
7467

活跃勋章

发表于 2023-1-27 11:14 手机频道 | 显示全部楼层
谢谢分享
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

在线客服
快速回复 返回顶部 返回列表