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

查看: 3280|回复: 22
收起左侧

在ArcGIS中创建Python工具(一)

    [复制链接]

665

主题

2万

铜板

34

好友

传奇会员

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

积分
20649

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

发表于 2021-1-12 14:16 | 显示全部楼层 |阅读模式

ArcGIS Desktop 自带有大量的工具,可以执行各种各样的地理处理任务。通过 python 我们可以灵活地调用这些工具,把工具组织成自己的工作流,甚至创建一些新的工具。今天就说说在 ArcGIS 中创建 Python工具这个话题。


在 ArcGIS 中我们可以通过两种方式来创建python工具:

1610431806(1).jpg

到这里,可能你会有和我一样的疑问,二者有什么 区别

第一种脚本工具需要我们首先在 ArcGIS 环境中创建一个工具箱,然后添加 Python脚本文件(*.py),并通过向导来精确配置参数。这种工具很适合脚本工具的初学者,通过前面说的三步就可以搭建出一个自定义工具。但是这种模式也有一些缺点,工具箱和源脚本是分离的,我们很难集中的去管理和维护它们。

相比于前者的难以集中管理的缺点,第二种的Python工具箱就体现出了它的优势。在 Python 工具箱中,参数定义、代码验证和源代码都在同一位置进行处理,因此Python 工具的创建和维护更加容易。此外,Python 工具箱支持脚本工具不支持的功能,例如值表、复合数据类型和自定义许可检查。

Python 工具箱是在 ArcGIS 10.1 之后的版本出现的。如果你熟悉 Python,就可以充分利用所掌握的 Python 技能来创建 Python 工具箱。


下面是一些更加具体的对比列表:
[td]

自定义工具箱
Python 工具箱
组织
自定义工具箱中的脚本工具被组织成以下三个部分:
  • 通过向导定义的工具和参数定义。
  • 对参数行为提供额外控制的可选验证代码,其位于工具箱中。
  • 在单独的文件中为每个工具维护的源代码,通常作为 Python 脚本 (.py)。
Python 工具箱是一个具有 .pyt 扩展名的 Python 脚本,其包含工具箱及其工具的所有方面:参数、验证和执行。通过以下 Python 类实现:一个类用于工具箱,一个类用于各工具。
编辑
可在任何编辑器中编辑源代码。
通过脚本工具向导编辑参数。
如果使用了验证代码,可在编辑器中通过向导编辑验证代码。
可在任何编辑器中编辑 Python 工具箱文件 (.pyt),而且可在同一位置编辑工具的所有部分(参数定义、验证代码和源代码)。
由于只能在编辑器中编辑 Python 工具箱,它们不支持在工具箱内或工具箱之间进行复制/粘贴。
使用其他工具
自定义工具箱支持各种工具类型,包括 Python 脚本工具、模型工具和内置工具(使用 ArcObjects 和 .NET 等编译型语言构建)。
Python 工具箱不直接支持其他工具类型;即,无法将模型工具或内置工具添加到 Python 工具箱中。但是,可在 Python 工具箱代码中调用其他工具箱的工具。
附加功能
n/a
Python 工具箱支持 isLicensed 方法,您可以根据设定的条件来控制工具的打开。
附加安全性
自定义工具箱中的脚本工具可以将其源代码嵌入工具箱中并使用密码锁定。
n/a



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

原文链接:https://blog.csdn.net/kikitaMoon/article/details/48134445



0

主题

1万

铜板

1

好友

教授级高工

Rank: 12Rank: 12Rank: 12

积分
1449
发表于 2021-1-20 15:52 | 显示全部楼层
Python工具(一):mg
回复 支持 反对

使用道具 举报

0

主题

399

铜板

1

好友

技术员

Rank: 3Rank: 3

积分
39
发表于 2021-3-16 16:01 | 显示全部楼层
感谢分享

回复

使用道具 举报

27

主题

1901

铜板

97

好友

高级工程师

Rank: 9Rank: 9Rank: 9

积分
729
发表于 2021-3-18 17:21 | 显示全部楼层
:ai:ai:ai
时光溜走了
回复

使用道具 举报

9

主题

1万

铜板

7

好友

教授级高工

Rank: 12Rank: 12Rank: 12

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

使用道具 举报

0

主题

1万

铜板

2

好友

地信院士

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

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

使用道具 举报

2

主题

4万

铜板

7

好友

钻石会员

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

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

使用道具 举报

10

主题

1万

铜板

21

好友

资深会员

Rank: 18Rank: 18Rank: 18Rank: 18Rank: 18

积分
3734
发表于 2022-1-21 12:31 | 显示全部楼层
谢谢分享
回复

使用道具 举报

15

主题

2万

铜板

42

好友

地信院士

努力加油

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

积分
2531

爱心勋章灌水勋章荣誉会员勋章活跃勋章贡献勋章成就学员勋章

发表于 2022-2-15 11:17 | 显示全部楼层
友情帮顶,期待高手
每天都在干活
回复 支持 反对

使用道具 举报

0

主题

1503

铜板

6

好友

工程师

Rank: 7Rank: 7Rank: 7

积分
472
发表于 2022-2-24 17:45 | 显示全部楼层
谢谢楼主分享,收藏+1
回复 支持 反对

使用道具 举报

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

本版积分规则

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