提升效率!ArcGIS中创建脚本工具

在我们日常使用的ArcGIS中已经自带了很多功能强大的工具,但有时候遇到个人的特殊情况还是无法满足,这时就可以试着创建自定义脚本工具。

一、编写代码

此处的代码就是一个很简单的给图层更改别名的代码。

复制代码
1. import arcpy  2. input_fc = arcpy.GetParameterAsText(0)  3. input_fcName = arcpy.GetParameterAsText(1)  4. def Change():  5.     arcpy.AlterAliasName(input_fc,input_fcName)  6. if __name__=="__main__":  7.     Change()

代码中【arcpy.GetParameterAsText】是为了以文本字符串的形式获取指定参数的;【arcpy.AlterAliasName】是用来更新输入要素别名的。

在ArcMap中打开【Python】,在其中将上面的代码输入进去,右键空白处,选择【另存为】,将其存储为【.py】格式的文件。

也可以将在记事本中输入代码并保存后将其后缀名更改为【.py】。

二、新建工具箱

在开始菜单栏中,【ArcGIS】文件夹内找到【ArcCatalog】并打开。

在系统自带的【我的工具箱】内新建【工具箱】,用于存放自定义脚本工具。

三、添加脚本工具

在新建的【工具箱】内【添加】【脚本】。

在第一页可以设置工具【名称】与【标签】,【名称】最好用英文,以免后续报错,【标签】则是我们在使用工具时,对话框左上角所显示的文字。

在第二页需要添加编写好的代码文件,也就是后缀为【.py】的文件。

在第三页需要添加该工具的参数,否则的话,我们在使用脚本工具时就会显示【此工具没有参数】。

此处设置三个参数,分别是【输入要素】、【输入别名】以及【输出要素】,参数的【数据类型】如图所示。【参数属性】中【类型】的选项有三个,分别为【Required】、【Optional】、【Derived】,指的时【必填】、【选填】、【派生】;【方向】分为【Input】与【Output】,指的是【输入】与【输出】;【输入要素】与【输入别名】的【参数属性】使用默认选项即可。

由于该工具无需输出一个新的图层,所以【输出要素】参数直接从【输入要素】参数派生即可,需要进行的操作为:将【输出要素】参数的【参数属性】中【类型】更改为【Derived】,【方向】设置为【Output】,【获取自】设置为【输入要素】。

工具界面如图所示。

相关推荐
喆星时瑜8 小时前
ArcGIS Pro 基础制图教程
arcgis·arcgis pro·地图制图·arcgis pro 制图
玩大数据的龙威4 天前
农经权二轮延包—固定比例尺不定图幅的公示图批量生成
python·arcgis·二轮延包公示图
非科班Java出身GISer14 天前
ArcGIS JS 基础教程(38):StreamLayer 实时流数据图层
arcgis·arcgis js·arcgis js 流图层·streamlayer·arcgis 流数据图层·arcgis 实时流数据图层
赵钰老师15 天前
基于ArcGIS Pro、R、INVEST等多技术融合下生态系统服务权衡与协同动态分析
python·arcgis·数据分析·r语言
梦想的初衷~16 天前
MaxEnt 物种分布建模学习手册|理论 + R 语言 + ArcGIS 全套实操教程
arcgis·环境变量·r 语言·maxent 模型·物种分布建模·生态学研究·科研教程
jiushidt21 天前
ArcGIS Pro Add‑in 打包流程详解
arcgis·c#·.net·arcgispro
蓝悦无人机21 天前
《地面站软件开发》-第2章ArcGIS Maps SDK for Qt 改变视角
arcgis·上位机·地面站·qml·qt6·qt quick·天地图
bug嘛我经常写22 天前
MIKE21结合ArcGIS制作随时间变化的降水文件(.dfs2)-笔记
经验分享·笔记·arcgis
paiooo23 天前
用 XML 保存 LLM 会话得到高可读性会话
arcgis
Q一件事23 天前
ArcGIS中TypeError: can‘t multiply sequence by non-int of type ‘str‘错误
前端·javascript·arcgis