ArcGisPro脚本工具【0】——制作你的第一个脚本工具

本系列以ArcGisPro2.8为例。Pro的脚本采用的python版本是3.X,相比于ArcGis10.X采用的python2.X,有了很大的进步,尤其是对中文字符的支持,可以避免很多奇怪的bug。个人水平有限,经不起python2.X的折腾,故而投入ArcGisPro的怀抱。另一方面,ArcGis10.X早晚要淘汰,学习ArcGisPro也是未来的方向。

混进有

新建一个新的脚本工具

这里示例制作简单的一个脚本工具,功能是实现【更改要素的别名】。流程如下:

1、在目录视图下新建一个工具箱。

2、右键点击【新建】——【脚本】

脚本参数设置

一、常规

新建脚本需要设置参数。如下图,在【常规】里需要设置【名称、标注和脚本文件位置】。

1、【名称】:即脚本名,在别的代码里如果要调取这个工具时,就需要用到它。目前暂时用不到,可随意取名。

2、【标注】:在工具箱里可以看到的名字。

3、【脚本文件】:要读取的python文件的位置。这是重点,一会我们要新建和编辑的python文件就是这个。

二、参数

在【参数】里可以添加你想要的参数。在这个例子中,需要输入一个要素,所以添加了一个参数【要素类】。

在参数数据类型的下拉框里包含了绝大多数你需要的类型,可自行选择。

数据还可以选择【多个值】和【值表】,前者有时会用到,后者比较少用。但是本案例都不会用到,这里不多做介绍。

标注和名称可自行填写,标注决定了该工具打开时,参数前面的标注文字,所以尽量写上人看得懂的文字。

类型分为【必填、选填和已派生】,如字面意思,如果是【必填】,在使用工具时,这个参数就必须填写。如果是【选填】,就可以空着。如果是【已派生】,则表示这个参数派生于另一个参数。在这个案例中,要素类改名后,工具仍然需要输出一个结果,这个结果就是输入要素本身,因此就可以设置一个【已派生】的输出参数,在【依赖关系】的下拉框里选择【输入要素类】即可。

方向分为【输入、输出】,如上图所示,要输入的要素类方向即为【输入】,结果的输出要素类方向为【输出】,如字面意思,应该比较好理解。

最后,因为要给要素类更改一个新的别名,需要输入一个【字符串】参数,可以直接拖动参数,调整它们的位置,位置关系到脚本里读取它们的顺序,如下图:

如此参数就设置好了,点击确定。再双击打开新建的工具,结果如下:

输出参数因为是【已派生】的,不需要填写,因此在工具里是不会显示的。参数的标文字前带有红色星号表明是【必选】。

脚本编写

参数设置完毕后,就可以新建、编写一个python脚本。上面参数中填写脚本文件时其实是没法填写的,需要在相应位置先新建一个python文件。

python编辑器我用的是pycharm。

打开后输入如下代码:

# -*- coding:utf-8 -*-
import arcpy

fc = arcpy.GetParameterAsText(0)        # 输入要素类【读取的是第1个参数】
fcName = arcpy.GetParameterAsText(1)    # 输入新的要素别名【读取的是第2个参数】


# 更改新别名
def Change():
    # 调用系统自带的更名方法
    arcpy.AlterAliasName(fc, fcName)

# 执行主程序
if __name__=="__main__":
    Change()

内容比较简单,先通过arcpy.GetParameterAsText()读取输入的参数,这里的数字就代表了工具参数的位置【从0开始】。

接着调用了一个arcpy自带的一个AlterAliasName方法,给要素改了个别名。

TIPS

  1. arcpy.GetParameterAsText()读取的结果是字符串类型。
  2. 脚本中第一行的:# -*- coding:utf-8 -*- 在这里也可以不加,保险起见还是加上了。
  3. 参数设置里的【数据类型】非常之多,可以好好看一看。
  4. 参数设置里的【过滤器】可以设置要输入的参数的【类型、后缀名等】,挺有用的

工具下载

最后,贴上这个案例工具的下载地址。工具下载:更改要素别名https://pan.baidu.com/s/1UNhoWWr7svH-ftzIGHZWyw?pwd=cc02

  • 1
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

规划GIS会

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值