问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501
你好,欢迎来到懂视!登录注册
当前位置: 首页 - 正文

Arcgis Engine二次开发用python可以吗?

发布网友 发布时间:2022-04-18 14:02

我来回答

1个回答

热心网友 时间:2022-04-18 15:31

1.自定义工具箱是什么
就像名字一样,自定义工具箱是由个人创建的工具箱,就像下面这样,可以理解成一个 .tbx 后缀的压缩包,每一个工具箱中都可以添加多个工具集、脚本工具甚至模型构建器工具。
一大堆工具箱
1.1如何添加自定义工具箱(熟悉可跳过)
第一步:右键点击 ArcToolbox -> 添加工具箱
第二步:在打开的添加工具箱窗口中选中需要添加的工具,然后点击右下角的打开即可。
添加工具箱到 Arcmap
1.2如何创建自定义工具箱
点击右上角的红色工具箱符号,可以新建并重命名一个工具箱。
我们这里新创建了一个海怪工具箱,用于之后的教程演示。
新建工具箱
1.3添加一个脚本工具
新创建的工具箱就像一个大箱子,箱子呢是用来装工具的,你可以直接在工具箱中右键,然后点击添加,再点击脚本,进而创建一个脚本工具;
亦或是右键,点击新建,再点击工具集,创建一个可以自定义名称的工具集,然后在工具集里新建一个脚本工具。
这里添加的脚本工具只是一个空壳,我们后面会继续完善。
新建的工具箱位于 ../Chapter7/海怪工具箱.tbx。
2.工具箱的封装
工具箱由三部分组成,其中有两部分需要我们来控制:
一是输入界面:确定工具箱输入界面的参数定义和设置;

二是 Python 源代码:功能的实现,为 .py 后缀的脚本文件;
三是对参数行为提供额外控制的可选验证代码,其位于工具箱中(这部分自带,基本上不用修改)。
所以下面的重点就是输入界面和 Python 源代码。
2.1工具箱输入界面

工具箱输入界面,或者说图形交互界面(GUI),就像下面的几张图一样,从该界面我们可以控制工具的行为,自定义输入界面然后配合 Python 脚本,可以实现多种客制化的功能。
简单来说,你可以认为输入界面是依托于 Arcmap 的“前端”,脚本代码就是负责运行的“后端”。

导入导出工具:

为方便演示,制作一个非常简单的工具箱,它的功能呢就是把输入的要素类(数据库或者 shp )再导出来而已,是完全没有用的导入导出功能啦,不过作为演示还是非常不错的。
制作完成后的导入导出工具的界面
第一步:
在工具箱中,右键点击添加,再点击脚本,然后修改名称,修改成你想要的名字,勾选存储相对路径名,然后点击下一页。
修改名称
第二步:
然后添加脚本文件,添加该脚本文件 ../Chapter7/toolscript/input_and_output.py,读者可以在最后的下载包中找到该文件。
然后点击下一页。
链接python脚本
第三步:
控制用户交互界面。ArcGIS 在这里内置了一整套简单但是实用的图形控件,比如输入菜单、下拉框、多选框、单选等,借由这些图形控件我们可以控制脚本工具的图形交互界面。
我们这里使用的脚本功能非常简单,上面也有说到:输入一个矢量要素类,不做任何处理,然后输出一个矢量要素类。
为了匹配这个脚本,我们需要设置一个输入图层的控件,同时为了能顺利的输出,也需要一个输出图层的控件,注意一个是输入一个是输出。
从下图可以看到,左边(左边的橙色框)是显示名称,其中输入输出控件的名称以及输入控件的名称,这里命名为输入要素和输出要素;然后在右边(右边的橙色框)的数据类型下拉框中,我们选择要素图层,这里只能做选择,不能任意输入。
设置名称和数据类型
那么输入输出是如何区分的呢?
选中输入要素(变成蓝色),然后可以看到下方(下方橙色框)的参数属性设置选项卡,这里可以对参数进行调整。

参数选项
① 类型:有三种,一般只会用到 Required 和 Optional,表示必须和可选,用于控制参数是否可以忽略不填;
② 方向: 两种,Input 和 Output,表示输入和输出,大部分情况都是使用 Input 来获得参数,Output 用于获得最后的成果数据,像是矢量、栅格或者图表;
③ 多值:Yes 或者 No,用于输入多个相同类型的数据,工具打开后就是下面这样,在输入要素中可输入多个要素类;
④ 默认:设置一个控件的默认值,直接输入即可。可配合多值一同使用,使用 ; (英文的分号)分开,
结果如下,可以看到一打开该工具就已经填充上了预设的多个默认值(报错是因为数据类型不是要素图层);
⑤ 环境:工具箱的环境设置,比如掩膜、容差范围、默认数据库位置等,一般不预先设置;
⑥ 过滤器:选择文件类型可以在选择文件时只显示特定格式的文件;
⑦ 获取自:指定数据的获取源。这是个什么意思呢?比如我们想要获取图层A的某个字段,获取源就是图层A。
以下面这种图作为例子,新增名为字段的控件(上方的橙色框),数据类型也是字段,然后参数属性中获取自选择输入要素(下方橙色框)。
设置字段控件
点击完成后,打开脚本工具。在输入要素框中选择一个图层,然后再点击获取字段,如下就可以选择图层中的字段了。
获取图层的字段
⑧ 符号系统:在最下面还有一个符号系统,通常只能作用于输出的矢量图层(方向:Output),可为输出图层指定设置好的 lyr 文件样式。
设置符号系统
第四步:
点击右下方的完成,那么脚本工具的输入界面就完成了。

2.2 Python 脚本

工具箱输入界面和 Python 代码要相互配合才行,工具箱界面中的输入、输出以及各种各样的参数,在 Python 脚本文件中都得一一对应上,将输入界面中的各个参数传给 Python 脚本,这样才能让 Python 脚本按照预期的效果正常运行。
看上去有点麻烦,但实际上 arcpy 中提供了现成的函数就可以直接获得参数。
①参数对接(获取)

至于如何对接参数,我们使用刚刚的那个脚本文件举例:

../Chapter7/toolscript/input_and_output.py

# -*- coding:utf-8 -*-

import arcpy

#▶1◀

input_lyr = arcpy.GetParameterAsText(0)

output = arcpy.GetParameterAsText(1)
if __name__ == '__main__':

lyr = arcpy.mapping.Layer(input_lyr)
arcpy.CopyFeatures_management(lyr, output)
▶1◀:arcpy 提供了 GetParameterAsText(index) 函数,该函数根据输入界面的排序号码获得指定的参数。比如 GetParameterAsText(0) 获得的就是输入图层参数, GetParameterAsText(1) 获得的就是第二个参数,也就是输出图层参数。
如果有更多参数,以此类推。
②参数对接中应该注意的情况
GetParameterAsText(index) 从输入界面获得的参数都会转变成字符串,没错都是字符串。
如果你只是输入输出地址这种,那么没有问题,因为地址本来就是字符串,但是如果你设置了一个选择长度范围的长整型的控件、亦或是某种布尔值选择,最后输入到 python 脚本这里都会变成字符串。
整数变成字符串,使用 int(str) 规避;
布尔型变成字符串,True 变成了 "True",False 变成了 "False",这样就不能判断真假了,需要写一个判断语句或者随便你,方法很多;
还有就是一个输入控件多值的情况,所有值根据先后连接成一个字符串,中间由 、(英文分号)间隔,可以使用 split 函数分开;
Arcgis Engine二次开发用python可以吗?

2.2 Python 脚本 工具箱输入界面和 Python 代码要相互配合才行,工具箱界面中的输入、输出以及各种各样的参数,在 Python 脚本文件中都得一一对应上,将输入界面中的各个参数传给 Python 脚本,这样才能让 Python 脚本按照预期的效果正常运行。看上去有点麻烦,但实际上 arcpy 中提供了现成的函数就可以...

搜罗全网!ArcGIS二次开发Python(arcpy)指南(三):三大文件对象操作_百度...

通过本章节的学习,深入理解了地图文档、数据框、图层对象的操作与应用,这些知识对于ArcGIS二次开发Python (arcpy)是不可或缺的。掌握这些技能,将为您的GIS项目带来更高效、灵活的处理能力。收藏本章节内容,未来遇到相关问题时,可随时查阅,助力您的GIS学习与实践。

搜罗全网!ArcGIS二次开发Python(arcpy)指南(四): 工作空间 设置好...

可以通过`arcpy.Delete_management`方法清理内存空间。综上所述,正确理解并有效利用当前工作空间、临时工作空间和内存空间,对于优化ArcPy和ArcGIS的编程流程至关重要。掌握这些空间的使用技巧,能够显著提高工作效率,减少错误,并简化数据管理和路径管理。

arcgisengine有必要吗

是的。1、桌面软件很强大,数据分析很全面。2、可视化也很强大,二维三维都可以采用相应的桌面软件可视化,另外可以增加时间维制作动画,形成真正的四维数据。3、二次开发也很强大,可以采用python语言编写数据处理插件,c#做组件式开发,也可以做web开发。等等 4、ArcGIS产品线为用户提供一个可伸缩的,全面...

ArcGIS通过Python程序脚本新建工具箱与自定义工具的方法

在ArcGIS中,利用Python脚本创建新的工具箱并添加自定义工具的过程相当直观。首先,打开ArcMap的“ArcToolbox”,右键点击空白处并选择“Add Toolbox”,然后新建一个工具箱(.tbx文件)。你可以重命名并调整其属性,包括别名和描述信息,以便于理解工具的用途。接下来,将Python脚本导入工具箱是关键步骤。

ArcGIS入门之-字段计算器的自定义函数(python版)

在ArcGIS中,字段计算器是数据处理的强大工具。它允许用户对属性表字段进行赋值或复杂的运算,支持Python和VBScript编程。在表视图中,你可以找到这个功能,选择需要计算的字段,选择Python或VB作为编程语言,然后在公式编辑框中编写或利用预设函数进行操作。然而,系统预设的函数可能无法满足所有需求。例如,如果...

如何进行arcgispython批处理?

在ArcMap中,使用Python脚本建立新工具箱进行批处理地理处理操作,实现自动化地理信息处理。首先打开“ArcToolbox”,然后在空白处右键,选择“Add Toolbox”,新建工具箱,如意外操作,列表可能显示多个工具箱。在“ArcToolbox”中找到并右键新建立的工具箱,选择“Rename”重命名,进行工具箱属性调整时,...

【ArcGIS教程】ArcPython(1)——PyCharm安装与环境配置

安装完成,可通过【帮助】→【注册】检查是否成功。第二步:配置中文环境 打开【文件】→【设置】,在【插件功能】中搜索并安装【chinese】中文包。重启PyCharm,中文设置即可切换。第三步:配置ArcGIS环境 创建工程文件,配置编译器为ArcGIS自带的Python27下面的python.exe。选择【纯Python】选项,设置保存...

gis开发需要学哪些

1. 编程语言:GIS开发涉及的编程语言主要有Python、C++、Java等,这些语言在GIS开发中广泛使用,用于编写脚本、处理空间数据和进行二次开发等。2. GIS软件操作:如ArcGIS、MapGIS等。掌握这些软件的操作能有助于开发人员更好地理解GIS数据结构和处理流程,提高开发效率。了解软件内嵌的编程接口和方法库对...

arcgis Python describe用法

直接输入就行了,比如输入print('HELLO')然后回车两次。这个不适合编写复杂的东西,可以说这个功能几乎没用,最好用ide编译完之后在调用比较好。

声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。
E-MAIL:11247931@qq.com
打篮球的时候怎样才能增强自己的突破? 打篮球时,怎样才能提高突破的速度,进入三秒区得分??? 如何创建别人无法打开又无法删除的文件夹? 怎么才能创建一个别人无法打开、无法删除的文件夹? 如何创建并管理无法删除或打开的“bug文件夹”? 我19岁,女,请问青黑色黑眼圈怎么去除?我是因为大半年都在熬夜引起的,是... 改编文学作品可以申请著作权吗? 哪里可以申请著作权保护 新人写书去哪个网站最好啊 ...然后现在两个网站的编辑都和我签约,哪个网站好呢? 谁有苏教版小学六年级数学(上)法制知识渗透点? 教师对学生进行法律教育工作总结怎么写?1500字 学好了PS还需要学什么软件? 什么时候适合种桃树? 粤语歌有动人新生这几个字的歌? 娃娃的《我生》 歌词 能不能推荐几首适合大学新生在开学初唱的英文歌啊? 桃树在几月份播种 给暗恋的男生什么备注好啊 让圣洁的天空 为新生的梦蕴含着感动 歌词 是哪首歌啊?幸福在一起里 女孩喜欢一个男孩对男孩的备注有哪些 有一首英文歌,大概意思是新生婴儿就像是 初升的太阳什么的? 集团实际减值额怎么计算 求 张学友 一生一火花 歌词 政策性融资担保机构会为煤炭企业提供担保吗,最好有案例,十分感谢 求中国新生代<superbaby>歌词 被冻结了怎样解冻 我们迎着初生的太阳,走前进在大路上,是什么歌 建行的私人银行卡是吗 远山摇白新苇葱青 一勾凉月初生 什么歌 查找陌生人的没有朋友圈选项是怎么回事? 不是对方好友 搜索对方添加朋友时 对方朋友圈没有显示入口是怎么回事? 锦鲤长大会变色吗 锦鲤颜色怎么样搭配 根据自己爱好搭配 请问锦鲤身上的颜色变淡了是怎么回事? excel2013四合一绿色版安装不了 谁有Excel破解版能免费使用绿色无毒的。 我喜欢用免安装绿色版的OFFICE,但上网时,网页上导出EXCEL时提示“无法启用EXCEL或未安装EXCEL,如何解决? 在哪可以下载Excel OFFICE管理工具,要单个文件的绿色版,可自由导进WORD,EXCEL等,且导进WORD,EXCEL等后WORD等格式不变。 超强excel文件恢复软件 v4.0 官方绿色版注册吗 哪位有Excel汇总专家 v5.0 绿色破解版,真正能用的,好使的。 垃圾处理器选购技巧? 十大排名的垃圾处理器选购要注意什么? 垃圾处理器选购要注重哪些?有排名吗? 垃圾处理器该如果选购?有十大排名吗? 请问选购厨房垃圾处理器应该注意什么? 垃圾处理器品牌太多如何选择? 垃圾处理器应该怎么选呢? 梦见病重的母亲死了?
  • 焦点

最新推荐

猜你喜欢

热门推荐