ArcGIS Pro 简明教程(4)工具和模型构建器
by 李远祥
工具箱中的工具
ArcGIS Pro 在1.3版本基本上已经继承了ArcMap的所有工具,而且会不断加入一些它自身才有的工具,例如适量切边工具等。可以看出,Esri现在已经逐步的将ArcMap的功能向ArcGIS Pro转移,并且不断的丰富和完善ArcGIS Pro。
那么,ArcGIS Pro 的工具调用是怎样呢?调用的方式也是比较类似,在标签页上选择【分析】标签,点击【工具】,就会打开【地理处理】面板。面板默认是加载最近使用和使用频率最高的几个工具,如果想打开整个ToolBox,则需要再点击【工具箱】,就可以看到所有的工具了。如下图所示
双击可以调出某个工具,在【地理处理】面板中会弹出工具的一些输入输出参数,默认是参数标签,【环境】方面,则以标签的方式在旁边显示,如下图:
参数设置好后,点击右下角的【运行】按钮,就会在后台运行这个工具。从设置中可以看到,其工具输出的参数,默认是存放到这个工程的自带的GDB中的。当然,输出的路径也是可以进行人工修改。执行【运行】之后,会直接在面板的最下方显示运行的状态和最终执行的一些记录信息。
ArcMap的工具帮助是非常贴心的,可以在工具的底部的【显示帮助】--【打开帮助】,就会自动跳转到对应的工具帮助中。而且点击工具的每一个参数,都会有这个工具的一些简要说明,如下图
ArcGIS Pro则是另一种方式,工具打开的时候,会在每个参数的最左手边有个标识符号,鼠标悬停或者点击这个标识符号就会弹出这个参数的一些说明,如下图
如果要查看这个工具的具体操作帮助和原理,则点击工具最上方的问号图标。但默认弹出来的是联网帮助,默认也是最新版本的Pro帮助。这一点则跟微软的开发工具非常类似。但如果需要使用某个版本的ArcGIS Pro帮助或是没有网络的情况下,希望使用本地的帮助,那则需要单独安装和独立设置。ArcGIS Pro的帮助不像ArcMap的默认安装,最起码目前看到的几个版本,Pro的帮助是单独安装,而且安装完成后需要在Pro的【选项】中单独设置,如下图,在【选项】--【常规】--【帮助系统】中,设置为【计算机的离线帮助】。
这样,在工具点击帮助之后,可以直接弹出的是本地的帮助文件,如下图
ArcGIS Pro的帮助结构跟ArcMap的大同小异,很快就会习惯。在帮助中,同样可以看到每个工具的ArcPy调用方法和样例,这样可以表明,在工具使用方面,基本上没有变化,之前自定义的脚本工具和模型,都可以拿来即用。
模型构建器
由于工具的架构上没有任何的变化,那么基本上可以肯定,通过模型构建器构建的模型以及自定义脚本都是可以直接继承过来并使用。
下图就是直接从ArcMap制作的模型,不做任何的修改,在Pro中打开。可以看到能够直接加载进来。
ArcGIS Pro的模型构建器在功能上没有什么改动,主要是界面上变得相对漂亮,流程中使用了一些半透明的效果,相对来说,ArcMap就变得古朴了。同时在模型构建器也是没有了菜单式设计,只要是选中了模型构建器的标签页,会在Ribbon界面中将最常用的功能罗列出来。下图是新建的一个模型,可以看到Ribbon界面的一些微妙变化。
在最顶上的【模型构建器】标签上罗列了最常用的功能,如属性、环境还有各种工具内嵌的工具,最贴心的还是底部的缩放条,跟Office的高版本一样,通过鼠标滚轮可以实现整个设计图的缩放,在具有非常多的工具放置之后,这个是查看方式比之前的好很多。
将工具拖拽到设计区,工具会呈现为灰色显示,双击可以弹出工具的参数面板,可以在上面设置参数。设置完成后,点击确定,就可以完成这个工具的设置。Pro加入了一些特殊的效果,在确定之前如果点击一下设计区域空白的地方或者点击另一个工具的时候,工具面板就会自动隐藏起来,那就可以进行其他的操作。这比ArcMap上的要人性化很多。在ArcMap上是需要点击关闭掉当前打开的工具才可以继续操作的。
连线工具不需要再点击其他的按钮,默认在一些变量上拉线就可以。
自动布局功能也做了改进,只要点击【自动布局】,会按照当前设计器面板的大小进行全图显示,类似地图操作的全图一样,可以一眼看到所有的工具调用。
模型构建器中也加入了另一个贴心功能,就是【组】。当多个工具并串联起来的时候,通过拖框选中,右键可以将其组合起来,类似powerPoint的组一样,建立组之后会有一个黄色框显示,这样就可以对多个工具进行统一的设置了,如位置的拖拽等,如下图所示
也可以在选中组之后将这部分的流程另存为单独的模型
ArcGIS Pro 中不支持交互绘制和输入元素或记录。如果您的其中一个模型参数有要素集或记录集数据类型,您将能够从内容或数据集路径选择现有层。也就是说,以前如果使用了交互式操作的模型(一般表现为要素集),在Pro中是不支持,Esri的官方说法是建议新建一个图层,事前将这些要输入的参数写入到数据中,将要素集变成要素类来处理。这一点让人遗憾。
还有一点就是自定义的脚本工具,一般情况下都是支持的,但从原理上应该还是有很多不支持。首先ArcGIS10.x系列都是使用Python2.x,而ArcGIS Pro却是使用Python3.x,从Python语言的本质来看,从2.x到3.x存在不少兼容的问题。但Esri也是给出了一些折中的办法。如果 正在对代码执行从 Python 2 到 Python 3 的单向转换,可以使用 2to3 命令行实用程序自动执行大部分的过程。该实用程序对于 Python 2 和 3 均可用,并且位于类似 C:\Python34\Tools\Scripts\2to3.py 的路径中。要特别注意的是,2to3 虽然是极佳的工具,但是它并不是完整的解决方案(有时估计为 95% 有效的解决方案),并且可能有必要对其进行其他更改。
ArcPy模块在Pro中也有一些变动,其中最大变动就是arcpy.mapping,不知道什么原因,esri直接将其重命名为arcpy.mp ,这样导致所有与arcpy.mapping 相关的脚本工具都需要修改。还有的是大多数地理处理工具将继续在 ArcGIS Pro 中可用,然而,有一些将无法使用。以下列出一些ArcPy不能调用的工具:
ArcGIS Pro 中不可用的工具箱
以下工具箱及其中包含的所有工具在 ArcGIS Pro 中均不可用。这些工具箱和工具在其他 ArcGIS for Desktop 应用程序上依然可用。
- Coverage 工具
- Data Interoperability 工具
- 宗地结构工具
- Schematics 工具
- Tracking Analyst 工具
除了以上工具箱中所包含的工具,还有各种工具箱中的许多工具不可用于 ArcGIS Pro。已按工具箱将其列于下方,您会在其他 ArcGIS for Desktop 应用程序中找到它们。这些工具在其他 ArcGIS for Desktop 应用程序上依然可用。
3D Analyst 工具
- 导出为 3D Web 场景
- 含障碍的样条函数
制图工具
- 添加制图表达
- 计算相邻字段
- 计算*经线和纬线
- 计算格网收敛角
- 计算制图表达规则
- 计算 UTM 带
- 提取中心线
- 等值线注记
- 创建天桥
- 创建地下通道
- 删除格网和经纬网
- 检测图形冲突
- 删除制图表达
- 建立格网和经纬网图层
- 地图服务器缓存切片方案转换为面
- 传递位移
- 移除覆盖
- 解决建筑物冲突
- 解决道路冲突
- 根据覆盖选择要素
- 设置图层制图表达
- 相交处设置控制点
- 按角度设置控制点
- 带状地图索引要素
- 切片标注转注记
- 更新覆盖
转换工具
- CAD 至地理数据库
- Esri 元数据转换程序
- 导出元数据
- 批量导出元数据
- 要素类转 Coverage
- 导入 CAD 注记
- 导入 Coverage 注记
- 从 E00 导入
- 导入元数据
- 地图转 KML
- 元数据导入程序
- 元数据发布程序
- PDF 转 TIFF
- 栅格转视频
- 同步元数据
- 升级元数据
- USGS MP 元数据转换程序
- 验证元数据
- 批量验证元数据
- XML 模式验证
- XSLT 变换
数据管理工具
- 向几何网络中添加边-边连通性规则
- 向几何网络中添加边-交汇点连通性规则
- 向拓扑中添加要素类
- 向拓扑中添加规则
- 追加注记要素类
- 比较复本方案
- 合并结果
- 复制栅格目录项
- 创建 ArcInfo 工作空间
- 创建 ArcSDE 连接文件
- 创建几何网络
- 创建个人地理数据库
- 创建栅格目录
- 创建复本
- 创建复本轮廓线
- 从服务器创建复本
- 创建运行时内容
- 创建空间类型
- 创建拓扑
- 删除栅格目录项
- 导出确认消息
- 导出数据变更消息
- 导出栅格目录项
- 导出栅格目录路径
- 导出复本方案
- 导出拓扑错误
- 查找几何网络中断开的要素
- 导入消息
- 导入复本方案
- 生成图表
- 创建栅格目录图层
- 重新构建几何网络
- 从几何网络中移除连通性规则
- 从几何网络中移除空要素类
- 从拓扑中移除要素类
- 移除拓扑规则
- 修复栅格目录路径
- 重新导出未确认的消息
- 保存图表
- 设置拓扑容差
- 设置流向
- 共享包
- 同步更改
- 追踪几何网络
- 更新注记要素类
- 拓扑验证
- 验证和修复几何网络连通性
- 工作空间转栅格目录
Network Analyst 工具
- 查找最近设施点
- 查找路径
- 生成服务区
- 创建车辆配送图层
- 求解位置分配
- 求解车辆配送
- 更新交通数据
- 更新交通事件
服务器工具
- 转换地图服务器缓存存储格式
- 创建地图服务器缓存
- 删除 Globe 服务器缓存
- 删除地图服务器缓存
- 导出地图服务器缓存
- 导出 Web 地图
- 导入地图服务器缓存
- 管理 Globe 服务器缓存切片
- 管理地图服务器缓存比例
- 管理地图服务器缓存状态
- MXD 转 Web 地图
- 登录门户
- 登出门户
Spatial Analyst 工具
- 含障碍的样条函数
目前的1.3版本,还有一些数据格式是不支持的,其中包括:栅格目录、几何网络、拓扑、逻辑示意图数据集、地理数据库服务器、ArcMap 文档模板、ArcReader 文档、图表、切片地图包以及个人地理数据库。不清楚在后续版本是否会继续支持下去。笔记大概估计了下,应该还会支持上述的少数吧。
总结
由此可见,ArcGIS Pro在虽然集成了绝大部分的工具,模型构建器的使用也是优化了不少,但由于彻底抛弃Python2.x ,因此带来了ArcPy的一些兼容性问题。不过从ArcPy的使用范围在国内的情况来看,影响不算大,基本上就是一些科研单位的居多。从ArcMap切换到ArcGIS Pro,问题应该不会太多了,毕竟有太多的优点放在那里。