本系列以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 arcpyfc = 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

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

  1. java手机网站开发工具_制作网站常用的网页开发工具有哪些

    我们要想制作好网站其实是离不开网站代码的HTML,我们在制作网站的时候是需要用到一些常用的网页开发工具,才能完成我们网页的编写,那么,你知道制作网站常用的网页开发工具有哪些吗?不清楚的话,下面小编和你 ...

  2. java 网页开发工具_制作网站常用的网页开发工具有哪些

    我们要想制作好网站其实是离不开网站代码的HTML,我们在制作网站的时候是需要用到一些常用的网页开发工具,才能完成我们网页的编写,那么,你知道制作网站常用的网页开发工具有哪些吗?不清楚的话,下面小编和你 ...

  3. shell脚本 简介 及 第一个脚本程序

    文章目录 什么是 shell脚本 shell脚本优点 第一个脚本的编写与执行 编写第一个脚本 执行脚本 什么是 shell脚本 shell 脚本就是利用 shell 的功能所写的一个程序( progr ...

  4. 如何使用Cocos2d-x 3.0制作基于tilemap的游戏:第一部分

    程序截图: 本教程将会教大家如何使用Cocos2d-x来做一个基于tile地图的游戏,当然还有Tiled地图编辑器.(我们小时候玩的小霸王小学机里面的游戏,大部分都是基于tile地图的游戏,如坦克大战 ...

  5. 国内H5页面制作工具评测,iH5排第一

    当前,H5页面制作工具的各种排行榜与评测文章花样百出.各执一词,却都没有明确依据.国内的大多评测与利益集团密切相关,说白了是抬高自有品牌.贬低竞品的工具,因此本文尽量通过可量化的指标,保证评测结果的可 ...

  6. Linux ARM交叉编译工具链制作过程

    一.下载源文件 源代码文件及其版本与下载地址: Binutils-2.19.tar.bz2 http://ftp.gnu.org/gnu/binutils/ gcc-4.4.4.tar.bz2 htt ...

  7. 【移植Linux 3.4.2内核第三步】从0制作支持新内核的文件系统

    学习交流加 个人qq: 1126137994 个人微信: liu1126137994 学习交流资源分享qq群: 962535112 上一篇文章,我们修改了内核代码改了系统的分区,但是最后启动,发现虽然 ...

  8. 制定交叉编译工具_制作交叉编译工具链的方法总结(详细)

    网上这类文章比较多,但是都不是很具体,刚好有门课结课论文要写这个,所以就总结了一下.以下的过程都是在ubuntu7.10上实际运行过的. 手工制作交叉编译工具 在制作工具开始前先要选好所需要的Binu ...

  9. arcgis python工具-使用python制作ArcGIS插件(1)工具介绍

    使用python制作ArcGIS插件(1)工具介绍 by 李远祥 ArcGIS从10.0开始支持addin(ArcGIS软件中又叫作加载项)的方式进行插件制作.相对于以往9.x系列,addin的无论是 ...

最新文章

  1. Python 面向对象 基础
  2. 用Python进行SQLite数据库操作
  3. DBA(四):数据读写分离,MySQL多实例操作
  4. 《Adobe Illustrator CC 2014中文版经典教程(彩色版)》目录—导读
  5. python二分法求方程的根_Python查找函数f(x)=0根的解决方法
  6. 如何在Java 8中使用filter()方法
  7. CDZSC_2015寒假新人(1)——基础 i
  8. CentOS远程监控
  9. 用 50 年前 NASA 送阿波罗上天的计算机挖矿是什么体验?
  10. JWT跨域身份验证解决方案
  11. 旋度的散度为零证明_(大牛分享)实列讲解:Python Sympy计算梯度、散度和旋度...
  12. Maven项目添加ojdbc8
  13. 居家隔离的第5天,我们整了个六边形战士
  14. 轻度体验威马Living Pilot智行辅助系统:前期刺激,后期依赖
  15. ubuntu20.04 安装Dukto
  16. 【https】 1 HTTP Security (bb102-1)
  17. 在VMware上搭建iPhone开发环境(转)
  18. Directx11进阶教程PBR(3)之IBL
  19. 怎么清除火狐浏览器的cookie?
  20. MATLAB在线文档打不开,怎么解决

热门文章

  1. 一文详解层次聚类(Python代码)
  2. 深入了解3D模型相关知识(建模、材质贴图、UV、法线),置换贴图、凹凸贴图与法线贴图的区别
  3. 倒计时 2 天 | 年前不学习,年后无加薪!区块链开发者们不要纠结了!(内含赠票福利)...
  4. Python之图像处理 ——小点的去除
  5. python年龄计算器_使用python的while语句,编写简单门票与年龄计算器
  6. ssh-keygen生成git ssh密钥
  7. 阿里云mysql数据备份恢复数据到本地mysql(备份+binlog)
  8. 苹果 python蚂蚁森林自动收能量_用Python实现定时自动化收取蚂蚁森林能量,再也不用担心忘记收取了...
  9. 福玛特机器人评测_慧眼识屋 福玛特北极星D700扫地机器人评测
  10. tp5不启用伪静态_TP5URL重写伪静态