原文:
zh.annas-archive.org/md5/0aaebc13d922778a505faab0b650fee0译者:飞龙
使用地理处理工具进行分析
到目前为止,您已经了解到 ArcGIS Pro 拥有一些强大的工具来可视化和维护 GIS 数据。*但是关于分析这些信息呢?它可以帮助您识别需要联系的道路维修工程中的土地所有者,或者获取特定区域内的客户数量吗? ArcGIS Pro 拥有工具来帮助您回答这类问题以及更多。
通过在 ArcGIS Pro 中使用地理处理工具来回答这类问题。什么是地理处理? 简单来说,它是在 ArcGIS 中使用的数据的操作。地理处理工具可以分析数据,将数据从一种格式转换为另一种格式,向表中添加属性字段,或将数据从一种坐标系投影到另一种坐标系。在地理处理工具上能做的事情是无限的。
除了 ArcGIS Pro 中包含的工具外,您还可以购买扩展来增加软件的功能。地理处理框架还为您提供了使用 ModelBuilder、Python 和其他编程语言创建自定义工具的途径。您将在后面的章节中了解更多关于 ModelBuilder 和 Python 的内容。
在本章中,您将学习如何使用一些最常用的地理处理分析工具来执行空间和表格数据的简单 地理信息系统 (GIS) 分析。此外,您还将了解如何根据分配给您的许可级别和扩展确定可用的工具。随着您在本章中的学习,您将了解以下主题:
-
确定要使用的工具
-
理解分析过程
-
使用其他常见的地理处理工具进行分析
在您开始使用地理处理工具时,需要注意的一点是,其中大多数工具会创建新的数据。这意味着即使您选择了错误的工具或在工具中使用了错误的设置,在大多数情况下,您的原始数据是受到保护的。这提供了一定程度的保护,并有助于让您放心,因为错误操作损坏数据的风险大大降低。
第十三章:技术要求
为了完成本章的练习,您必须至少拥有 ArcGIS Pro 2.6 或更高版本。基本、标准或高级许可级别均可。
确定要使用的工具
有两个因素决定了在 ArcGIS Pro 中您将可以使用哪些地理处理工具。第一个是您的许可级别。第二个是您可能拥有的扩展。让我们来看看这两个项目及其对可用地理处理工具的影响。
在本节中,您将了解您的许可级别如何影响您可用的地理处理工具。您还将了解一些 ArcGIS Pro 的扩展以及它们如何增加分析能力。
理解许可级别
如果您还记得第一章中的内容,介绍 ArcGIS Pro,ArcGIS Pro 有三个不同的许可级别:
-
基础
-
标准
-
高级
您拥有的许可级别将直接影响您可访问的地理处理工具。
基础级别是最限制性的许可级别,具有最少的地理处理工具。在这个级别上,您将能够访问简单的分析工具,例如缓冲区、并集和交集。您将无法使用允许您在另一个图层中找到最近特征或擦除两个或多个图层之间重叠区域的工具。
标准级别在基础级别可用的所有工具之外还包含一些额外的地理处理工具。其中许多专注于数据管理和维护。例如,标准级别包括在地理数据库中创建关系类的地理处理工具。它还包括用于管理企业或工作组地理数据库的工具。最后,它包括创建和管理拓扑的工具,允许您根据应用规则验证或检查您的空间数据是否存在错误。
高级许可级别具有最多的地理处理工具。它包括基础和标准许可级别中找到的所有工具,以及更多的分析工具。高级许可将允许您定位到另一个特征最近的特征或计算点之间的距离。它还具有允许您擦除两个或多个图层之间重叠区域的工具,以及许多其他分析工具。
下表显示了 ArcGIS Pro 2.6 中基础和高级许可级别中找到的地理处理工具数量的比较。标准许可级别将介于基础和高级许可级别之间:
| 参数 | 基础 | 高级 |
|---|---|---|
| 分析 | 19 | 29 |
| 制图 | 11 | 41 |
| 转换 | 36 | 42 |
| 数据管理 | 210 | 346 |
| 编辑 | 0 | 17 |
| 地理编码 | 11 | 11 |
| 线性参照 | 7 | 7 |
| 多维 | 11 | 12 |
| 服务器 | 16 | 16 |
| 空间时间模式挖掘 | 9 | 9 |
| 空间统计 | 33 | 33 |
| 总计 | 363 | 563 |
除了可用的地理处理工具之外,每个许可级别还有其他限制。您应该检查 Esri 的 ArcGIS 桌面功能矩阵以查看许可级别之间的完整差异列表。ArcGIS Pro 将略有不同,因为并非所有在 ArcGIS for Desktop 中找到的功能都已移植到 ArcGIS Pro 中。您可以通过访问www.esri.com/content/dam/esrisites/en-us/media/brochures/arcgis-enterprise-functionality-matrix.pdf来查看功能矩阵。
许可证级别并不是影响您在 ArcGIS Pro 中执行分析可使用工具的唯一因素。Esri 还创建了几个扩展,提供了额外的分析工具。
在下一节中,我们将简要讨论 Esri 目前为 ArcGIS Pro 提供的扩展,以便您了解它们是什么以及它们是否可能对您有用。
了解 ArcGIS Pro 扩展
Esri 还为 ArcGIS Pro 提供了几个您可以购买的扩展。扩展是 ArcGIS Pro 核心产品的附加组件。它们为所有许可级别提供扩展功能。每个扩展都有一个专注于增加功能的功能区域,包括额外的地理处理工具。
目前为 ArcGIS Pro 开发了 19 个不同的扩展。截至版本 2.6,当前的 ArcGIS Pro 扩展包括以下内容:
-
空间分析器
-
3D Analyst
-
网络分析器
-
地理统计分析师
-
数据审查员
-
数据互操作性
-
图像分析器
-
定位 XT
-
位置引用
-
生产制图
-
发布者
-
工作流管理器
-
海事制图
-
国防制图
-
航空机场
-
航空图表
-
水深测量
-
商业分析师
-
StreetMap Premium
每个扩展的名称有助于识别其目的。例如,3D Analyst 扩展包括您可以在 3D 环境中创建和分析数据的工具。网络分析器扩展允许您在如道路网络等线性网络中进行分析,以计算服务区域或确定最短旅行路径或计算两点或多点之间的估计驾驶时间。
要使用前面列出的扩展,不仅需要购买它们,还必须在 ArcGIS Online 或 Portal for ArcGIS 中为用户分配许可证。在接下来的部分中,我们将快速查看前三个扩展——空间分析器、3D Analyst 和网络分析器,它们是最常用的。
空间分析器
空间分析器扩展用于使用基于栅格的数据执行空间分析。您可以使用空间分析器扩展执行以下操作:
-
使用数字高程模型(DEM)进行地形分析
-
计算坡度
-
确定视域
-
执行水文分析
-
对图像进行分类等等
空间分析器扩展包括超过 170 个地理处理工具,这些工具可以在与扩展同名的工具箱中找到:
从前面的屏幕截图可以看出,这些地理处理工具被组织在工具箱中的 21 个不同的工具集中。
3D Analyst
3D 分析师扩展允许你在 ArcGIS Pro 中处理和分析 3D 数据。它与空间分析师有许多共同工具。主要区别在于 3D 分析师旨在与 3D 向量数据一起工作,而不是栅格数据。它确实有一些创建和分析栅格数据的能力,但这不是它的强项。同时使用 3D 分析师和空间分析师扩展并不罕见。例如,你可能会使用 3D 向量数据,如高程等高线,并使用 3D 分析师创建 DEM,以便与空间分析师扩展进行进一步分析。
3D 分析师允许你处理许多 3D 数据集,包括不规则三角网(TIN)、光探测与测距激光(LiDAR LAS)数据集,以及在第八章“编辑空间和表格数据”中讨论的许多其他标准数据格式。如果你的数据没有与之相关联的高程或高度,3D 分析师可以将你的 2D 数据覆盖在表面上,然后使用该表面计算你的特征相对于覆盖表面的高程。
3D 分析师扩展包括超过 100 个地理处理工具,这些工具被分为 11 个工具集:
正如你在第四章“创建 3D 场景”中看到的,ArcGIS Pro 支持将 3D 数据作为其核心功能的一部分进行可视化。因此,你可能想知道为什么你需要 3D 分析师扩展。虽然可视化 3D 数据是 ArcGIS Pro 允许你使用任何许可级别直接执行的操作之一,但它并不允许你在 3D 中执行分析。如果你需要在 ArcGIS Pro 中确定诸如坡度或视线或生成数字高程模型(DEM)等事物,你必须拥有 3D 分析师扩展。
网络分析师
网络分析师扩展具有创建和分析网络数据集的工具。网络数据集是一组由节点连接的线性特征,这些节点允许双向流动。这意味着你可以在网络中的线条上沿任意方向移动。网络数据集通常与交通相关的网络相关联,如道路、铁路、人行道或自行车道。这些通常不用于公用事业,因为那些通常是单向流动网络。
使用网络分析师,你可以计算车辆的最佳路线,根据驾驶时间要求确定服务区域,在网络中查找最近的功能,等等。因此,你可能会使用此扩展来帮助根据现有消防站的驾驶时间覆盖范围定位新的消防站。
ArcGIS Pro 的网络分析师扩展目前包括 20 个地理处理工具,这些工具被组织成三个工具集:
如您从前面的截图中所见,工具的名称应该能帮助您理解它们的作用,并为您提供更多关于网络分析师扩展将允许您做什么的洞察。例如,创建服务区域图层工具将根据位置和网络数据集计算服务区域。构建网络工具创建您用作其他分析扩展基础的网络数据集。
现在您已经了解了许可级别和扩展,接下来的练习将向您展示如何确定分配给 ArcGIS Pro 的许可级别和扩展,以便您可以确定您拥有的功能。
练习 10A – 确定您的许可级别和扩展
正如您刚刚学到的,ArcGIS Pro 的许可级别和分配给您的扩展将影响您在 ArcGIS Pro 中能做什么。因此,了解您需要与之合作的许可级别和扩展非常重要。
在这个简短的练习中,您将确定您的许可级别以及(如果有)分配了哪些扩展。如果您是您组织的管理员,您还可以登录到 ArcGIS Online 或 Portal for ArcGIS 以确定分配给每个用户的许可。但是,并非每个人都有管理权限,因此了解您如何从 ArcGIS Pro 中确定这一点很重要。
步骤 1 – 打开 ArcGIS Pro
第一步是打开 ArcGIS Pro,然后确定您可用的许可级别:
-
打开 ArcGIS Pro,就像您在以前的练习中所做的那样。
-
点击位于打开最近项目窗口左下角的关于 ArcGIS Pro。
问题:您正在使用哪个版本的 ArcGIS Pro?
关于 ArcGIS Pro 窗口显示了您正在使用哪个版本的 ArcGIS Pro。它还允许您检查 ArcGIS Pro 是否有任何软件更新。
步骤 2 – 确定许可级别和扩展
现在,您将看到您被分配的许可级别以及是否有任何扩展也被分配给您:
-
在左侧面板中点击许可。
-
查看您可用的许可。本节将告诉您哪个许可级别可用,而中间部分将告诉您分配给您的扩展。
问题:*您拥有哪个版本的 ArcGIS Pro 许可级别?*您可以使用哪些扩展(如果有)?
- 回答完前面的问题后,关闭 ArcGIS Pro。
现在您已经知道了您正在运行的软件版本、分配给您的许可级别以及是否分配了任何扩展,您应该对在 ArcGIS Pro 中可用的功能有更清晰的认识。有了这些关于您要处理的内容的知识,现在是时候看看 ArcGIS Pro 中的分析过程了。
理解分析过程
GIS 分析通常从一个问题开始。这个问题可能很简单,比如城市内道路的总长度是多少。它们也可以非常复杂,例如我需要知道在哪个地方建立我的新业务最好,以便它有水和下水道服务,以及它是否靠近主要道路,以及白天吸引商业客户和晚上吸引家庭的地点。
这些问题将帮助你开始分析过程。这个过程通常不是线性的。你会发现,一旦你回答了初始问题,它就会引出其他问题,这些问题又从头开始整个过程。因此,一般分析过程看起来是这样的:
初始问题应该促使你提出问题。问题阶段确立了需要回答的规格和需要回答问题所需的数据。
一旦你确切地知道你试图回答的问题是什么,你便需要开始收集你将用于分析所需的数据。在你收集数据的过程中,你需要对其进行评估。*它是否包含你所需的所有信息?**它是否以你需要的格式存在?**单位是否正确以回答这些问题?*这些都是你在收集用于分析的数据时需要考虑的事项。
接下来,你需要为分析准备你的数据。这可能包括通过裁剪到特定区域来简化它,将其投影到不同的坐标系,转换数据格式,合并图层,泛化信息,或更新它。
一旦你准备好了你的数据,你就可以开始你的分析了。这通常需要使用多个地理处理工具,以及其他工具,如根据属性或位置选择要素。
在你完成分析后,你需要展示你的发现。你可以通过创建地图和布局来实现,正如你已经学到的。你还可以创建图表和图形来展示你的结果。
准备分析数据
在收集和评估数据以进行分析时,数据需要一些准备工作以使其处于可用于分析的状态并不罕见。例如,你可能需要从ArcGIS Online下载数据,这些数据使用的坐标系与你的主要坐标系不同。因此,你需要将下载的数据投影到你将用于其余数据的坐标系。
常见的数据准备工作包括简化数据、标准化单位、合并图层和更新数据。执行这些任务最广泛使用的地理处理工具如下:
-
裁剪
-
溶解
-
项目
-
追加
-
合并
这些工具在所有许可级别都可用。我们将在以下各节中了解上述每个工具。
裁剪地理处理工具
裁剪工具用于根据其他数据的边界提取数据。例如,如果你想要确定街道的哪些部分位于城市界限内,可以使用裁剪工具将位于城市界限内的街道部分裁剪到它们自己的层中。裁剪工具就像一个饼干模具。
此工具可在分析工具箱和提取工具集中找到。它可以用于裁剪点、线或多边形。然而,裁剪层必须是一个多边形。以下是一个裁剪工具作用的示例:
从前面的截图可以看出,我们正在尝试隔离位于城市界限内的溪流和河流的部分。溪流和河流层包含整个县内所有这些地点的位置。在这里,我们使用城市界限层(一个多边形)来裁剪它们,结果是包含仅位于城市界限内溪流和河流部分的新层。
溶解工具
溶解工具用于根据公共属性值简化或泛化数据层。例如,如果你有一个地块层,显示了每个地块,每个地块都编码了其指定的分区分类,而你想要知道城市内每个分区分类的总面积,可以使用溶解工具为每个分区分类创建单个多边形。
溶解工具可在数据管理工具工具箱和泛化工具集中找到。它适用于点、线和多边形。以下是之前描述的示例的插图:
如前一个截图所示,初始地块层包含许多单独的多边形,这将使确定每个分区分类的总面积变得困难。一旦使用溶解工具,就会创建一个新的层,使得每个分区类别只有一个多边形。从那里,确定每个分区类别的总面积变得简单得多。
投影工具
投影工具用于将空间层从一个坐标系统移动到另一个坐标系统。重要的是要知道,在坐标系统之间投影数据时,你的要素的实际坐标值必须改变。投影工具将使用适当的数学和转换将现有数据转换为新的坐标系统,从而创建一个新的层,该层位于指定的坐标系统中。
项目工具位于数据管理工具工具箱和投影与变换工具集中。某些工具和功能与不同类型的坐标系统配合使用效果最佳。存在两种基本的坐标系统类型——地理和投影。如果你试图测量距离或面积,那么投影坐标系统效果最佳。
尽管 ArcGIS Pro 可以即时投影数据,使得不同坐标系统的数据也能一起显示,但将所有分析数据放置在同一个公共坐标系中是一个推荐的最佳实践。这可以避免由不同单位和转换引起的问题。
这个工具不应与定义投影工具混淆,后者位于同一位置。定义投影工具将为未定义的特征类分配一个坐标系,但它实际上并不会将数据投影到新的坐标系中。这是新 ArcGIS 用户常见的错误。
合并工具
合并工具可以从两个或更多图层或表中提取数据,并将它们合并到一个新的单一输出中。如果你从多个来源或位置获取相同类型的数据,这很有用。例如,假设你正在与一个区域紧急响应小组合作,并试图制定一个区域疏散计划。你从多个司法管辖区接收道路数据。你可以使用合并工具将它们全部合并到一个单独的图层中。
合并工具可以在数据管理工具工具箱和通用工具集中找到。合并工具可以用于合并点、线、多边形,甚至独立的表格。你只能合并相似的特征,这意味着你只能合并点与点、线与线、多边形与多边形。
这里有一个使用合并工具的另一个例子。你负责清点城市内所有的消防栓。因此,你花了几天时间外出收集这些消防栓的位置。这导致了一个显示你每天收集的所有位置的图层。你希望将所有收集到的位置合并到一个单独的图层中:
从之前的屏幕截图可以看出,合并工具创建了一个新的图层,其中包含了原来四个单独图层中的所有特征和属性。因此,现在你有一个单独的图层可以管理、更新和分析。
追加工具
追加工具与合并工具非常相似。它也将多个图层或表中的数据合并到一个。这两个工具之间最大的区别是,追加是少数几个会改变输入数据的地理处理工具之一。它将特征或记录添加到目标输入中。
如果你有一个现有的信息图层,并且只需要将新获取的数据添加到其中,你可能需要使用追加工具。例如,继续使用之前的消防栓例子,在合并前四天的消防栓数据后,你收集了一些数据。现在,你外出收集更多的消防栓位置。你希望将这些新收集的消防栓添加到合并图层中。
在这种情况下,Append 工具将起作用。它将继续将新收集的位置添加到现有数据层中。它不会不断创建你需要管理的新层。以下截图说明了这一点:
如前一个截图所示,第五天收集层中显示的消防栓已添加到右侧结果中的 Hydrant_Merge 层。这说明了 Append 工具如何将输入层的数据添加到目标层。
现在你已经了解了用于准备分析数据的一些最常用的地理处理工具,是时候通过实际操作来获得一些经验了。在下一个练习中,你将应用你所学的 Clip 和 Dissolve 工具。
练习 10B – 使用 Clip 和 Dissolve 工具
公共工程总监正在准备一份必须提交给市议会以支持其预算请求的报告。他需要知道 Trippville 市内每条道路的总长度。他已经要求你提供这些数字。
幸运的是,你已经在你的地理数据库中有了城市边界和街道数据。然而,街道数据延伸到城市边界之外,并分解为单独的道路段。因此,在你能提供他需要的数字之前,你需要花一些时间来准备数据。
步骤 1 – 评估数据
经理已经提供了问题,并且你已经验证了你有完成项目所需的数据。所以现在,你只需要评估你的数据以验证你需要完成项目的步骤。
在这一步中,你将打开 ArcGIS Pro 并查看街道和城市边界数据。你需要确保你拥有所需的信息:
-
启动 ArcGIS Pro 并打开位于
C:\Student\IntroArcPro\Chapter10\Ex10B的Ex10B.aprx文件。 -
一旦项目打开,你应该看到包含两个层,即 City_Limit 和 Street_Centerlines 的地图。注意街道延伸到城市边界之外。
问题:你认为在本章中你读到的哪个地理处理工具应该用来创建一个只包含城市边界内街道的层?
-
右键单击 Street_Centerlines 层并选择属性表。
-
经理需要了解城市中每条道路的总长度。请查看 Street_Centerlines 层,看看是否有字段标识每个路段属于哪条道路。
问题:哪个字段标识每个路段属于哪条道路?
- 关闭表格并保存你的项目。
你现在已经评估了数据,以确定其是否适合提供导演所需的信息。你知道你将不得不提取位于城市界限内的街道中心线部分,并且你有一个可以用来通过它溶解街道段以便轻松计算其长度的标识字段。
第 2 步 – 裁剪街道
在这一步,你将裁剪街道中心线,从而创建一个只包含位于城市界限内街道部分的新的图层:
-
在功能区选择分析标签页。
-
从位于分析标签页中心的工具组中,选择裁剪。这应该在界面的右侧打开地理处理面板。
如果你看不到裁剪工具,你可以使用工具组右侧的小箭头来展开更多工具。
-
点击位于输入要素单元格右侧的小下拉箭头,并选择 Street_Centerlines 图层。
-
对于裁剪特征,使用相同的过程选择 City_Limit。
-
确保你的输出要素类字段设置为
C:\Student\IntroArcPro\Chapter10\Ex10B\Ex10B.gdb\Street_Centerlines_Clip。 -
留空 XY 容差字段。你的地理处理面板应该看起来像这样:
- 一旦你确认所有设置都正确无误,点击位于地理处理面板底部的运行按钮。
如果你任何时候都不确定一个工具会做什么,或者各种参数指的是什么,请定位到地理处理面板右上角周围带有圆圈的蓝色问号,并点击它。
这将打开工具的帮助文档。这将为你提供工具的详细描述,预期的使用案例,以及所有参数的描述。它还将包括一些你可以使用的示例 Python 脚本代码,如果你正在创建包含你正在审查的工具的脚本。你将在第十二章使用 ModelBuilder 和 Python 自动化流程中了解更多关于 Python 的内容。
当裁剪工具完成后,将在你的地图中添加一个名为 Street_Centerlines_Clip 的新图层。
-
关闭或移除 Streets_Centerlines 图层,以便更好地查看裁剪工具的结果。
-
右键单击你刚刚创建的新图层,并选择属性表。
-
右键单击 ST_NAME 字段,并选择升序排序。这将根据每条路的名字对记录进行排序。
问题:在表格中排序记录后,你注意到每条路的段落数有什么特点?
因此,现在,你可以看到剪辑工具如何创建了一个只包含位于城市界限内的道路部分的新图层。你的原始图层保持不变。你几乎准备好向导演提供他需要的信息了。然而,你仍然需要简化数据,这样你就可以更容易地计算每条道路的总长度。
让我们继续下一步,关于简化数据。
第 3 步 – 简化数据和计算总长度
在这一步中,你将使用溶解工具简化你在上一步中创建的剪辑道路中心线层。这将在你地图中创建另一个新图层:
-
在功能区点击分析标签。
-
在地理处理组标签页中点击工具箱按钮。这将再次激活或打开地理处理面板。
-
在地理处理面板顶部,选择工具箱,它位于收藏夹的右侧。这将显示包含在 ArcGIS Pro 中的所有工具箱以及你可以访问的任何扩展。
-
展开数据管理工具箱。
-
展开位于数据管理工具箱中的通用化工具集。
-
双击溶解工具。
-
使用与剪辑工具相同的流程将输入要素字段设置为 Street_Centerlines_Clip。
-
将输出要素类字段设置为
C:\Student\IntroArcPro\Chapter10\Ex10B\Ex10B.gdb\Street_Centerlines_Dissolve_Name。 -
将溶解字段设置为 ST_NAME。溶解工具现在应该看起来像这样:
-
一旦你确认溶解工具配置正确,点击运行按钮。
-
再次添加一个新图层到你的地图中。右键点击这个图层并选择属性表。
-
右键点击 ST_NAME 字段并选择升序排序。
-
滚动记录列表。注意与每个道路名称关联的记录数量。
问题:有多少条记录具有相同的道路名称?
现在,信息已经准备好提供给导演。随着溶解完成,你有一个包含每条道路及其关联的总长度在Shape_Length字段中的列表。
在这一步中,你使用了溶解工具简化数据,以便你能够轻松地向导演提供他请求的值。溶解工具的结果已按名称总结了城市内每条道路的总长度。接下来,我们将继续进行最后一步,以满足导演的要求:将数据导出到 Excel 电子表格中。
第 4 步 – 将表格导出到 Excel
导演赞赏你的努力。然而,他没有 ArcGIS Pro。因此,他询问你是否可以将结果导出到 Excel 电子表格中。这将使他能够轻松地将你的结果纳入他的报告中。
在这一步中,你将使用转换工具箱中的工具将你努力的成果导出到一个Excel电子表格中:
-
通过单击面板左上角带有圆圈的箭头,返回地理处理面板中的工具箱列表。
-
展开转换工具箱,然后展开 Excel 工具集。
-
选择“表到 Excel”脚本工具。这个特定的工具实际上是一个Python 脚本。位于工具名称旁边的滚动图标标识了它。
-
将输入表设置为
Street_Centerlines_Dissolve_Name。 -
将输出设置为
C:\Student\IntroArcPro\Chapter10\Ex10B\Street_Lengths_by_Name.xls。 -
确认你的地理处理面板看起来如下,然后单击运行按钮:
当“表到 Excel”工具完成时,它不会将生成的 Excel 电子表格添加到你的地图中。如果你希望查看结果,请启动Microsoft Excel并打开你刚刚创建的电子表格。它应该看起来与你在 ArcGIS Pro 中查看的表格非常相似。
-
关闭地理处理面板并保存你的项目。
-
关闭 ArcGIS Pro。
恭喜!你刚刚使用 ArcGIS Pro 完成了第一个分析项目。接下来,我们将查看一些其他常用的分析工具。
使用其他常见的地理处理分析工具
在 ArcGIS Pro 中,有超过 300 个地理处理工具可用,你只是刚刚开始接触你可以使用 ArcGIS Pro 执行的分析类型。ArcGIS Pro 还包括允许你执行数据空间分析的工具。这可以分解为几个工具集,包括分析工具箱中的叠加、邻近和统计。我们将在接下来的章节中了解每个工具集。
叠加分析
叠加分析比较两个或多个图层,并定位它们相互重叠的区域。根据你使用的工具,你可以确定它们重叠的区域,擦除重叠的区域,或者合并所有输入的总区域。
叠加工具集包括以下工具:
| 工具名称 | 最低许可级别 | 简短描述 |
|---|---|---|
| 擦除 | 高级 | 它从输入特征中裁剪出重叠区域。 |
| 标识 | 高级 | 它计算重叠和非重叠区域。 |
| 交集 | 基础 | 它仅返回重叠区域。 |
| 并集 | 基础 | 它合并输入多边形的总面积。 |
| 更新 | 高级 | 它用新特征替换重叠区域。 |
| 空间连接 | 基础 | 它根据空间关系将一个特征的属性连接到另一个特征。 |
| 对称差集 | 高级 | 它识别特征不重叠的区域。 |
ArcGIS Pro 引入了一个新的成对工具集,它也执行叠加分析。该工具集中的工具旨在与非常大的数据集一起使用。它们将提供与标准叠加工具创建的类似结果。
现在,我们将更详细地探讨所有许可级别都可用的一组叠加分析工具,即并集和交集。
并集
并集工具接受多个多边形层的输入,并将所有信息合并到一个包含所有输入层(通常是两个或更多)数据的单个要素类中。重要的是要记住,此工具仅适用于多边形。它不能用于点或线。如果您需要在点或线上执行此类分析,您将需要使用识别工具。
如果您希望确定每个地块在洪泛区面积中的比例以及每个地块不在洪泛区面积中的比例,您可能会使用并集工具,如下面的截图所示:
如您所见,结果是包含来自每个重叠地块部分和两个层不重叠部分的属性的新层或要素类。同样,您的原始输入仍然完好无损。
交集
交集工具接受多个输入层,并返回一个新层,显示输入重叠的位置。结果层的属性表将包含所有输入的组合属性。此工具适用于所有要素类型;也就是说,点、线和多边形。如果您输入多个要素类型,您可以选择您的输出类型将是什么。
如果您正在为您的社区制定紧急疏散计划,您可能会使用交集工具。例如,您可能需要确定哪些道路可能会因洪水而堵塞,因此您需要知道哪些路段位于洪泛区。您可以使用交集工具将街道中心线与洪泛区叠加,以确定每条道路在洪泛区内的哪些部分以及这些部分的风险程度,如下面的截图所示:
在这种情况下,交集工具的结果输出是一个新层,仅包含位于洪泛区内的街道部分。与其他工具一样,您的原始输入层没有任何改变。
让我们继续介绍下一个工具集——邻近。
邻近分析
邻近分析比较、计算或显示两个或更多层之间的要素距离。邻近工具将生成距离缓冲区、定位最近要素或计算要素之间的距离。
包含在邻近工具集中的工具如下:
| 工具名称 | 最低许可级别 | 简短描述 |
|---|---|---|
| 缓冲区 | 基础 | 它在现有要素周围创建一定距离的多边形。 |
| 多环缓冲区 | 基础 | 它可以在各种距离处创建多个缓冲多边形。 |
| 创建泰森多边形 | 高级 | 它在点周围创建多边形,显示影响区域。 |
| 近邻 | 高级 | 它确定输入层和最近要素层之间最近要素的距离。 |
| 生成近邻表 | 高级 | 它创建一个新的独立表,显示两个层中要素之间的距离。 |
| 多边形邻居 | 高级 | 它确定哪些多边形与源多边形相邻,并计算其他相关信息。 |
接下来,我们将快速查看前面表格中提到的缓冲和多重环缓冲工具。
缓冲工具
缓冲工具是 ArcGIS 中最常用的工具之一。它根据指定的距离在输入层周围创建一个新的多边形层。缓冲距离可以是一个单一值,也可以基于被缓冲要素属性表中的属性字段。你可以选择缓冲任何要素类型。你可以缓冲点、线或多边形。
然而,输出始终是一个多边形,如下面的截图所示:
缓冲区非常有用。它们可以帮助我们确定一个层中的要素是否在另一个层的距离范围内。它们还可以帮助我们创建用于其他目的的要素,例如创建道路或铁路的通行权,如前面的截图所示。
在这个示意图中,你可以看到在现有的街道中心线周围创建了一个新的多边形层,所有这些都在一个均匀的距离上。这个新的层代表了这些道路的通行权。此外,每个新的多边形都继承了被缓冲的街道的属性值。这意味着新的多边形被分配给了道路名称以及任何与街道段关联的其他属性。
当使用缓冲工具时,你可以选择溶解重叠的缓冲区。如果你选择溶解重叠的缓冲区,那么任何重叠的缓冲区都将合并成一个单一的多边形。这减少了结果层中的要素数量。此外,如果你选择溶解重叠的缓冲区,新的多边形将不会包含与被缓冲的要素关联的属性信息。
下面的截图显示了已溶解和未溶解的缓冲区的区别:
如你所见,左边的未溶解示例比右边的溶解示例包含更多的多边形。左边的示例有许多重叠的缓冲区,所以如果它们被溶解,它们将合并成一个。
多重环缓冲工具
多重环缓冲工具是一个 Python 脚本,它多次运行缓冲工具,在缓冲要素周围创建同心缓冲环,如下面的截图所示:
与标准“Buffer”工具一样,“多重环形缓冲区工具”与点、线和多边形一起工作,但只输出新的多边形图层。您还可以选择溶解重叠的缓冲区。
现在您已经有机会了解一些最常用的分析地理处理工具,让我们给您一个机会将它们付诸实践。
练习 10C – 执行分析
记得在第四章“创建 3D 场景”中,当社区和经济发展总监要求您准备几张显示 1 到 3 英亩之间商业地产位置的地图时?在与商业主人的会议之后,他需要更多关于这个项目的帮助。
他需要您定位到距离现有城市下水道线 150 英尺以内的商业地产,并且至少有 1 英亩不在洪水平原内。
第 1 步 – 定位靠近下水道线的商业地产
您分析的第一步将是定位所有大小在 1 到 3 英亩之间,并且距离现有下水道线 150 英尺以内的商业地产。幸运的是,您在第四章“创建 3D 场景”中已经确定了符合大小要求的商业地产,所以这部分已经完成。因此,现在您只需要确定其中哪些位于下水道线 150 英尺范围内。
在这一步中,您将在城市下水道线周围创建一个 150 英尺的缓冲区。然后,您将执行空间选择,以选择所有大小在 1 到 3 英亩之间,并且与您创建的缓冲区接触或相交的商业地产:
-
启动 ArcGIS Pro。
-
打开位于
C:\Student\IntroArcPro\Chapter10的Ex10C.aprx项目。
当项目打开时,您应该看到一个看起来非常熟悉的地图,就像您在第四章中创建的“创建 3D 场景”一样。这张地图已经包含了您进行分析所需的所有基本图层。您可以看到 1 到 3 英亩之间的商业地产、下水道线和洪水平原。现在,您需要围绕下水道线创建 150 英尺的缓冲区。
-
在功能区中选择“Analysis”标签。
-
选择“Buffer”工具以打开“Geoprocessing”面板和“Buffer”工具参数。
-
使用您在上一练习中学到的技能,将“Input Feature class”设置为“Sewer Lines”。
-
将您的输出要素类设置为
C:\Student\IntroArcPro\Chapter10\Ex10B\Ex10B.gdb\sewer_lines_Buffer。 -
将“Distance”字段设置为
150,并将单位设置为英尺。 -
保持“Side Type”、“End Type”和“Method”字段使用默认设置。
-
将“Dissolve Type”字段设置为“将所有输出要素溶解为单个要素”。由于您不需要知道哪条下水道线靠近哪个地块,这允许 ArcGIS Pro 溶解生成的缓冲区,从而使得未来的分析更加容易。
-
确认您的“Geoprocessing”面板看起来如下,然后点击“运行”:
一旦你完成使用 Buffer 工具,你的地图上将会添加一个新的图层。这个新图层将显示距离下水道管线 150 英尺范围内的区域。你现在将使用这个新图层来选择商业地产。
-
在功能区中点击地图标签页。
-
在地图标签页上的选择组中,选择“按位置选择”按钮。
-
按位置选择工具窗口将打开。将输入要素图层设置为商业地产 1 至 3 AC。
-
将关系字段设置为相交。这将选择所有被下水道线缓冲图层覆盖的 1 至 3 英亩的商业地产。
-
将选择要素字段设置为 sewer_lines_Buffer。
-
保持所有其他参数的默认设置。
-
验证按位置选择工具窗口看起来如下,然后点击确定:
当按层位置选择过程完成后,你应该有大约 18 个商业地产被选中。所有这些地块都与你创建的下水道线缓冲区重叠或接触。这意味着它们都位于现有下水道线 150 英尺范围内。你现在将把这些选中的地块导出到它们自己的图层中。
第 2 步 - 导出选定的地块
既然你已经确定了哪些商业地产位于下水道管线 150 英尺范围内,你将把它们导出到一个新的要素类中,以便你可以在以后进行进一步分析。这将确保你不会意外地更改或损坏现有的图层:
-
在内容窗格中选择商业地产 1 至 3 AC。
-
在要素图层组中选择数据标签页。
-
在数据标签页中点击导出要素按钮,打开导出要素工具窗口。
-
输入要素字段应自动设置为商业地产 1 至 3 AC。如果不是,请将其设置为该图层。
-
将输出要素类字段设置为
C:\Student\IntroArcPro\Chapter10\Ex10\Ex10B.gdb\CommercialProp_near_sewer。 -
验证你的导出要素窗口看起来如下,然后点击确定:
当 Copy Features 工具的处理过程完成后,你的地图上将会添加一个新的图层,其中只包含你之前选择的商业地块。如果你在地图或表格中选择了要素,大多数地理处理工具将自动只使用该工具中选择的记录。
-
打开你地图上刚添加的 CommercialProp_near_sewer 图层的属性表。
-
验证表格包含与之前选择相同数量的记录。应有大约 18 条。
-
通过在地图标签页上的选择组中点击清除按钮来清除你的选择。
-
关闭表格。
-
关闭下水道管线、卫生下水道检查井、下水道线缓冲区以及商业地产 1 至 3 AC 图层。你不需要在接下来的分析中看到这些图层,它们可能会引起混淆。
-
保存你的项目。
您已成功将选定的要素导出到新的要素类中,同时保留了原始数据。您将在下一步中使用您刚刚创建的新要素类来执行分析,以确定有多少商业属性位于洪泛区内。
第 3 步 – 确定每个商业属性中有多少位于洪泛区
现在您已经选择了所需大小且靠近城市下水道系统的商业属性,是时候计算这些地块中有多少面积位于洪泛区内了。为此,您将使用联合地理处理工具将您刚刚创建的新图层与洪泛区联合起来。
这将创建一个新图层,将每个商业属性分割成位于洪泛区内的部分和不在的部分:
-
使用您已经学到的技能,打开 CommercialProp_near_sewer 和洪泛区层的属性表。花点时间查看每个表中包含的字段以及它们包含的一些值。这将帮助您理解联合工具产生的结果。
-
关闭表格。
-
在功能区中单击分析选项卡。
-
从工具组中选择联合工具。现在,地理处理面板将显示与联合工具相关的参数。
-
将您的输入要素类设置为商业属性 1 到 3 AC 和洪泛区。
-
将您的输出要素类设置为
C:\Student\IntroArcPro\Chapter10\Ex10B\Ex10B.gdb\Commercial_Floodplain_Union。 -
一旦您确认您的地理处理面板看起来如下,请单击运行:
当联合工具的处理过程完成后,它将在您的地图中添加一个新图层,该图层包含结合两个输入层的特征。您的地图应该看起来类似于以下(记住,您的颜色可能不同):
如您所见,地图上的绿色图层是联合工具的结果。
-
打开您刚刚创建并添加到地图中的图层的属性表。
-
在 SFHA 字段上选择降序排序。所有被分配给 IN 的多边形都在洪泛区内。所有空白或 NULL 的都在洪泛区外。
-
您需要更新 ACRE_CALC 字段以反映 Commercial_Floodplain_Union 的新面积。右键单击 ACRE_CALC 字段并选择计算字段选项。
如果计算字段选项变灰,请确保在内容面板上按可编辑列表编辑层是可编辑的。如果层不可编辑,则无法运行计算字段或计算几何工具。
-
将表达式类型字段设置为 Arcade,使用下拉箭头进行设置。
-
在字段列下方找到的“ACRE_CALC =”表达式单元格中,输入
$feature.Shape_Area / 43560。这将把以平方英尺为单位的 Shape_Area 字段值转换为英亩。完成输入后,它应看起来像这样:
-
验证完表达式后,点击“确定”。
-
关闭表格并保存您的项目。
通过使用并集工具确定每个商业地块在洪水平原内外的比例,然后使用字段计算器工具计算每个地块的总面积(以英亩为单位),以便您能够完成下一步。在下一步中,您将构建一个查询,以选择所有不在洪水平原内且面积大于或等于 1 英亩的商业地块。
第 4 步 – 选择不在洪水平原上的商业地块
在此过程中使用并集工具的一个问题是,结果图层还包括了不与商业地块重叠的洪水平原多边形的部分。这意味着您需要通过移除位于洪水平原中的多边形来简化该图层,或者在查询中考虑它们。如果您拥有高级许可证,您可以使用身份工具,这将避免此步骤。
在此步骤中,您将选择至少有 1 英亩或更多不在洪水平原上的商业地块:
-
在功能区中点击“地图”标签。
-
点击“按属性选择”按钮以打开工具窗口。
-
确认“输入行”设置为 Commercial_Floodplain_Union。如果不是,相应地设置。
-
选择类型字段应设置为“新选择”。
-
点击“新建表达式”按钮。
-
在单词“Where”之后,将字段设置为分区,并将后续运算符设置为
不等于。对于值,选择列表顶部的空白选项并点击添加。这将消除仅代表不与商业地块重叠的洪水平原区域的折线。 -
在您刚刚创建的子句下方点击“添加子句”按钮。
-
将查询字段设置为 ACRE_CALC,并将后续运算符设置为
大于或等于。输入值为1.00并点击添加。这将选择所有正确大小的商业地块。 -
再次点击“添加子句”按钮。
-
将查询字段设置为 SFHA,并将运算符设置为
不等于。然后,将值设置为 IN 并点击添加。这将从最终选择中移除任何位于洪水平原内的区域。 -
点击绿色的勾选标记以验证查询。您的地理处理面板应类似于以下内容:
-
验证一切设置正确后,点击“确定”。完成后,您应该有 21 个商业地块被选中。这些地块的面积都应大于 1 英亩,并且位于洪水平原之外。
-
使用您在上一步中学到的技能,将您的选择导出到一个新图层。为新图层设置符号,使其更加突出。
-
关闭“Commercial_Floodplain_Union”图层,以便您的新图层更加突出。
-
保存您的项目。
有了这些,您刚刚已经确定了符合主任要求的城市内的地块。您使用了各种分析和选择工具来回答他的问题。正如您所看到的,使用多个工具和方法来获取看似简单问题的答案并不罕见。信不信由你,一旦您熟悉并习惯了这些工具,您刚才完成的过程可以在不到 10 分钟内完成。这只需要练习。
接下来,您将学习如何访问在 ArcGIS Pro 中使用的所有地理处理工具的历史记录。
第 5 步 – 查看您的地理处理历史记录
您刚才完成的分析过程涉及许多步骤。如果不是有笔记可以参考的练习,您将如何知道完成分析所使用的所有步骤和工具? 幸运的是,ArcGIS Pro 记录了您使用的地理处理工具、包含在那些工具中的参数以及遇到的任何结果或错误。这为您提供了到达结果的工作记录。
在本步骤中,您将学习如何访问您地理处理活动的历史记录:
-
在功能区中单击“分析”选项卡。
-
在“分析”选项卡上的“地理处理”组中单击“历史记录”按钮。这将打开历史记录窗格。
-
抽空查看历史记录窗格中可见的记录。您应该看到在本章中使用的所有地理处理工具,以及您可能在之前的章节或日常活动中使用过的其他工具。
-
在历史记录窗格中右键单击“剪辑”工具,从菜单中选择“查看详细信息”选项。这看起来如下所示:
- 当您运行此“剪辑”工具实例时,ArcGIS Pro 应该会打开一个新窗口,显示该实例的历史记录。花点时间查看此窗口中的信息。
当一个工具无法成功运行时,这个信息窗口非常有用。它将为您提供一系列错误和警告,这些错误和警告可能解释了导致工具失败的原因。
-
审查完“剪辑”工具的历史记录后,关闭窗口。
-
再次右键单击“剪辑”工具以显示菜单。查看它包含的选项。
-
保存您的项目并关闭 ArcGIS Pro。
现在,你已经知道了如何在 ArcGIS Pro 中访问你所使用的所有地理处理工具的历史记录。这让你能够查看完成分析所使用的工具,确定可能导致工具失败的原因,以及更多。你也可以使用历史面板中显示的相同设置重新运行工具。这可以帮助你节省时间,无需再次输入所有参数来运行工具。正如你所看到的,历史面板在你需要执行分析时可以成为一个强大的盟友。
摘要
在本章中,你了解到 ArcGIS Pro 可以用于进行空间分析,以帮助回答大量的问题和关注点。它还可以帮助你看到模式和解决方案。你现在有了使用各种类型的数据来获取你需要的日常问题答案的强大地理处理工具的技能。
在本章中,你还学习了地理处理是什么,以及 ArcGIS Pro 中可用的某些工具。然后,你学习了你的许可级别和扩展如何影响当你需要执行分析或管理 GIS 数据时可以使用的特定工具。
本章还向你介绍了最常用的分析和数据准备工具。你使用这些工具进行了两个独立的分析项目。凭借你所获得的技术和实际操作经验,你可以将这些工具与其他你已经接触过的工具集成,以找到答案。
有了这些,你已经学到了许多技能,包括使用 ArcGIS Pro 创建项目、地图、场景和布局,以及如何编辑和分析数据。你还看到,执行同一任务通常有不止一种方法。
在下一章中,你将探索任务,这可以使你标准化工作流程,帮助培训新用户,记录正确的工作流程,并确保每个人都使用相同的方法来完成常见过程。
第十四章
第三部分:共享数据和自动化流程
地理信息系统(GIS)不再仅限于制作纸质地图。现在,我们可以通过互联网、数字文件等方式与世界共享它们。
在本节中,你将学习如何与他人共享你的数据和地图,同时也会介绍使用 ModelBuilder 和 Python 自动化部分流程的方法。
我们在本节中将涵盖以下章节:
-
第十一章,创建和使用任务
-
第十二章,使用 ModelBuilder 和 Python 自动化流程
-
第十三章,与他人共享你的工作
-
第十四章,使用 Arcade 表达式进行标签和符号化
创建和使用任务
如您亲身体验到的,ArcGIS Pro 包含大量用于编辑数据、创建地图和执行分析的工具和方法。在许多情况下,有二三种不同的方法来完成同一件事。此外,许多地理处理工具非常相似,例如合并、相交和身份。尽管它们相似,但每个都是为特定情况设计的。
所有这些不同的工具和方法使 ArcGIS Pro 成为一个非常强大的应用程序。然而,它也可能使新用户感到困惑,并允许经验丰富的用户以非常不同的方式执行功能。这可能导致不准确或错误的结果。如果您能够开发出每个人都可以使用且需要逐步说明以完成特定任务的标准化工作流程,事情将会简单得多。
使用 ArcGIS Pro,您确实可以做到这一点。它们被称为任务。任务提供可以与项目一起保存的逐步工作流程。您可以为项目保存的任务数量没有限制。您可以将它们保存并共享到网络文件夹、ArcGIS Online、ArcGIS 门户等。
在本章中,您将学习如何在 ArcGIS Pro 中创建和使用任务。这包括以下主题:
-
任务是什么以及创建任务前需要考虑的事项
-
如何创建一个任务
-
如何使用任务
完成本章后,您将更好地理解任务是什么,如何创建一个,更重要的是,如何使用它们来标准化组织中的常见工作流程。
第十五章:技术要求
要完成本章的练习,您需要安装ArcGIS Pro 2.6或更高版本。任何许可级别都将被接受。
理解任务是什么
简而言之,任务是一系列预配置的步骤,用于完成特定的过程。任务可以非常简单,只包含三四个步骤,或者它们可以非常复杂,包含任务内的组任务,并且每个组可以包含多个步骤。这完全取决于任务的用途和使用任务的人员的技能水平。任务允许您对用户受众的详细程度进行详细说明。
本节将帮助您了解任务的组件。我们还将通过运行任务的练习获得一些实际操作经验。
任务存储在 ArcGIS Pro 项目中的任务项内。您可以通过目录窗格访问您的任务。当您打开一个特定的任务时,它将出现在一个名为任务窗格的新窗格中。
任务组件
您在 ArcGIS Pro 中创建的每个任务都将由几个组件组成。它们如下:
- 任务项:第一个是任务项,它存储在项目中。它基本上是一个用于存储项目内相关任务的文件夹。您将像以下截图所示,从目录窗格访问任务项:
- 任务组:第二个组件是任务组。任务组是任务项内的子文件夹,用于按功能或目的对相关任务进行分组。下面的截图显示了任务组的示例:
如前一个截图所示,您可以在其他任务组内部创建任务组,就像您可以在 Microsoft Windows 中的其他文件夹内部创建文件夹一样。这允许您为存储任务创建一个组织结构,以便更容易找到和管理。
- 任务:第三个组件是任务本身。这是一个包含完成给定过程所需步骤的集合,例如拆分包裹、添加新的水管或对新的地址进行地理编码。任务可以存储在任务组或独立任务中,如下面的截图所示:
- 步骤:最后一个组件是步骤。任务通常包含多个步骤。步骤指的是在 ArcGIS Pro 中可访问的动作、按钮、地理处理工具、模型或脚本。一个常见的步骤是使用探索工具缩放到要素的位置。另一个例子是在用户缩放到正确区域后选择一个特定的要素:
每个步骤都将有几个您可以为此步骤设置的参数。您将提供有关每个步骤的一般信息,例如名称、用户遵循的说明以及步骤的运行方式,如下面的截图所示:
您可以在步骤下的操作中引用特定的地理处理工具或命令。在前面的示例中,此步骤引用了清除矩形选择命令的选择。您有选项来控制步骤应使用哪个地图和视图。最后,您可以通过步骤控制该视图的内容。您可以决定哪些图层将可见、可选或可编辑。
您可以拥有简单的步骤,这些步骤仅向用户提供指令并自动运行。如果需要,您可以隐藏步骤。您将在本章后面了解更多关于步骤及其创建方法的信息。
我们现在将进入下一节,关于运行任务。
运行任务
任务从任务窗格运行。步骤将按用户完成每个步骤并进入下一个步骤的方式呈现给用户。要使任务在任务窗格中打开,您必须首先打开包含您希望运行的所需任务的任务项。
一旦您从目录窗格打开任务项,任务窗格将打开,您将能够选择要运行的存储在所选任务项中的哪个任务。您可能需要展开任务组以找到您正在寻找的特定任务。当您找到要运行的特定任务时,只需在任务窗格中双击它即可运行。
现在,让我们通过一个动手练习让您体验运行任务的感觉。
练习 11A – 运行一个简单任务
在这个练习中,您将运行一个简单的任务,引导您通过在地图中选择要素的过程。这将使您亲身体验如何在 ArcGIS Pro 中访问和运行任务。
步骤 1 – 启动 ArcGIS Pro 并打开一个项目
您首先需要打开一个包含存储任务的项目的项目。在这一步,您将启动 ArcGIS Pro 并打开一个包含几个任务的项目:
-
启动 ArcGIS Pro。
-
打开位于
C:\Student\IntroArcPro\Chapter11的Ex11.aprx文件。
当您的项目打开时,您应该看到一个包含代表 Trippville 城市边界、街道和地块的二维地图。
- 在目录窗格中,展开任务文件夹,以便您可以看到在此项目中保存的任务项。
问题:您在这个项目中看到了哪些任务项?
我们现在将进入下一步。
步骤 2 – 打开和运行任务
在这一步,您将打开一个任务项,然后运行一个任务,引导您在地图中选择一个要素的过程:
-
在目录窗格中双击“选择要素”任务项。
-
目录窗格应该在 ArcGIS Pro 界面的左侧打开。注意这个任务项中包含的任务。
问题:在您打开的任务项中包含多少个任务?它们是什么?
-
双击“地图中的选择要素”以打开它。
-
按照任务步骤中提供的说明进行操作。当要求您将地图缩放到某个区域时,您可以缩放到任何位置进行此练习。请确保阅读并遵循所有说明:
- 当您完成任务的运行后,清除您的选择。
问题:这个任务有多少个步骤?
-
关闭任务窗格。
-
关闭 ArcGIS Pro 而不保存项目。
您刚刚体验了从用户的角度来看任务是如何工作的。这是一个非常简单的任务。任务可以像您希望的那样复杂或简单。请随意尝试这个项目中包含的其他任务。
我们现在将进入下一个关于创建任务的章节。
学习如何创建任务
创建一个成功的任务并不像创建地图或布局那样简单,它需要思考和计划。在创建任务的前端投入的时间将减轻您自己和那些使用您创建的任务的人之后的许多挫折和头痛。
本节将带您进行探索和创建任务的练习。您还将了解在创建任务之前需要考虑的事项。
就像您在创建布局时做的那样,您需要回答几个问题:
-
这个任务的目的是什么?目标是什么?
-
支持这个目的的工作流程是什么?
-
任务将如何被使用?
-
您的任务的目标受众是谁?
这些问题的答案将影响您任务的设计。它们将帮助确定要包含的步骤数量,哪些步骤可能需要自动运行,您需要提供的指导水平,每个步骤中需要包含哪些工具,等等。
在回答这些问题之后,您将准备好开始创建您的任务。这可能需要您首先创建一个新的任务项,然后在其中创建任务或任务组,或者您可以将新任务添加到现有的任务项中。
当您创建新任务时,您将使用 任务设计器 面板。任务设计器允许您添加或修改步骤。步骤是任何任务的灵魂。它们为用户提供完成任务所需的说明。步骤本身有几个参数,您在创建任务时需要配置。再次强调,上述问题的答案将有助于指导每个步骤的创建。
在您开始创建任务之前,让我们先探索一个现有的任务。
练习 11B – 探索任务
在这个练习中,您将更仔细地查看您在 第九章 的 Exercise 9A 中运行的任务,学习编辑表格数据。您将验证它是否包含您认为的步骤数量,或者是否超出了您的预期。
第 1 步 – 打开项目
在此步骤中,您将打开您在 第十章 的 Exercise 10A 中使用的相同项目,使用地理处理工具进行分析。这将允许您访问您之前运行的任务:
-
打开 ArcGIS Pro 并从之前打开的项目列表中选择 Ex11。
-
在目录面板中展开“任务”文件夹。
-
验证您是否在“任务”文件夹中看到了“选择要素”任务项。
现在您已经打开了正确的项目并验证了您看到了您在上一个练习中使用的任务项,您现在将学习如何在任务设计器中打开它进行编辑。
第 2 步 – 在任务设计器中打开任务
您现在将打开任务设计器中的任务项。这将允许您查看任务项中包含的所有参数、任务和步骤:
-
右键单击“选择要素”任务项并选择“在设计师中编辑”。任务面板以设计模式在界面左侧打开,任务设计器面板在界面右侧打开。
-
在任务设计器面板中查看任务项的参数。注意,除了标准参数,如名称、作者和描述之外,您还可以看到任务是用哪个版本的 ArcGIS Pro 创建的,以及随着您更新和修改任务而跟踪任务版本。
-
现在您将对这个任务项进行一些更改。通过在“名称”下方的单元格中输入,将任务项的名称更改为 ArcGIS Pro 中的“选择要素”。
-
将作者名称更改为您自己的。
-
将描述更改为
此任务项包含各种任务,展示了在 ArcGIS Pro 中选择功能的不同方法。 -
最后,启用任务项版本的自动递增。
任务设计器中没有保存按钮。当你点击另一个参数、任务或窗格时,更改会自动应用。这允许你快速测试更改。当你保存项目时,实际更改会永久保存。如果你在没有保存的情况下关闭项目,你对任务项及其包含的任务和步骤所做的任何更改都将丢失。
- 保存你的项目。
现在你已经知道如何打开任务设计器以查看给定任务中包含的各种组件,接下来你将探索你刚刚打开的任务中的组件。
步骤 3 – 审查任务的步骤
现在你已经在任务设计器中打开了任务项,接下来你将探索特定任务的步骤。在这种情况下,它将是你在练习 11A中运行的任务:
-
在任务窗格中,选择“在地图任务中选择功能”。
-
点击任务名称右侧出现的蓝色箭头以访问任务的步骤:
问题:在这个任务中,你看到了多少步骤?这与你在上一个练习中运行任务时计数的步骤数量相比如何?
- 选择每个步骤并审查与每个步骤关联的常规、操作、视图和内容参数。它们将在界面右侧的任务设计器窗格中显示。
问题:你认为在第九章中,学习编辑表格数据时,你在练习 9A 中计数步骤的数量与这个任务中实际包含的步骤数量不同的原因是什么?
-
在审查完每个步骤后,点击任务窗格左上角的返回箭头。
-
审查此任务项内其他任务及其相关步骤。
-
完成任务审查后,请关闭任务窗格。
-
保存你的项目并关闭 ArcGIS Pro。
现在你对任务配置和步骤的工作方式有了更好的了解。现在让我们更仔细地看看创建任务的过程。
创建任务时需要考虑的事项
如前所述,在开始创建任何任务之前,你需要回答那三个问题。这些问题的答案将指导大部分任务设计。那么这三个问题如何影响或指导你任务的设计?
理解任务的目的
就像地图一样,你创建任务是有原因的。例如,可能是为了向组织中的每个人展示分割地块的正确工作流程,以便每个人都以相同的方式进行。也可能是为了开发一个工作流程,以识别位于另一个即将重新规划的地块 300 英尺范围内的所有地块,以便你可以创建一个通知邮件列表。这些代表不同的目的。
理解任务的目的将帮助你确定在任务中需要引用哪些工具。目的还将帮助你回答关于通过你的任务将解决的总体工作流程的下一个问题。
确定支持目的的工作流程
任务工作流程由将包含在任务中的步骤组成。这包括需要执行的工具和操作,以及这些工具和操作需要执行的顺序,以达到任务的目的和目标。
仔细思考你的工作流程。写下你认为在任务中需要的每个步骤以及与每个步骤相关的任何工具。一旦你写下了步骤,你应该验证你是否已经考虑了所有需要的步骤。对于经验丰富的用户来说,忘记一个步骤是很常见的事情,因为他们会自动执行,甚至没有意识到自己在做。这意味着任务可能根据使用任务的目标群体而变得不完整或令人困惑。
验证或甚至为任务开发初始工作流程的最好方法之一是在 ArcGIS Pro 中手动完成整个流程。如果你正在验证工作流程,请确保严格按照你记录的方式执行。这将帮助你识别你可能遗漏的任何步骤。
按照自己的说明来做会比你想的更难。你可能会本能地去做,但不要陷入这个陷阱。确保你花时间,按照你概述的步骤进行操作。记住,可能使用该任务的其他人可能没有你那样的技能水平。因此,对你来说直观的工具或步骤可能对其他人来说不是那么直观。
如果你手动完成这个过程以实际开发步骤,那么在执行每个步骤时都要记录下来。确保注意与该步骤相关的工具。在执行此操作时创建带有截图的文档也可能很有帮助。这有助于确保你在创建任务时记住与给定步骤相关的所有要求。
以不同方式使用任务
你创建任务有几个原因。例如,你可能想要在组织中标准化一个常见的流程,以确保每个人都在以相同的方式进行操作;你可能想将其用作新用户的培训工具;或者你可能想为你的组织建立最佳实践,以确保准确性和效率。
无论任务的目的是什么,它都会影响任务所需的复杂性和文档水平。以下是一些例子:
-
如果你正在创建一个用于培训新用户的任务,你需要确保包括精确的逐步说明,以及非常详细的文档,说明用户需要做什么来完成每个步骤。你希望许多步骤都是手动交互式的,这样用户就能完全学习过程并理解每个步骤的原因。
-
如果您只是试图在经验丰富的用户组织中建立共同的流程,您通常可以减少交互步骤的数量,并使用自动步骤,因为用户已经熟悉 ArcGIS Pro 的功能。此外,由于那个经验水平,您可以减少每个步骤所需的指导文档水平。
-
为培训或建立最佳实践而创建的任务需要更多时间来创建,因为它们的设计和文档通常具有更高的复杂性。
-
另一个需要考虑的因素是任务的使用方式,即执行任务内步骤所需的许可级别。步骤通常涉及使用特定的地理处理工具或 ArcGIS Pro 命令。如您所学的,某些地理处理工具仅适用于特定的许可级别或扩展。
因此,在开发任务时,您需要始终考虑完成任务所需的技能水平、许可级别和扩展。如果您的任务使用了需要特定许可级别或扩展的工具,您可能希望包括一个步骤,让用户验证他们拥有完成任务所需的正确许可级别或扩展。
确定任务的受众
最后,您需要确定您正在创建的任务的目标受众。您需要知道您的受众是否是经验丰富的 ArcGIS Pro 用户或新用户,或者他们是否使用过其他 GIS 软件。
您听众的经验和技能水平将影响您的设计任务。技能和经验水平越低,您需要提供的指导就越多。您可能还需要包括对经验用户来说直观的步骤。
如果您的受众是熟悉其他 GIS 软件应用(如 ArcMap)的群体,您可能需要包括对该应用中的工具或过程的引用,以便他们更容易将 ArcGIS Pro 的功能与他们熟悉的内容联系起来。这可能会增加您为每个步骤创建的指导数量。
现在您已经了解了在创建任务之前需要考虑的事项,是时候学习如何实际创建任务了。
创建自己的任务
如您所学的,任务有几个组成部分。在创建任何新任务时,您需要创建这些组成部分。创建任何任务的第一个步骤是拥有一个包含它的任务项。这可以是一个现有的或新的任务项。
一旦创建或确定包含您的任务的现有任务项,您接下来需要决定您希望任务是独立的还是包含在任务组中。
如果你创建的任务与其他流程或工作流无关,将其作为独立任务留下是好的。然而,如果任务是大流程或过程中的一个部分,那么将这些相关任务存储在任务组中是个好主意。这样更容易找到。如果你想将任务存储在任务组中,你需要在创建任务项之后创建它。
到目前为止,你现在已经准备好创建你的第一个任务了。你将使用任务设计器和本章学习创建任务部分中列出的四个问题的答案来创建一个新任务。
创建任务项
创建任务项有几种方法。具体如下:
- 如果这是你第一次向项目添加任务项,请转到功能区上的“插入”选项卡,然后在项目组中选择“任务”按钮。这将按以下截图所示在你的项目中创建一个新的空白任务项。
- 如果你已经在项目中有了任务项,那么你可以从目录面板中添加新的。你只需右键单击“任务”文件夹,然后选择“新建任务项”,如以下截图所示:
如您从前面的截图中所见,在 ArcGIS Pro 中创建任务项的方式不止一种。在 ArcGIS Pro 中,有多种方法来完成某事并不罕见。这提供了灵活性,并允许你确定最适合你的方法。
我们现在将看到如何创建任务组。
创建任务组
如果你想将任务存储在任务组中,你需要在任务项中创建它。您将在设计师模式下从任务面板中这样做。
简单地点击新建组按钮并填写参数,如以下截图所示:
前面的截图显示了创建新任务组是多么简单。任务组可以帮助你根据功能、用途或目标受众组织任务,以便在需要时快速定位。
让我们继续学习如何创建任务。
创建任务
现在你已经准备好创建实际的任务了。请记住,你可以向现有的任务项和任务组添加任务。创建任务与创建任务组非常相似,如以下截图所示:
如您从前面的截图中所见,在设计师模式下,要创建任务,请点击任务面板中的新建任务按钮。然后您可以填写相关参数,新任务将按以下所示创建。
现在让我们继续到下一节,关于创建任务的说明。
练习 11C – 创建任务
在这个练习中,你将在项目中创建一个新的任务。在稍后的练习 11D中,你将向这个任务添加步骤。
新任务的目的在于创建沿道路分布的土地列表。这将帮助城市在道路维修时通知沿路居住和工作的人。此任务将作为现有和新 GIS 人员的一个常用工作流程。
第 1 步 – 打开项目并创建任务项
在此步骤中,你将打开一个项目并创建一个任务项,该任务项将包含你在后续步骤中创建的任务:
-
启动 ArcGIS Pro 并从最近打开的项目列表中打开 Ex11 项目。
-
在目录面板中展开 Tasks 文件夹。
-
右键单击 Tasks 文件夹并选择 New Task Item。Task 和 Task Designer 面板将自动打开。
-
在 Task Designer 面板中,按照以下方式填写你的新任务项参数:
-
在名称字段中,键入
Road Repair Tasks。 -
在作者字段中,键入你的名字。
-
在描述字段中,键入
This task item contains tasks associated with road repair projects such as generating notification lists, locating nearby parcels, calculating total lengths, and more。 -
在 Task version 字段中,输入
1.0.0。 -
启用自动递增。
-
-
保存你的项目。
你刚刚创建了你的第一个任务项。现在你需要向该项添加一个任务。
第 2 步 – 创建新任务
你现在可以创建任务了。这最终将作为创建你在 Exercise 11D 中创建的沿道路分布的土地列表所需步骤的容器。由于这是你唯一要创建的任务,因此你需要创建一个独立任务。如果你正在创建大量任务的一部分,你将不得不创建任务组来帮助组织它们:
-
在界面左侧的 Tasks 面板中,单击 New Task 按钮。
-
在 TaskDesigner 面板中,按照以下方式填写新任务的参数:
-
在名称字段中,键入
Create a list of nearby parcels。 -
在描述字段中,添加
This task will step you through the process needed to create a list of parcels located along a road segment which will be repaired. The list will allow those that live and work along the road to be notified of the repair and how long it is expected to take。
-
-
关闭 Task designer 面板。
你的 Tasks 面板现在应该看起来像这样:
- 保存你的项目并关闭 Tasks 面板。
你已经了解了任务以及如何为自己创建一个任务。你还了解了在创建任务时需要考虑的事项。
你现在已经创建了一个任务,但它仍然是空的。你还需要向任务中添加步骤,以告诉用户生成位于将要修复的道路段附近的土地列表所需的过程。我们将在下一节中这样做。
添加任务步骤
步骤实际上是你的任务的核心。它们为用户提供完成过程或工作流程的说明。步骤可以是简单的文本说明,告诉用户如何执行操作。例如,一个步骤可能像“使用探索工具缩放到感兴趣的区域”这样简单。然而,步骤也可以非常复杂。你可以在步骤内包括特定的工具、图层行为和选择控制。
在本节中,你将了解步骤的组成部分,随后将有一个练习,用于向任务中添加步骤,这样你将获得一些实际操作经验。
步骤的复杂性和你需要多少步骤将由我们在本章前面讨论的四个问题的答案所驱动。如果你试图为经验丰富的用户标准化特定的工作流程,你可能选择增加步骤结构的复杂性,尽可能自动化它。这将提高你团队的效率,同时确保每个人都以相同的方式进行过程操作。如果你设计任务作为培训工具,你可能希望步骤更加手动和指导性,以便用户更好地理解所使用的工具及其工作原理。
因此,让我们更仔细地看看构成步骤的组件及其目的。这将为你提供一个良好的理解,以便你可以在任务中构建有效的步骤。
了解步骤的组成部分
一个单独的步骤可以包括多个组件,具体取决于其目的。你可以包括用户的说明,确定步骤的运行方式,将其链接到地理处理工具或命令,控制视图和图层行为,以及管理单个步骤内的选择。让我们更仔细地看看这些组件或参数。
常规
步骤的第一个组成部分是步骤的一般信息和行为。这包括步骤名称、工具提示、说明和步骤运行行为,如下面的截图所示:
如前一个截图所示,在“常规”选项卡中字段或参数很少。它们如下所示:
-
步骤的名称是用户首先在任务中看到的列表中的内容。名称应该给用户一个大致的概念,说明步骤应该完成什么,例如“缩放到区域”或“选择地块进行编辑”。
-
工具提示是一个当你的鼠标指针移至相关对象上时出现的弹出窗口。这应该为用户提供更多信息,但最多不超过一个简短的段落。它通常与名称非常相似。
-
指示是步骤最重要的参数之一。它们是您向用户提供指示的地方,告诉他们在给定步骤中需要做什么以完成它。这些可以长到详细到您认为它们需要根据步骤的目的和目标受众。它们应该始终清晰且易于遵循。尽可能避免使用缩写或首字母缩略词,因为这些可能会引起混淆。
-
运行/继续说明告诉用户在完成说明以进入下一步后需要做什么。例如,点击运行按钮以启动步骤。一旦完成步骤,点击下一步按钮以继续。
-
最后,您需要确定步骤的运行方式。您有四种基本选项可供选择,即手动、自动运行、自动继续和自动。以下表格有助于我们更好地理解这四个选项:
| 步骤行为 | 描述 | 使用示例 |
|---|---|---|
| 手动 | 用户必须手动点击运行按钮以启动步骤,并点击下一步按钮以继续。 | 您希望用户激活探索工具并放大到特定区域。您正在使用此作为培训工具,因此需要他们看到探索工具被激活以供使用。 |
| 自动运行 | 这将自动运行命令或地理处理工具。用户使用相关工具执行操作,然后手动点击下一步以继续。 | 您希望用户从地图中选择要素,因此您已将选择矩形工具链接到步骤,并且它自动运行,因此用户不需要激活它。他们只需从地图中选择要素即可。 |
| 自动继续 | 用户点击运行按钮并运行步骤,完成后自动进入下一步。 | 您希望用户缓冲一个功能,但距离将根据情况而有所不同。用户将输入适当的缓冲距离,然后点击运行按钮。缓冲完成后,它将自动进入下一步。 |
| 自动 | 步骤在没有用户交互的情况下运行。自动步骤有隐藏选项。 | 您的用户正在处理一个地图,您需要他们切换到另一个地图。您可以在进入下一步之前包含一个自动步骤,将当前活动地图切换到另一个地图。 |
现在让我们继续到关于步骤第二个组件的下一节。
操作
步骤的下一个组件是操作。操作允许您将 ArcGIS Pro 命令或地理处理工具链接到步骤。ArcGIS Pro 命令是您在功能区中看到的任何按钮或工具,例如添加数据或测量。地理处理工具是工具箱中可用的任何工具,包括您或其他人可能创建的自定义 Python 脚本或模型。步骤不需要操作 - 它可以完全是指导性的。
以下截图显示了任务设计器面板中的操作标签:
您可以通过两种方式将命令或地理处理工具添加到步骤中:
-
第一种方法是编辑操作。这允许您从列表中选择一个命令或地理处理工具。您有使用关键词搜索的选项。
-
另一种方法是记录。当您记录时,您只需从 ArcGIS Pro 界面找到您希望使用的命令或地理处理工具并点击它。如果您过去手动执行过该步骤并且确切知道需要哪个工具,这是一个很好的选项。
您还可以使用一个称为“额外操作”的功能来管理与步骤相关的选择,该功能在步骤开始时、在运行命令之前或退出步骤时使用。在步骤内,您可以创建、修改、保存或清除一个新的选择,如下面的截图所示:
您可以将当前选定的要素保存到一个选择集中。这个选择集可以在任务中的后续步骤中使用。您还可以保存由本步骤或之前步骤创建或修改的要素,如下面的截图所示:
例如,如果在之前的步骤中您将地块分割成多个地块,分割后这些地块仍然被选中,并且您希望在后续步骤中编辑这些新地块的属性,您可以将这些分割地块的选择保存到一个名为“Split Parcels”的选择中,这样就可以在后续步骤中轻松地调用了。
您还可以清除选择或创建一个自定义查询来选择要素。自定义查询与按属性选择工具以及您在过去章节中使用过的定义查询非常相似。
使用额外操作也是可选的。一个步骤可以没有操作或额外操作的定义,它可能只指示了一个命令或地理处理工具,或者它可能只定义了额外操作,甚至是一个命令或地理处理工具与额外操作的组合。
视图
视图允许您在运行步骤时控制项目内打开和激活的地图、场景或布局。您将看到项目中包含的所有视图。虽然您可以在任何时候打开许多视图,但只有一个视图可以是活动的。
下面的截图显示了任务设计器面板中的“视图”选项卡:
活动视图将是步骤和定义的操作应用到的视图。因此,如果您正在创建一个选择分区多边形的步骤,您可能想确保分区视图是活动的。如果您的步骤有人向布局添加北箭头,您将希望适当的布局是打开和活动的。您可能想关闭一些视图以消除用户可能产生的混淆,以及减少可能使用的计算机资源数量。
如前述截图所示,您可以为步骤手动设置这些参数,从上一个步骤中捕获它们,或者根据创建步骤时项目当前设置来设置它们。
内容
正如您可以控制哪些视图是打开和活动的,您也可以控制您活动视图中的图层。在步骤内,您可以控制图层的可见性、是否可选、是否可编辑、是否可捕捉、是否为选定的图层以及标签的可见性。
以下截图显示了任务设计器窗格中的“内容”选项卡:
图层控制级别非常强大。它确保您的数据得到保护,并且仅在给定步骤中与您需要的图层一起工作。例如,如果您正在步骤内编辑一块地,您会想确保地块图层被设置为唯一的可编辑图层。这将确保用户不会意外地编辑城市界限或建筑图层,例如。
现在您对步骤如何在任务中配置和工作的理解更加深入,您现在可以开始向之前练习中创建的任务添加步骤了。
练习 11D – 向任务中添加步骤
在这个练习中,您将向之前创建的任务添加步骤,引导用户通过生成要修复的道路段附近的土地所有者名单的过程。
步骤 1 – 在任务设计器中打开任务
在此步骤中,您将打开在任务设计器中创建的任务,以便您可以开始创建步骤:
-
启动 ArcGIS Pro 并使用您在之前练习中学到的技能打开 Ex11。
-
在目录窗格中展开任务文件夹。
-
双击上一次练习中创建的“道路维修任务”项。这将打开任务窗格。
-
右键单击“创建附近地块列表任务”并选择“在设计中编辑”。任务设计器窗格应该打开在界面右侧,任务窗格应该进入设计模式。
您现在可以添加任务了。如果不是课堂练习,您将开始参考“学习创建任务”部分中那些问题的答案,您在创建任务之前需要考虑这些问题。您将特别关注四个问题中的第二个问题的流程。
为了练习的目的,这已经完成,您只需遵循练习说明即可。
步骤 2 – 添加缩放步骤
在此步骤中,您将添加一个步骤,指示用户放大到待修道路的位置。您将让他们使用探索工具放大到该位置:
-
在任务窗格中单击“新建步骤”按钮。新步骤将自动列在任务窗格中,步骤的参数将在任务设计器窗格中显示。
-
按以下方式设置常规参数:
-
在名称字段中,添加
使用探索工具缩放到街道。 -
在工具提示字段中,添加
缩放到将要修复的街道。 -
在说明字段中,键入
使用位于地图标签页上的探索工具,缩放到地图中将要进行修复的道路段的位置。如果您已经缩放到正确的区域,您可以跳过此步骤。 -
在运行/继续说明字段中,键入
一旦您成功缩放到街道的位置,请点击下一步继续。
-
我个人喜欢在说明中使用粗体字体来呈现任何命名的工具或按钮。这有助于用户识别它们的重要性。因此,在先前的说明和运行/继续说明字段中,我会将探索和下一步设置为粗体。
-
在步骤行为中,将其设置为自动运行步骤。您将连接探索工具作为此步骤的动作。通过将其设置为自动运行步骤,步骤将自动启用探索工具,而无需用户操作。用户所需做的只是开始缩放到地图中的正确区域。
-
最后,对于常规设置,将其设置为可选步骤,允许用户在开始任务时跳过步骤,如果他们已经缩放到将要修复的街道的正确位置。
您已为此步骤配置了常规参数。现在您将将其链接到一个动作。该动作将是探索工具。
-
点击任务设计器面板顶部的动作。
-
将鼠标指针移至<无>处。右侧应出现三个图标。点击编辑图标。
-
点击位于命令/地理处理面板中<无>右侧的下拉箭头。
-
从下拉列表中选择命令。
-
点击位于所选命令右侧出现的浏览器按钮。
-
在弹出窗口的搜索区域中,键入
Explore并选择探索(打开当前探索工具),然后点击确定:
- 点击位于任务设计器面板底部的完成按钮。
由于您只是让用户缩放到一个位置,因此您不需要配置其他动作或更改此步骤中视图或内容的设置。所以,您已经完成了这个步骤。记住,没有保存任务或步骤的按钮。它们在保存项目时自动保存。
- 保存您的项目。
恭喜,您已经创建了第一个步骤。但您还没有完成。您还需要创建几个更多步骤来完成此工作流程。
步骤 3 – 选择道路段
现在您需要添加一个步骤,指导用户选择将要修复的道路段。您将使用选择矩形工具,并指导用户从地图中选择道路:
-
点击任务面板中的新建步骤按钮以创建另一个新的步骤。
-
完成以下常规参数:
-
在名称字段中,添加
选择道路段。 -
在工具提示字段中,添加
选择将要修复的道路段。 -
在说明字段中添加
点击运行按钮以开始此步骤。然后,使用按矩形选择工具,从地图中选择计划修复的道路段。如果您已经选择了道路段,您可以跳过此步骤。 -
在运行/继续说明字段中添加
一旦您选择了计划修复的道路段,点击下一步按钮。 -
在步骤行为字段中选择手动。
-
启用可选功能,允许用户在已经选择了一段道路段的情况下跳过此步骤。
-
-
点击位于任务设计器面板顶部的操作选项。
-
将鼠标指针移动到显示的区域并点击记录图标。
-
点击位于地图标签页中的选择工具。注意这个工具会自动添加为操作。
由于您将在这个步骤中让用户在特定图层上选择一个功能,您想要限制他们运行此步骤时可以选择的图层。如您之前所学,您可以通过步骤中的内容设置来完成此操作。
-
点击位于任务设计器面板顶部的内容。
-
当这个任务运行时,您想要确保街道图层是可见和可选择的。点击位于可见性列下街道旁边的**–**,直到它变成绿色勾选标记。对选择列也做同样操作。
-
为了确保不会意外选择其他图层,您想要通过点击选择列中的–将剩余图层设置为不可选择,直到它们旁边都有一个红色的 X。
完成后,您的任务设计器面板应该看起来像这样:
- 保存您的项目。
您现在已为用户提供他们需要的说明,告诉他们如何缩放到计划修复的道路位置以及如何选择它。现在您需要告诉他们如何选择周围的 parcels。
第 4 步 – 选择附近的 parcels
在此步骤中,您将创建一个步骤,告诉用户如何选择他们在上一步中选择的路段附近的 parcels。您将使用按位置选择命令来完成此操作:
-
再次点击新建步骤按钮以创建新的步骤。
-
将通用参数设置如下:
-
在名称字段中添加
选择附近的 parcels。 -
在工具提示字段中添加
选择您在上一步中选择的路段附近的 parcels。 -
在说明字段中添加
使用按位置选择工具,您将选择位于所选道路段 100 英尺范围内的地块。
-
-
确保这个工具配置如下:
-
将输入功能图层字段设置为 parcels。
-
将关系字段设置为在距离内。
-
将选择功能字段设置为街道。
-
将搜索距离字段设置为
100英尺。 -
将选择类型字段设置为新选择。
-
-
一旦您已验证设置是否正确,点击运行按钮并确保以下内容:
-
在运行/继续说明字段中添加
点击下一步继续。 -
在步骤行为选项下选择手动。
-
-
点击“操作”,使用“记录”选项,将命令设置为位于地图选项卡中的“按位置选择”。
-
地理处理面板将自动打开。由于您正在手动运行此步骤,您可以关闭它并返回到任务设计器面板。
-
点击“内容”,设置使街道和地块图层可见,并且地块图层将是唯一可选择的图层。
-
保存您的项目。
现在附近的地块已选择,您还有最后一步要走。您将指导用户如何将选定的地块导出到Excel电子表格。
第 5 步 – 将选择导出到 Excel 电子表格
在此步骤中,您将创建一个新的步骤,指导用户将选定的地块导出到Excel电子表格:
-
在任务面板中点击“新建步骤”按钮。
-
按照以下设置通用参数:
-
在“名称”字段中,添加
导出到 Excel。 -
在“工具提示”字段中,添加
将选定的地块导出到 Excel 电子表格。 -
对于“说明”字段,按照以下方式完成 Table to Excel 地理处理工具的参数:
-
在“输入表”字段中,键入
Parcels。 -
在“输出表”字段中,键入
C:\Student\IntroArcPro\Chapter11\Parcels_TableToExcel.xls。在验证了您的设置后,点击“运行”。
-
-
在“运行/继续指令”字段中,点击“完成”以完成任务。
-
在“步骤行为选项”中,选择“运行手动”选项。
-
-
点击“操作”并点击编辑图标。
-
将命令类型设置为地理处理工具。
-
点击所选地理处理工具旁边的浏览按钮。
-
在“查找工具”单元格中,键入
Excel。 -
选择“Table to Excel”Python 脚本并点击“确定”。
-
确保已启用嵌入,并按您的说明设置参数。任务设计器面板应如下所示:
-
一旦您已验证了您的设置,请点击“完成”。
-
没有必要更改视图或内容设置,因此关闭任务设计器并保存您的项目。
您的任务现在已完成。您已添加所有必要的步骤,以选择计划修复的路段附近的地块,并将它们导出到Excel电子表格。现在您需要测试它。
第 6 步 – 运行您的任务
现在您的任务已完成,您将运行它以查看其工作效果。这将验证任务是否包含完成所需过程的所有步骤,并验证您的说明是否清晰,步骤是否按预期流动:
-
使用您学到的技能,找到并运行您刚刚创建的任务。仔细遵循每个步骤的说明。检查它们是否合理,并确保您得到预期的结果。
-
对任务及其步骤进行任何您认为需要的调整。
-
保存您的项目并关闭 ArcGIS Pro。
假设一切按预期运行,您刚刚创建了一个完整任务。您开发了一个工作流程,其他人将能够按照您的逐步说明完成特定过程。
挑战
利用本章学到的技能,选择本书中的一个先前练习,或你办公室中的一个常见流程,并为它开发一个任务。你也可以开发一个任务来复制该工作流程。
摘要
在本章中,你学习了如何使用任务来标准化流程、培训新用户并在你的组织中建立最佳实践。你还了解了构成任务的各个组件以及创建自己的任务时需要考虑的因素。
最后,你拥有了在 ArcGIS Pro 中创建自己任务所需的技能。你从头开始经历了创建新任务的过程,最终创建了一个将选定的数据导出到 Excel 电子表格的任务。这包括创建任务项、任务和任务步骤。
在下一章中,你将开始探索使用 ModelBuilder 和 Python 自动化多步骤过程的方法。这些方法允许你创建模型或脚本,可以将一系列工具和工作流程串联成一个单一的工具,从而节省你的时间和精力,尤其是在你定期执行的过程。
使用 ModelBuilder 和 Python 自动化流程
正如你所学的,执行分析或编辑要素需要许多步骤。你使用 ArcGIS Pro 越多,就越会发现自己在重复同样的过程。你也可能意识到,你反复执行的一些过程实际上只需要你进行很少的交互,比如选择一个要素,然后告诉 ArcGIS Pro 输出保存的位置。
如果你能自动化你反复执行的过程,那岂不是很有益? 你可以创建一个传说中的简易按钮,只需点击一个工具,填写一些参数,然后工具就会执行,完成后提供结果。这无疑会使你的工作变得更简单。
在本章中,使用 ArcGIS Pro,你将学习如何使用ModelBuilder和Python 脚本创建简易按钮或工具。这将为你提供创建自动化流程的技能,这些流程可以按顺序或同时运行多个工具以完成操作。ModelBuilder 使用可视化界面创建自动化模型,无需成为程序员。
Python 是 ArcGIS 平台的主要脚本语言。使用它,你可以创建非常强大的脚本,这些脚本可以在 ArcGIS Pro 中使用,也可以集成 ArcGIS 的所有组件中的过程,包括企业、在线、扩展、门户等。然而,创建 Python 脚本确实需要编写代码。
在本章中,你将学习以下主题:
-
区分任务、地理处理模型和 Python 脚本
-
创建地理处理模型
-
运行地理处理模型
-
使模型交互式
-
学习 Python
第十六章:技术要求
与本书中的其他章节一样,你需要拥有ArcGIS Pro 2.5或更高版本。本章的练习可以使用 ArcGIS Pro 的任何许可级别。
区分任务、地理处理模型和 Python 脚本
你在上一个章节中学习了任务,并阅读了本章的介绍;现在你可能想知道任务、地理处理模型和 Python 脚本之间的区别是什么。这是一个很好的问题。
你将在本节中找到这个问题的答案,但要理解它,你必须首先了解这些事物中的每一个是什么。你已经知道什么是任务,所以我们现在将专注于更好地理解模型和 Python 脚本是什么。一旦你理解了这一点,你就可以理解这三个之间的区别。
了解地理处理模型
地理处理模型 是在 ModelBuilder 窗口中创建的自定义工具,其中包含多个地理处理工具及其各种参数(包括输入、输出、选项和其他值),它们作为集成过程的一部分协同工作,就像是一个单独的工具一样运行。以下图表显示了一个非常简单的模型示例:
从前面的图表中,您可以看到它包含两个您在 第十章 中学习到的地理处理工具,即 使用地理处理工具进行分析 的缓冲区和剪辑工具。在模型中,缓冲区工具在输入 Streets 的周围创建缓冲多边形。
生成的缓冲多边形随后被用来剪辑出 Parcels 中的要素,这是位于缓冲多边形内部的剪辑要素输入。由于这两个地理处理工具都位于模型内部,用户只需运行模型而不是必须单独运行每个工具。模型会根据其中指定的参数自动运行工具。您将在本章后面学习更多关于模型组件以及如何创建模型的内容。
地理处理模型可以包括地理处理工具、Python 脚本、迭代器、仅模型工具和其他模型。这使得它们可以简单或复杂到您需要它们完成您设计的流程的程度。ModelBuilder 窗口允许用户在可视化环境中创建地理处理模型。构建模型不需要编写代码。
Esri 实际上把 ModelBuilder 称为一种可视化编程语言。
地理处理模型可以使用 ArcGIS Desktop (ArcMap 或 ArcCatalog)或 ArcGIS Pro 创建。然而,在一个软件中创建的模型并不总是能在另一个软件中成功运行。模型越简单,越有可能实现跨应用程序兼容。地理处理模型的另一个缺点是它只能从 ArcGIS Pro 或 ArcGIS Desktop 运行。您无法安排它们在特定日期和时间自动运行。至少不是通过它们自己。
现在我们来学习 Python 脚本。
理解 Python 脚本
Python 脚本 也是一个自定义工具,可以在集成过程中运行多个地理处理工具及其各种参数。然而,与不需要您编写编程代码的模型不同,Python 脚本则需要。您必须了解 Python 脚本语言才能创建 Python 脚本。以下代码是 ArcGIS 为 Python 创建的一个 Python 脚本的小片段:
#--------------------------------------------------------------
# Name: Union Tool Sample Script
# Purpose: Runs the Union Geoprocessing tool from ArcGIS
# Author: Esri & Tripp Corbin
#
# Created: 09/15/2015
# Updated: 05/08/2020 by Tripp Corbin, GISP
#
# Usage: Union two feature classes
#---------------------------------------------------------------
# Import the system modules
import arcpy
# Sets the current workspace to avoid having to specify the full path
# to the feature classes each time
arcpy.env.workspace = "C:\\student\\IntroArcPro\\Databases\\Trippville_GIS.gdb"
#Runs Union Geoprocessing tool on 2 Feature classes
arcpy.Union_analysis (["Parcels", "Floodplains"], "Parcels_Floodplain_Union", "NO_FID", 0.0003)
前面的代码以几行注释开始,提供了脚本目的的一般描述以及谁创建了它。在注释描述之后是下一行的import命令,它加载arcpy模型,以便脚本可以访问 ArcGIS 功能。这之后是一些更多的描述性注释,然后定义了一个变量来设置脚本中使用的数据将被访问或保存的工作空间。最后,脚本运行了你在第十章中学习的Union工具,使用地理处理工具进行分析。
Python 脚本相对于地理处理模型有几个优点:
-
首先,Python 不仅限于 ArcGIS。实际上,Python 可以用来为许多其他应用程序创建脚本,例如Excel、SharePoint、AutoCAD、Photoshop、SQL Server等。这意味着你可以使用 Python 脚本来在多个平台上运行工具,以创建一个真正集成的流程。
-
第二,Python 脚本可以从 ArcGIS 外部运行。这意味着你可以使用操作系统的调度应用程序安排它们在特定的时间和日期运行。如果你的脚本包含 ArcGIS 地理处理工具,脚本将需要访问 ArcGIS 许可证才能成功运行,但 ArcGIS 在脚本被安排运行时不需要打开和活动。
-
第三,Python 可以用来创建完全定制的地理处理工具。它不仅限于你在 ArcGIS Pro 工具箱中找到的地理处理工具。
现在我们来看看任务、地理处理工具和 Python 脚本之间的区别。
这三个之间的区别是什么?
现在你对任务、地理处理模型和 Python 脚本有了更深入的理解,你将能够正确地理解它们之间的区别。每个都可以在标准化和自动化常见的工作流程和过程中发挥作用。
下面的表格将提供对这三个之间区别的更清晰理解:
| 参数 | 任务 | 地理处理模型 | Python 脚本 |
|---|---|---|---|
| 自动运行单个地理处理工具 | 是,它可以作为步骤的一部分自动运行单个工具。 | 是 | 是 |
| 允许用户在运行工具之前提供输入 | 是 | 是 | 是 |
| 自动按顺序运行多个地理处理任务 | 否 | 是 | 是 |
| 包含在任务中 | 否 | 是 | 是 |
| 包含在地理处理模型中 | 否 | 是 | 是 |
| 提供了文档化的工作流程 | 是 | 是 | 否 |
| 从 ArcGIS Pro 外部(外部)运行 | 否 | 否 | 是 |
| 与其他应用程序集成 | 否 | 否 | 是 |
| 安排在特定的时间和日期运行 | 否 | 否 | 是 |
| 需要编程语言知识 | 否 | 否 | 是 |
因此,正如您现在可以从前面的表中看到的那样,任务、地理处理模型和 Python 脚本之间存在很大的差异。任务用于定义包含多个步骤的工作流程。一个任务可能包括使用地理处理模型或 Python 脚本,但地理处理模型或 Python 脚本不能引用任务。
既然您已经了解了任务、地理处理模型和 Python 脚本之间的区别,我们将开始探索如何创建一个地理处理模型。
创建地理处理模型
如前所述,地理处理模型是从 ModelBuilder 内部创建的自定义工具。ModelBuilder 提供了构建模型的图形界面,同时允许您访问仅适用于模型的额外工具、迭代器、环境设置和模型属性。
创建模型的原因有很多。第一个也是最常见的原因是自动化在 ArcGIS Pro 中执行的重复过程。如果您有一个定期执行的分析、转换或其他过程,则可以使用模型来自动化它。
其次,您可以使用模型在 ArcGIS Pro 中思考和创建流程图过程。这可以帮助您确保您已经考虑了完成过程所需的所有工具和数据。一旦完成,该模型将提供完成该过程的工具,以及解释如何执行该过程的视觉和文本文档。
您可以将模型与组织内的其他人共享,以便他们可以使用它来执行该过程。这可以减少您的工作量,让您能够专注于其他需要更高知识和技能水平的工作。由于模型会自动运行其中包含的地理处理工具,您可以通过创建一个易于其他不太熟悉地理信息系统(GIS)的成员独立运行的模型来简化操作,而无需完全理解 ArcGIS Pro。这也有助于标准化我们的方法,确保一切都在一致和批准的方式下完成。
所有这些都有助于通过提高效率来节省我们时间和金钱,这是 ModelBuilder 的主要力量。与任务一样,模型由多个组件组成,并与其相关的术语相关联。我们将在下一节中了解这些内容。
理解模型组件和术语
在您能够创建模型之前,您需要了解构成它们的各个部分。模型包括一系列连接的过程。每个过程都包含一个工具,可以是地理处理工具、另一个模型或 Python 脚本。每个工具都有变量作为输入或输出。
以下图表显示了两个连接的过程:
如前图所示,该模型包含围绕缓冲区和联合工具构建的两个过程。这些工具中的每一个都有许多变量输入。变量通过蓝色和绿色的椭圆形来识别。请注意,两个过程正在共享一个变量 - Street_Buffer。这个变量是缓冲区工具的输出,也是联合工具的输入。
模型中包含三种基本的变量类型。如下所示:
-
数据变量:这些变量是作为工具、脚本或模型输入的现有数据。这些可以是地图中的图层、独立的表格、文本文件、要素类、shapefile 等。
-
值变量:这些变量是工具可能使用的附加信息,以运行。在缓冲区工具的情况下,用于创建缓冲区的距离被视为值变量,以及溶解、端类型和其他参数,这些参数在您在地理处理窗格中正常运行缓冲区工具时出现。
-
派生变量:这些变量是过程的输出。同样,这可以是一个新的图层、要素类、表格、栅格或更多,具体取决于过程中使用的工具。
下图展示了模型中三种基本变量的一个示例:
由于 ModelBuilder 是一种可视化编程语言,如前图所示,您可以根据它们的颜色区分变量的类型。虽然您可以通过默认设置调整这些设置,但数据变量是较深的蓝色。值变量是较浅的蓝色,派生变量是绿色。
接下来,我们将学习如何保存您创建的模型。
保存模型
如果您希望保存您创建的模型以便再次使用或与他人共享,您必须将其保存在您将创建的自定义工具箱中。模型不能保存在 ArcGIS Pro 安装时自动包含的系统工具箱中。
当您创建一个新的项目时,ArcGIS Pro 会自动为该项目创建一个自定义工具箱。它存储在项目文件夹中,作为一个.tbx文件。这为您提供了一个易于使用的地方来存储您的模型。此工具箱还自动链接到您的项目,并在以下方式中在目录窗格中可访问:
您也可以在地理数据库中创建自定义工具箱,以便与它一起,您的模型和 Python 脚本也存储在您的 GIS 数据中,如下面的截图所示(如果要将保存到工具箱中的模型或工具用于多个 ArcGIS Pro 项目,这是一个不错的选择):
您还可以创建除自动与新建项目一起创建的.tbx文件之外的其他自定义.tbx文件。如果您要保存的工具和模型不仅将在多个项目中使用,而且还将跨多个数据库使用,或者是在咨询人员和多个客户的情况下使用,那么使用自定义.tbx文件是完美的。以下屏幕截图显示了位于文件夹中的自定义工具箱文件示例:
使用自定义.tbx文件存储模型也使得与他人共享它们变得更加容易,因为它们比地理数据库小,而且还包括所有 GIS 数据。.tbx文件可以轻松地通过电子邮件发送、上传到文件传输协议(FTP)站点,或者放置在您的 ArcGIS Online 账户中。
现在您已经对模型有了很好的总体理解,包括其组件以及如何保存模型,现在是时候将知识付诸实践了。
练习 12A – 创建模型
最近刚刚通过了一项新法规,以保护 Trippville 地区的溪流。该法规要求所有新的建筑或改善项目至少在所有溪流或溪流的中心线 150 英尺以外进行。这有望保护河岸不受侵蚀,并减少污染径流到达它们。
社区和经济发展主任要求您计算每个地块在非扰动区域内的总面积以及每个地块有多少面积在外。由于您需要随时在添加新的分区或商业开发时更新此分析,因此您决定创建一个模型,每次您需要执行这些计算时都可以运行该模型。
在这个练习中,您将创建一个简单的模型,该模型将计算每个地块在溪流周围非扰动缓冲区内部和外部各占多少面积。此模型将包括几个地理处理工具及其相关变量。
第 1 步 – 打开项目和 ModelBuilder 窗口
第一步是打开项目然后打开 ModelBuilder 窗口,这样您就可以开始创建模型:
-
启动 ArcGIS Pro 并打开位于
C:\Student\IntroArcPro\Chapter12的Ex12.aprx项目。 -
当项目启动时,请在目录窗格中展开
Toolboxes文件夹。 -
右键单击您屏幕上看到的 Ex12 工具箱。
-
选择“新建 | 模型”选项,如图所示:
ModelBuilder 现在应该已经打开,并且 ModelBuilder 选项卡应该已经出现在功能区中。ModelBuilder 窗口和选项卡一起使用来创建或编辑模型。正如您在以下屏幕截图中所见,ModelBuilder 选项卡包含用于保存模型、在 ModelBuilder 窗口中导航以及向模型添加内容的工具:
您现在将开始使用这些工具来创建您的模型。
第 2 步 – 添加模型组件
在这一步,你将开始向你的模型添加工具和变量。你将探索可以在这里使用的一些不同方法。你将首先添加生成流周围非干扰缓冲区的过程:
-
在工具栏的模型构建器选项卡上的插入组中单击工具按钮。这将在界面的右侧打开地理处理面板。
-
在面板顶部单击工具箱选项卡以显示 ArcGIS Pro 中的各种工具箱。这些工具箱将是你的系统工具箱。
-
展开分析工具工具箱,然后展开邻近工具集。
-
从工具箱中将缓冲工具拖放到模型构建器窗口中,使其看起来像这样:
你刚刚将第一个过程添加到了模型中。模型过程将存在于三种状态之一:未准备好运行、准备好运行和已运行。你刚刚添加的过程处于未准备好运行状态。
ArcGIS Pro 通过以灰色显示工具和变量来直观地表示。一个过程将在所有必需的变量都定义之前处于未准备好运行状态。在缓冲工具的情况下,你尚未定义所需的三个变量:输入要素类、缓冲距离和输出要素类。你现在将这样做。
- 模型中使用的缓冲工具的输入要素类将是你的地图中的流层。因此,你现在需要将这个层作为变量添加到模型中。在内容窗格中选择流层,并将其拖入模型构建器窗口。它将以蓝色椭圆形添加,如下面的截图所示:
-
在模型构建器中的空白区域内单击以取消选择流变量。
-
现在,你需要将你刚刚添加的流变量连接到缓冲工具。单击流变量,然后按住鼠标左键,将鼠标指针移动到缓冲工具上。然后,释放鼠标按钮。
-
应该出现一个小弹出菜单;选择输入要素。你刚刚为缓冲工具定义了输入要素类。
-
现在,在模型构建器窗口中双击缓冲工具。这将打开模型构建器中的工具对话框,以便你可以定义其他变量。
-
输出应自动设置为 Streams_Buffer,它正在保存到
C:\Student\IntroArcPro\Chapter12\Ex12.gdb\。通过将鼠标悬停在输出要素类名称上验证这是否正确。对于这个练习来说,这将很好,所以你将保持不变,不进行更改。 -
在距离[值或字段]中输入
150,并验证单位是英尺。 -
由于导演没有指出保留任何流属性在新缓冲层中对于计算很重要,因此您将得到的结果缓冲区将溶解。单击“溶解类型”下的下拉箭头,然后选择将所有输出要素溶解为单个要素:
缓冲工具窗口现在应该看起来与前面的截图相似。根据您之前可能执行的操作,输入要素的名称可能略有不同。
-
在验证了您的设置后,单击“确定”。
-
在模型构建器选项卡上单击自动布局按钮。
您的模型现在应包含一个单个完成流程,该流程处于就绪运行状态。您可以通过工具和所有连线变量的彩色填充(非灰色)来判断它是否就绪运行,如下面的截图所示:
现在让我们保存您的模型,以确保在发生意外情况时您的工作不会丢失。
-
在模型构建器选项卡上的模型组中单击“属性”按钮。
-
在相应的属性中填写以下详细信息:
-
在名称字段中键入
ParcelsStreamProtectionBuffer。 -
在标签字段中键入
Parcels Stream Protection Buffer Analysis。 -
将所有其他属性保留为默认设置。
-
-
确认您的工具属性窗口看起来与以下截图相似,然后单击“确定”:
- 在模型构建器选项卡上的模型组中单击“保存”按钮以保存模型。如果您仍然打开了目录窗格,您应该看到模型的名称从“模型”更改为您之前输入的标签。
模型的名称不能包含空格或其他特殊字符,除了下划线。标签可以更加详细,没有相同的限制。
您在模型中创建的流程将生成流周围的缓冲区。现在您需要添加另一个流程来计算每个包裹在缓冲区内的数量。
您将使用联合工具将包裹与新建的流缓冲区联合。这将创建一个新的要素类,它将在流缓冲区重叠的地方分割每个包裹,从而让您确定缓冲区内外的数量。
第 3 步 - 添加另一个流程
在此步骤中,您将向模型中添加另一个流程。此流程将包括联合工具。然后,您将此新流程链接到您在上一步骤中创建的流程:
-
再次在模型构建器选项卡上单击工具按钮以打开地理处理窗格。
-
在分析工具箱中展开叠加工具集。
-
通过在工具上右键单击并选择将工具添加到模型中,将联合工具添加到您的模型中。
-
如果需要,使用您的滚轮在模型构建器窗口中向外缩放,直到您有足够的空间看到联合工具和缓冲工具。
-
在选择合并工具和输出要素类变量后,使用您的鼠标将它们移动到缓冲工具下方,如图所示:
您现在已将合并工具添加到模型中。现在您需要将其链接到缓冲工具的输出,并定义其余所需变量。
-
双击合并工具以打开工具窗口。
-
在合并工具窗口中,单击“输入要素”旁边的小箭头,然后从显示的列表中选择“地块”。
-
重复此过程以选择位于模型变量下的Streams_Buffer。
-
将输出设置为
C:\Student\IntroArcPro\Chapter12\Ex12.gdb\Parcels_StreamBuff_Union。 -
确认您的合并工具设置与以下截图匹配,然后单击“确定”:
您的整个模型现在应处于就绪运行状态,看起来类似于以下:
与前面的图相比,您的布局可能不同。只要正确连接,并且进程处于就绪运行状态,这是可以接受的。
-
保存您的模型和项目。
-
您可以选择关闭 ArcGIS Pro 或保持打开状态,如果您计划继续使用。
您已经学会了如何创建模型,并理解了其组件。创建模型后,当然,您会想要运行它。运行模型的方法有很多,所以我们将查看如何在下一节中运行模型。
运行模型
您可以运行整个模型和处于就绪运行状态的进程,或者只运行模型中的单个进程。在本节中,您将探索在模型构建器中创建的模型的不同运行方式。
如果您希望运行整个模型,最简单的方法是双击它,从存储的工具箱中运行。这将运行模型中所有处于就绪运行或已运行状态的进程。如果您允许用户为模型中的某些变量提供值,他们将在模型运行之前被提示输入这些值。
否则,如果您没有允许用户输入,模型将只指示地理处理窗口中没有参数,您只需单击“运行”按钮即可。您将在本章稍后学习如何使模型交互。
您也可以选择从模型构建器窗口运行模型或模型中的进程。在模型构建器选项卡中单击“运行”按钮将运行模型中所有准备就绪的进程。它不会运行处于已运行或未就绪状态的进程。这允许您在构建和测试模型的同时,无需运行整个模型。
现在您已经对如何运行模型有了更多的了解,您将有机会将所学知识付诸实践。
练习 12B – 运行模型
在这个练习中,你将首先在 ModelBuilder 中运行你的模型。然后,你将直接从工具箱中运行它,这样你就可以看到当用户运行模型时会经历什么。
第 1 步 – 从 ModelBuilder 运行模型
在这一步,你将在第十二章的练习 12A,使用 ModelBuilder 和 Python 自动化流程中,从 ModelBuilder 内部运行你在第十二章创建的模型。你还将探索如何运行单个过程,这样你可以在创建模型的同时测试你的模型:
-
如果你在上一个练习后关闭了 ArcGIS Pro,请启动 ArcGIS Pro 并打开
Ex12.aprx项目。 -
在目录窗格中展开工具箱文件夹,然后展开 Ex12 工具箱。
-
右键单击你在练习 12A中创建的模型,并从显示的上下文菜单中选择编辑。这将打开 ModelBuilder 窗口。
如果你在上一个练习中成功创建了模型并保存了它,所有进程都应该处于就绪运行状态。这可以通过所有工具和变量都应用了实心填充色来表示。如果有任何填充灰色或为空,那么你需要回到第十二章的练习 12A,使用 ModelBuilder 和 Python 自动化流程,并重新完成练习。
- 在 ModelBuilder 中右键单击缓冲工具。选择运行以使用在模型中定义的连接变量运行缓冲工具。ModelBuilder 内部将弹出一个小窗口,显示缓冲工具的进度,并告诉你何时完成。当工具完成时,注意缓冲工具及其相关变量的图形发生了什么,如下面的截图所示:
缓冲工具进程现在处于已运行状态。这意味着你已经在模型中成功运行了该进程。
问题:缓冲工具及其相关变量的图形是如何变化的?
正如你开始学习的那样,进程的状态将影响其运行方式。现在这个进程处于已运行状态,如果你在功能区点击运行按钮,它将不会再次运行。运行按钮只会运行处于就绪运行状态的进程。让我们验证一下。
-
通过点击右上角的 x 关闭运行缓冲工具时出现的弹出窗口。
-
在 ModelBuilder 选项卡上的运行组中点击运行按钮。观察模型运行时发生了什么。
问题:模型是否尝试重新运行缓冲工具?当你点击运行按钮时,模型运行了哪些工具或工具,为什么?
我们现在将进入下一步,关于如何重置运行状态。
第 2 步 – 重置运行状态
在这一步,你将学习如何将模型中所有处于已运行状态的过程的运行状态重置为准备运行状态:
- 在工具栏的 ModelBuilder 选项卡中,点击运行组中的验证按钮,如图所示:
问题:模型中所有处于已运行状态的过程会发生什么?
- 点击工具栏上的运行按钮,观察这次模型是如何运行的。所有过程这次都会运行,因为它们都处于准备运行状态。
现在,你将实际验证你的模型是否运行,并在项目数据库中创建了它应该创建的特征类。
- 在目录窗格中展开数据库文件夹,然后展开 Ex12 地理数据库。
如果你没有在地理数据库中看到任何内容,你可能需要右键单击它并选择刷新。这应该允许它显示模型创建的新要素类。
问题:你在数据库中看到了什么?
-
右键单击你在 Ex12 地理数据库中看到的每个要素类,然后选择删除,直到数据库为空。如果你被问及是否确定要永久删除这些项目,请选择是。删除这些要素类将允许你在下一步直接从工具箱运行模型时验证模型是否正确运行。
-
关闭ModelBuilder窗口。如果被要求保存模型,请保存。
我们现在将进入下一步,关于如何从工具箱运行模型。
第 3 步 – 从工具箱运行模型
在这一步,你现在将直接从工具箱运行模型。这将是大多数用户访问和运行你创建的模型的方式。使用这种方法运行模型将允许你拥有与用户运行模型时相同的体验:
-
确保地图视图是活动的,通过点击视图区域顶部的地图选项卡。
-
在目录窗格中,展开工具箱 | Ex12 工具箱。
-
双击你创建的 Parcels Streams Protection Buffer Analysis 模型,如图所示:
-
当你双击你的模型时,它应该在地理处理窗格中打开。它将声明没有参数。这是预期的,因为你没有定义任何作为参数的变量,这些变量将接受用户输入。点击地理处理窗格底部的运行按钮。
-
当模型完成后,返回到目录窗格。
-
再次转到数据库 | Ex12 地理数据库。
问题:现在在 Ex12 地理数据库中的要素类是什么,它与你在 ModelBuilder 内部运行模型时有什么不同?
当你在 ModelBuilder 内部运行模型时,它会在 Ex12 地理数据库内产生两个不同的要素类。然而,当你从工具箱运行它时,它只产生了一个。这是为什么?
答案是模型中由缓冲区工具创建的特征类被认为是中间数据。中间数据是指任何在模型内部创建并随后被其他工具使用,但不是一系列链接过程最终结果的要素类或表。
当你从一个工具箱中运行模型时,它会自动清理。这意味着它会自动删除模型运行过程中创建的中间数据。它留下的唯一数据是模型中任何过程的最终结果,这不是中间数据。最终结果是,你得到了你需要的数据,而没有留下大量可能使你的数据库变得杂乱无章的局部数据集或图层。
- 保存你的项目并关闭 ArcGIS Pro。
现在,你已经学会了如何根据你在应用程序中的位置使用不同的方法来运行你的模型。在创建或编辑模型时,你现在知道如何运行模型中包含的各个过程。你还学会了如何从 ModelBuilder 和工具箱中运行你的模型。
现在你已经创建并运行了你的第一个模型,你现在可以随时运行这个模型来更新洪水平原内外每个地块的计算。
在下一节中,我们将学习如何使我们的模型对用户更加交互式。
制作一个交互式模型
因此,你已经创建了你的第一个模型。这是一个非常高效的工具,可以帮助你快速更新信息。然而,如果缓冲区距离发生变化或主管想要查看不同的图层,如土地利用或仅商业地产,会发生什么? 在本节中,你将探索不同的方法,允许用户为模型中包含的指定参数提供输入。
目前,你创建的模型是针对一组特定变量硬编码的。如果有什么变化,你将不得不在模型可以使用之前编辑它。难道不是更有效,允许其他人在运行模型时为变量指定不同的值吗? 你可以做到这一点。这只需要你将变量指定为模型内的参数。这样,用户在运行模型之前就可以提供值。
要将变量指定为参数,以便用户在运行时指定值,你只需在 ModelBuilder 中右键单击变量并选择参数。当你这样做时,一个小的大写 P 将出现在变量旁边,表明它现在是一个模型参数,如下面的图所示:
在前面的图中,你可以看到 Parcels 和 Parcels_ StreamBuff_Union 变量都被标记为参数。这将允许用户选择他们希望用于这些变量的值。这意味着他们除了可以将溪流缓冲区与地块图层联合外,还可以控制结果保存的位置和名称。
使模型交互式可以大大增加其功能。它将允许模型在不同的场景和不同的数据集中使用。缺点是,你使模型越交互式,引入操作员错误的机会就越大。用户可能会为工具选择错误的输入层或忘记他们设置最终结果保存的位置。这可能导致比模型设计解决的问题更多。因此,灵活性硬编码之间总是需要平衡,以消除错误来源。
现在,让我们给你一个机会使你的模型交互式。
练习 12C – 允许用户输入运行模型
导演对你的模型印象深刻。它使他们能够轻松地计算出流保护区内外每一块地的面积。委员会正在考虑改变非干扰区的缓冲距离,而导演希望查看不同距离的影响。因此,他们需要能够以允许他们指定不同缓冲距离并使用不同名称保存整体结果的方式运行模型。
在这个练习中,你将使你之前创建的模型对用户交互式,并允许他们为模型内的变量提供自己的值。你将允许用户指定他们想要使用的缓冲距离以及模型的最终输出。
第 1 步 – 标记变量为参数
在这一步中,你将学习如何在模型内指定变量为参数。你将使缓冲距离和联合工具的输出在你的模型中成为参数:
-
打开 ArcGIS Pro 和
Ex12.aprx项目。 -
在目录窗格中展开工具箱文件夹。
-
在目录窗格中展开 Ex12 工具箱,然后右键单击 Parcels 流。右键单击在上一练习中创建的保护缓冲分析模型。选择编辑以在模型构建器中打开它。
-
右键单击联合工具的输出变量并选择参数。变量旁边应出现一个小 P,如图所示:
- 然后,保存你的模型。
通过将联合工具的输出作为模型参数,用户现在将能够选择他们将在哪里保存模型的最终输出以及它将被命名为什么。这是导演要求的两个要求之一。现在你需要允许用户指定一个缓冲距离。
缓冲距离目前是硬编码在模型中的。你需要像对联合工具的输出那样将其作为参数。然而,缓冲变量是隐藏的。因此,首先,你需要使它在模型中可见,然后将其指定为参数。
第 2 步 – 暴露隐藏变量
在这一步中,你将暴露缓冲工具的距离变量,以便你可以将其作为参数:
-
在模型构建器中右键单击缓冲工具。
-
选择创建变量 | 从参数选项。这将显示与缓冲工具相关联的所有隐藏变量的列表。
-
选择距离[值或字段],如图所示的下个屏幕截图:
距离变量现在应该在你的模型中可见。现在它可见后,你将能够将其指定为一个参数。
- 将鼠标指针移动到刚刚添加到我们模型中的距离变量上。当指针变为两个交叉箭头时,表示现在处于移动模式,拖动距离变量使其位于缓冲工具上方,如图所示的下一个屏幕截图:
-
右键单击距离变量并选择参数。现在应该在小写字母 P 旁边出现,表示它现在是一个模型参数。
-
保存你的模型。
你的模型现在应该看起来非常类似于这个:
前一个屏幕截图所示的模型现在应该满足导演提出的要求。他们现在可以使用不同的距离从溪流中看到它对地块的影响。导演可以在每次运行模型时将结果保存到不同的名称和位置。
最后一步是验证你的工作。你需要测试运行模型以查看它是否允许用户指定距离和输出值。
第 3 步 – 运行模型
在这一步,你将从工具箱中运行模型以确保它允许导演输入距离并指定输出保存的位置。由于你没有更改模型的总体逻辑或功能,因此不需要再次测试模型内部的过程:
-
关闭模型构建器视图。
-
如果需要,在目录窗格中展开工具箱文件夹和 Ex12 工具箱。
-
双击你创建的模型以在地理处理窗格中打开它。
注意这次当你打开模型在地理处理窗格中时,它看起来不同。不再是说没有参数,而是要求用户提供你指定的两个变量的值。
-
将 Parcels_Stream_Union 变量的值更改为
C:\Student\IntroArcPro\Chapter12\Ex12.gdb\***%Your Name%_Results***(即Tripp_Results)。 -
将距离值更改为任何你想要的不是 150 英尺的值。如果你愿意,甚至可以更改单位。
-
在你更改变量的值完成后,点击地理处理窗格底部的运行按钮。
-
一旦模型运行完成,关闭地理处理窗格。
-
在目录窗格中,验证生成的输出要素类位于
Ex12.gdb。 -
保存你的项目并关闭 ArcGIS Pro。
您现在已经创建了您的第一个交互式模型。此模型为用户提供更多灵活性,使他们能够调查不同的场景。接下来,您将了解 Python,它是 ArcGIS 平台的主要脚本语言。您可以使用 Python 脚本来自动化流程,然后安排它们在特定时间运行。Python 脚本还可以用于帮助将 ArcGIS 与其他应用程序集成。这使得 Python 脚本语言成为提高您 GIS 效率的有力工具。
学习 Python
Python 是 ArcGIS 平台的主要脚本语言。它已取代了其他语言,如 Visual Basic (VB)。ArcGIS Pro 2.5 目前与 Python 3.6.9 兼容,当您安装 ArcGIS Pro 时,它会自动安装。
Python 已通过 ArcPy 模块完全集成到 ArcGIS 地理处理 应用程序编程接口 (API) 中。这意味着您可以在 ArcGIS Pro 中使用地理处理工具,并在您的脚本中自动化和安排任务。
与 ModelBuilder 不同,Python 不限于仅限于 ArcGIS 平台。它用于创建访问其他应用程序、操作系统和计算机中函数的脚本。这使得您能够创建扩展和集成 ArcGIS Pro 功能的脚本,跨越平台和应用程序。因此,Python 是 GIS 开发者工具箱中一个非常灵活的工具。
Python 脚本可以存储在 ArcGIS 工具箱或独立的文件夹中,以 .py 文件的形式。与 C++ 或 VB 等其他编程语言不同,创建 Python 脚本不需要特殊的应用程序开发软件。您可以使用简单的文本编辑器,如 记事本 或 写字板。Python 有几个免费的 集成开发环境 (IDE) 应用程序,例如 PythonWin 或 IDLE。IDE 应用程序比文本编辑器提供了更好的开发环境,因为它们包括自动编码提示和调试工具。当您安装 ArcGIS 时,它将自动安装 Python 和 IDLE。
ArcGIS Pro 还包括一个 Python 窗口,可以用来编写 Python 脚本、使用 Python 运行工具以及将 Python 脚本加载到视图中查看代码。新 Python 开发者通常会发现 Python 窗口很有帮助,因为它具有集成界面和自动建议功能,这有助于指导正确的语法。
让我们先看看一些 Python 基础知识。
理解 Python 基础
由于这是您对 Python 的第一次介绍,现在是介绍一些基础知识和最佳实践的好时机。这些知识将帮助您开始编写自己的脚本。
注释和记录您的脚本
当您开始创建 Python 脚本时,包含代码中的文档被认为是一种最佳实践,这有助于其他开发者理解代码中的内容以及脚本特定部分的目的。这也有助于您在将来需要回到您很久以前编写的脚本并需要做出更改时。
这种代码内文档通常使用注释来完成。将注释代码视为存储在代码本身中的元数据形式。它为用户和其他程序员提供了 who、what、where、when 和 why 数据。他们可能需要这些数据来成功使用、集成或编辑您创建的脚本。不同的编程语言使用不同的方法来注释代码。Python 使用 井号 (#) 来标识其代码中的注释行,如下面的截图所示:
如您在前面的截图中所见,每当 Python 遇到以 # 开头的行时,它会忽略该行并移动到下一行。它将继续忽略带有 # 的行,直到遇到一个开头不是 # 的行。
传统上,Python 脚本中的前几行用于提供有关脚本的基本信息,例如其目的、谁创建了它、何时创建的、为哪个 ArcGIS 版本创建的,等等。提供这些基本信息被认为是行业最佳实践。
现在,让我们了解我们在 Python 中使用的变量。
Learning about variables
就像模型一样,Python 脚本可以包含变量。在 Python 中定义变量时,您给它一个名称和一个值。同样,与模型类似,分配给变量的值可以是硬编码的,可以引用另一个过程的结果,或者可以是 ArcPy 或另一个模块的函数。
例如,您可以定义一个变量,该变量将被用作 Buffer 工具的输入如下:
In_buf_fc = "streams"
这个变量随后将在 Python 脚本中使用 Buffer 工具如下:
Buffer_analysis (In_buf_fc, "C:\\GIS\\Trippville.gdb\\Streams_Buffer",
"125 Feet", "FULL", "ROUND")
您可以从前面的示例代码中看到,已定义变量的使用已被突出显示。在实际脚本中,您不会将变量加粗。这只是在这个例子中为了帮助您更容易地看到变量的使用。
在编写脚本时,需要特别注意的另一件特别重要的事情是 Python 是区分大小写的。这意味着名为 Mapsize 的变量与名为 mapsize 的变量不同。对 Python 来说,这些都是两个不同且独立的对象。这是编写和运行 Python 脚本时最常见的问题之一。
Python 在脚本中定义变量时还有其他限制:
-
变量名必须以字母开头。它们不能以数字开头。
-
变量名不能包含空格或其他特殊字符。一个例外是下划线(**)。
-
变量名不能包含以下保留关键字:
-
Class
-
If
-
For
-
While
-
Return
-
现在让我们继续学习 Python 中使用的数据路径。
理解数据路径
通常,当你定义变量、访问数据或保存工具的结果时,你需要引用特定的文件或数据路径。在传统的 Windows 环境中,这通常需要你使用反斜杠定义路径。例如,你通过访问 C:\Student\IntroArcPro 来获取这本书的数据和练习。这是一个路径的例子。
不幸的是,你无法在 Python 脚本中使用这种常见的定义路径的方法。反斜杠在 Python 中是保留字符,用于表示转义或行续行。因此,在指定数据路径时,你必须使用不同的方法。Python 支持三种定义路径的方法:
-
双反斜杠:
C:**\\**Student**\\**IntroArcPro -
单个正斜杠:
C:**/**Student**/**IntroArcPro -
带有前缀
r的单个反斜杠:r"C:\Student\IntroArcPro"
在创建自己的脚本时,你可以使用上述任何一种方法。虽然在一个脚本中使用这些方法是可接受的,但建议你尝试在整个脚本中始终使用相同的方法。这将帮助你更快地定位可能的错误并修复它们。
在下一节中,我们将学习 ArcPy 模块。
学习 ArcPy 模块
ArcPy 模块是一个 Python 站点包,它允许 Python 访问 ArcGIS 功能。功能级别受限于运行脚本的 ArcGIS Pro 许可证级别和用户可用的扩展。
通过 ArcPy 模块,Python 不仅可以使用 ArcGIS Pro 系统工具箱中的工具或其他自定义工具执行地理处理任务,还可以执行其他功能,例如列出给定位置内的可用数据集或描述现有数据集。它还可以创建对象,如点、线、多边形、范围等。
ArcPy 模块包含几个子模块。这些子模块是特定目的的库,包含函数和类。这些子模块包括以下内容:
-
数据访问模块 (
arcpy.da) -
映射模块 (
arcpy.mp) -
空间分析师模块 (
arcpy.sa) -
网络分析师模块 (
arcpy.na)
空间分析师和网络分析师模块需要访问同名的 ArcGIS 扩展。
ArcPy 模块必须被加载到脚本中,以便 Python 可以访问 ArcGIS Pro 的功能。这通常是在新脚本的开头使用以下语法完成的:
import arcpy
这一行允许 Python 访问 ArcGIS Pro 工具和函数。也可以使用相同的行加载其他模块,例如操作系统 (os) 或系统 (sys) 模块。
现在你已经对 ArcPy 模块有了非常基本的了解,你如何知道在 Python 脚本中使用地理处理工具的正确语法呢? 在下一节中,你将了解到如何找到 ArcGIS Pro 中包含的各种地理处理工具的正确语法。
查找地理处理工具的 Python 语法
找到执行特定地理处理工具所需的 Python 代码就像打开该工具的帮助信息一样简单。Esri 在 ArcGIS Pro 及其扩展中为所有地理处理工具提供了示例 Python 代码。
这包括在脚本中使用的正确语法以及可以与工具一起使用的变量描述。当通过单击面板右上角的小蓝色问号打开工具时,可以在地理处理面板中访问特定工具的帮助。如下面的截图所示:
帮助信息中的语法页面将显示代码的正确格式,以及可能包含的可能变量的描述。以下截图显示了来自 Esri 帮助的 Union 工具语法的示例:
可以通过 ArcGIS Pro 在线帮助中的工具参考访问 ArcGIS Pro 中所有工具的帮助。访问地址为 pro.arcgis.com/en/pro-app/tool-reference/main/arcgis-pro-tool-reference.htm。
帮助信息还将包括代码示例片段,帮助将语法与更大的过程联系起来。通常可以将帮助中的示例代码复制并粘贴到你的脚本中;然后,你可以轻松调整复制的代码以满足你的需求,如下面的截图所示:
上述截图是来自帮助的 Union 工具示例代码片段。正如你所见,它提供了一个在现实世界环境中代码的可理解示例。这为你提供了一个更好的理解,了解该工具如何在自定义脚本中使用。注意代码示例中的注释以及它们如何帮助更好地理解代码各部分的目的。
如果你想要更详细地探索 ArcGIS 和 Python 之间的关系,你可能发现这个链接有帮助和参考价值:pro.arcgis.com/en/pro-app/arcpy/get-started/installing-python-for-arcgis-pro.htm
现在是你尝试编写一个简单的 Python 脚本的时候了。
练习 12D – 创建 Python 脚本
Trippville 市运营一个 GIS 网络应用,允许市民和选举官员访问地块数据。这个 GIS 网络应用结合了来自城市的其他数据层和 ArcGIS Online 以及 Google Maps 的数据。因此,地块必须从本地州平面坐标系投影到 WGS 84 Web Mercator (辅助球面) 系统。这是 Esri、Google 和 Bing 用于 GIS 网络应用和数据的常用坐标系。
你还可以在将新数据添加到网络应用之前更新 Acres 字段,以添加或合并的新地块。你可以使用 Calculate Field 工具通过将 Shape_Length 字段(以英尺为单位)转换为英亩来完成此操作。
在过去,你手动执行了这些操作。然而,你将要去度假,导演希望在你离开期间地块数据仍然定期更新。他们可以将数据复制到网络应用中,但不知道如何执行其他操作。因此,他们希望你创建一个可以定期自动执行这些操作的自动化程序。
由于导演希望这个程序按自动化日程运行,你需要编写一个 Python 脚本。在这种情况下,模型不起作用。在这个练习中,你将编写一个基本的 Python 脚本,该脚本将计算每个地块的面积,更新 Acres 字段,然后将数据从当前在 WGS 84 Web Mercator (辅助球面)坐标系中的州平面坐标系投影过来。
第 1 步 – 打开 IDLE
在这一步,你将打开 IDLE 应用程序,以便你可以开始创建你的脚本:
-
点击你的开始按钮。这通常位于屏幕左下角的任务栏中。在 Windows 8.1 或 Windows 10 中,它显示为四个白色方块。
-
在 Windows 8.1 或 10 中,点击小向下的箭头以访问所有已安装的程序或应用。
-
在所有程序列表中导航到 ArcGIS 程序组。在 Windows XP 或 Windows 7 中,你可能需要展开组以查看其中的程序。
-
定位 IDLE (Python GUI)应用程序,并点击它以启动程序。
你现在已经打开了 Python IDLE 应用程序。你将在该应用程序中编写你的脚本。它将以壳窗口打开。
壳窗口显示从 IDLE 运行脚本时生成的消息和错误。你实际上不会在这个窗口中编写脚本。你需要打开一个新的代码窗口来开始编写脚本。
- 点击文件 | 新文件选项。这将打开你将用于编写脚本的代码窗口。你现在应该能看到类似以下内容:
-
在顶部菜单中点击选项并选择配置 IDLE。你可以在 IDLE 的任意窗口中这样做。
-
点击常规选项卡,并将默认源编码设置为 UTF-8,如以下截图所示:
- 点击应用和确定。
现在你已经配置了 IDLE 选项,是时候开始编写脚本了。
第 2 步 - 编写脚本
现在,你将开始编写脚本,以完成之前手动执行的各项任务。首先,你将根据最佳实践在脚本中插入一些基本信息。然后,你将导入ArcPy模块,最后,你将编写脚本的代码:
-
首先,你将保存你的空脚本,以便给它一个名字。在未命名的窗口中,点击文件 | 保存选项。
-
在另存为窗口中,导航到
C:\Student\IntroArcPro\Chapter12,将你的文件命名为AcresWebProject.py,然后点击保存。
你刚刚保存了你的空脚本。你应该在代码窗口的顶部看到新的名称和路径。
- 现在,你将在脚本的开头添加一些通用信息作为注释。记住,
#在 Python 代码中标识注释。将以下示例代码输入到 IDLE 代码窗口中(目的部分应全部在一行中输入;如果你将其拆分成多行,你需要在每行的开头放置#):
#**********************************************
#Script Title: AcresWebProject.py
#Script Author: Your Name
#Script Created on: Today's date
#Last Updated on: Today's date
#Last Updated by: Your Name
#Purpose: This script calculates the parcels area in acres and updates the acres field. It then projects the parcels to the WGS 84 Web Mercator coordinate system so it can be used within the City's web application.
#Software: ArcGIS Pro 2.5 (or the version you are running)
#*****************************************************
- 现在你需要添加导入
ArcPy模块的代码行,以便脚本可以访问 ArcGIS Pro 工具。在代码窗口中添加以下代码到你的脚本中:
#Imports the ArcPy module for ArcGIS
import arcpy
- 通过点击文件并保存来保存你的脚本。如果你收到警告,只需点击确定。
现在,你将在脚本中定义一些变量,指定地块数据的存储位置以及投影工具结果保存的位置。
- 在代码窗口中
import语句之后,输入以下代码:
#Specifies the input variables for the script tools
#If the data is moved or in a different database then these paths will need to be updated
Parcels = "C:\\Student\\IntroArcPro\\Databases
\\Trippville_GIS.gdb\\Base\\Parcels"
Parcels_Web = "C:\\Student\\IntroArcPro\\Chapter12\\Ex12.gdb
\\Parcels_Web"
你刚刚添加到 Python 脚本中的前几行代码以两条注释开始,解释了下一行做什么。正如你所学的,注释行由#符号标识。接下来的两行定义了两个变量。
第一个是Parcels。这个变量指向存储在 Trippville_GIS 地理数据库中的基础要素数据集中的Parcels要素类。在这段代码中定义的第二个变量是Parcels_Web。它引用 Ex12 地理数据库中的Parcels_Web要素类。
- 保存你的脚本。
现在,你需要开始添加脚本中需要运行的工具的代码。你将使用 ArcGIS Pro 帮助获取计算字段和投影工具的正确语法。然后,修改它以便在脚本中正确运行。
-
打开 ArcGIS Pro 和
Ex12.aprx。 -
点击分析选项卡和工具按钮以打开地理处理面板。
-
在地理处理面板中,点击面板顶部附近的工具箱。
-
展开数据管理工具箱和字段工具集。
-
选择计算字段工具。
-
点击帮助按钮。它位于右上角的蓝色问号。
-
你已经打开了此工具的在线工具参考;点击语法。
-
高亮并复制工具的语法。它应该如下所示:
CalculateField_management (in_table, field, expression,
{expression_type}, {code_block})
-
激活 IDLE 代码窗口,并将复制的语法粘贴到之前定义的变量下面的行。
-
在你刚刚粘贴到脚本中的代码上方添加一条注释,说明
计算每个地块的英亩数并更新英亩字段。 -
现在编辑你刚刚粘贴到脚本中的代码样本语法如下:
arcpy.CalculateField_management (Parcels, "Acres", "!Shape_Area! /
43560", "PYTHON_9.3", "")
-
你现在已经在 Python 脚本中定义了
CalculateField工具,因此它包含了运行所需的全部变量;保存你的脚本。 -
现在你需要将项目工具添加到脚本中,并正确定义其语法。使用与计算字段工具相同的流程,打开项目工具的帮助,并将语法复制到你的脚本中。项目工具位于同一个工具箱中,但在投影和变换工具集中。
-
在项目工具的代码上方添加一个适当的注释,让其他人知道它的目的,类似于你为计算字段工具添加的注释。
-
修改项目工具代码如下(为了方便,你可以从
Chapter12文件夹中的Project Tool Sample.txt文件中复制语法):
arcpy.Project_management(Parcels, Parcels_Web, "PROJCS['WGS_1984_Web_Mercator_Auxiliary_Sphere',
GEOGCS['GCS_WGS_1984',DATUM['D_WGS_1984',SPHEROID['WGS_1984',6378137.0,298.257223563]],PRIMEM['Greenwich',0.0],UNIT['Degree',0.0174532925199433]],PROJECTION['Mercator_Auxiliary_Sphere'],PARAMETER['False_Easting',0.0],PARAMETER['False_Northing',0.0],PARAMETER['Central_Meridian',0.0],PARAMETER['Standard_Parallel_1',0.0],PARAMETER['Auxiliary_Sphere_Type',0.0],UNIT['Meter',1.0]]", "WGS_1984_(ITRF00)_To_NAD_1983", "PROJCS['NAD_1983_StatePlane_Georgia_West_FIPS_1002_Feet',GEOGCS['GCS_North_American_1983',DATUM['D_North_American_1983',SPHEROID['GRS_1980',6378137.0,298.257222101]],PRIMEM['Greenwich',0.0],UNIT['Degree',0.0174532925199433]],PROJECTION['Transverse_Mercator'],PARAMETER['False_Easting',2296583.333333333],PARAMETER['False_Northing',0.0],PARAMETER['Central_Meridian',-84.16666666666667],PARAMETER['Scale_Factor',0.9999],PARAMETER['Latitude_Of_Origin',30.0],UNIT['Foot_US',0.3048006096012192]]")
上述代码看起来非常复杂,在某种程度上确实如此。它包含了定义两个坐标系统所需的所有参数。第一个是Parcels要素类的坐标系统。第二个是输出要素类Parcels_Web使用的坐标系统。
- 保存你的脚本。
你的脚本在你的屏幕上应该看起来像这样:
- 一旦你验证了你的脚本并保存了它,关闭 IDLE。
我们现在将进入下一步。
第 3 步 – 将脚本添加到 ArcGIS Pro 并运行
现在你已经创建了一个 Python 脚本,需要将其添加到 ArcGIS Pro 中并测试它。在这一步中,你将把你刚刚创建的脚本添加到项目中的工具箱中,然后运行它:
-
如果需要,启动 ArcGIS Pro 并打开
Ex12.aprx。 -
在目录窗格中,展开工具箱文件夹。
-
右键单击 Ex12 工具箱,从菜单中选择新建>脚本。
-
按照以下信息填写新脚本:
-
在名称字段中输入
CalcAcresProject。 -
在标签字段中输入
计算地块英亩数并投影到 Web Mercator。
-
-
点击位于脚本文件单元格旁边的浏览按钮,然后导航到
C:\Student\IntroArcPro\Chapter12,并选择你刚刚创建的AcresWebProject.py脚本。你的窗口现在应该看起来像这样:
- 确认一切设置正确后,点击确定。
脚本将出现在 Ex12 工具箱中。这意味着你现在可以在 ArcGIS Pro 中运行它。你必须将你创建的所有 Python 脚本添加到工具箱中,然后它们才能在 ArcGIS Pro 中使用。对于那些有 ArcGIS for Desktop 经验的人,应该注意的是,ArcGIS Pro 目前还不支持 Python 插件。该功能应该添加到未来的版本中。
现在你需要运行脚本以测试并确保它按预期工作。
-
双击你刚刚添加到工具箱中的 Python 脚本。这将它在地理处理窗格中打开。由于你将所有变量硬编码到脚本中,它没有用户需要定义的参数。
-
点击地理处理窗格底部的运行按钮。
-
一旦脚本运行完成,返回到目录窗格。
-
展开数据库文件夹,并展开
Ex12.gdb。如果脚本运行成功,你应该会看到一个名为Parcels_Web的新要素类。你可能需要右键单击 Ex12 地理数据库并刷新,以便看到创建的新要素类。
如果你确实看到了新的要素类,恭喜!你刚刚创建并运行了你的第一个 Python 脚本。如果你的脚本没有成功运行,你可能希望将其与位于C:\Student\IntroArcPro\Chapter12\的Python Sample文件夹中的示例进行比较。
- 保存你的项目并关闭 ArcGIS Pro 以及 IDLE(如果它仍然打开)。
你刚刚创建了你第一个 Python 脚本,它将数据从一个坐标系统投影到另一个坐标系统。由于这是一个 Python 脚本,你可以使用操作系统中找到的调度功能来安排此脚本以指定频率自动运行,这样你就不必担心它。这可以减少你的整体工作量并确保所需功能定期运行。
摘要
在本章中,你了解到 ArcGIS Pro 包含两种自动化和简化任务的方法;也就是说,你可以创建一个模型或 Python 脚本。哪一个将工作得最好将主要取决于你的技能以及它们将如何被使用。你已经获得了创建和运行自己模型的能力。
我们了解到模型是在模型构建器中创建的,它提供了一个图形界面,用于创建将自动化完成分析或其他工作流程所需的一系列过程的工具。每个模型将包含一系列过程。每个过程将包括一个工具,可以是地理处理工具、脚本或另一个模型,以及它们相关的变量。当你创建模型时,你可以选择通过指定变量为参数来使其交互式。模型的最大的局限性是它们只能在 ArcGIS Pro 内部运行。这意味着它们不能被安排自动运行。
Python 脚本可以用来自动化流程,这些流程可以随后被安排在指定的时间和日期运行。与模型的情况不同,创建 Python 脚本确实需要了解 Python 语言以及编写代码的能力。
除了 Python 脚本可以按计划运行的能力之外,它们还可以用来访问 ArcGIS Pro 以外的其他应用程序的功能。通过本章,你已经获得了创建可以将多个不同应用程序的功能集成到单个自动化脚本中的脚本的技能。
在下一章中,你将学习如何将你在 ArcGIS Pro 中创建的各种地图和数据与他人共享,无论是位于你的计算机网络上还是不在你的网络上。你还将学习如何与没有 GIS 软件的人共享你的 GIS 内容。
进一步阅读
如果你想了解更多关于为 ArcGIS 创建 Python 脚本的信息,你可能想获取 Eric Pimpler 编著的《使用 Python 编程 ArcGIS 烹饪书》。
与他人共享你的工作
正如你在本书中学到的,ArcGIS Pro 拥有强大的工具来创建令人惊叹的 2D 和 3D 地图,以及执行丰富的空间分析任务。如果无法将这些结果交给需要的人,所有这些功能都显得微不足道。
随着大众对地理空间和移动技术的日益增长,对地理信息系统(GIS)信息的需求也在增加。如今,几乎每个人都有一部智能手机或平板电脑,并使用过某种类型的地图应用程序,如Google Maps、Waze、Bing Maps或当地的县税务地块应用程序。所有这些都意味着人们变得更加地理空间化和技术熟练。他们期望能够访问和使用你提供的数据和分析。
ArcGIS Pro 提供了几种方法和工具来与他人共享你的 GIS 内容。哪种可用的工具或方法最适合取决于以下几个因素:
-
首先,你试图共享的是什么? 是数据、整个地图还是工具?
-
第二,你的受众拥有哪些软件和技能?
-
第三,你希望他们能够对共享内容做什么 – 打印、编辑、查询或下载?
-
第四,他们如何连接到你的 GIS 信息?
本章我们将涵盖以下主题:
-
与网络上的其他人共享内容
-
与网络外的人共享内容
-
如何导出为其他 GIS 数据格式
-
如何导出为非 GIS 数据格式
-
如何通过 ArcGIS Online 将内容发布到网络上
在本章中,你将了解各种数据共享方法。你将能够使用这些不同的方法与他人共享你的 GIS 数据,无论他们是否拥有 GIS 软件。
第十七章:技术要求
除了 ArcGIS Pro 许可证外,你还需要一个具有发布者或管理员权限的ArcGIS Online用户登录,才能完成本章的所有练习。
与网络上的其他人共享内容
与计算机网络上的其他人共享 GIS 内容相对容易。最大的考虑因素将是他们是否有访问 GIS 软件的权限。在本节中,我们将看到如何与计算机网络上的其他人共享信息,无论他们是否有 GIS 软件。
如果你也有 ArcGIS Pro、ArcGIS Desktop或某些其他 GIS 应用程序,那么共享你的 GIS 数据会更容易。只要他们能够访问数据文件,许多这些应用程序都有能力打开相同类型的数据。这应该允许他们将数据添加到他们的应用程序中。
如果您的网络上有没有 GIS 软件的人,事情会变得稍微复杂一些,因为虽然他们可能能够访问数据,但他们将没有所需的软件。在这种情况下,您需要将 GIS 内容导出为更常见的非 GIS 格式,例如 .pdf 文件。幸运的是,ArcGIS Pro 也支持这种能力。
无论他们是否有 GIS 软件,他们都需要访问和权限来使用您存储 GIS 内容的数据库、文件和文件夹。如果他们没有适当的权限,他们将无法使用您创建的数据或文件。
如果用户拥有 ArcGIS Pro
如果您的网络上的其他用户拥有 ArcGIS Pro,只要他们有权访问和项目以及项目中使用的源数据,他们就能打开您创建的项目。您还可以共享图层、地图、任务和布局文件以标准化您的内容。我们将在接下来的几个部分中查看所有这些文件。
理解图层文件
ArcGIS Pro 中的图层文件具有 .lyrx 文件扩展名。它们存储与地图中图层相关的所有属性设置,例如源、符号、字段可见性、标签、定义查询等。图层文件允许您标准化这些设置,以便图层可以在多个地图和项目中以相同的方式显示。
使用图层文件添加新图层的过程与使用要素类添加图层的过程相同。但是,您不是选择 地理数据库、shapefile、计算机辅助设计(CAD)文件或 栅格,而是选择图层文件。当您这样做时,您的图层将带有所有预配置的属性添加到您的地图中,因此您不需要手动设置所有图层属性。这可以为您节省宝贵的时间。
在 ArcMap 中创建的图层文件也可以像在 ArcGIS Pro 中创建的图层一样在 ArcGIS Pro 中使用。然而,在 ArcGIS Pro 中创建的图层文件不能在较旧的 ArcMap 应用程序中使用。
创建图层文件相对简单。您只需在内容窗格中选择图层。然后激活共享选项卡并选择图层文件。从那里,填写所需信息并点击保存。就这么简单。
为什么不试一试呢?
练习 13A – 创建图层文件并使用它
现在,这是您通过动手练习将所学知识付诸实践的机会。在这个练习中,您将创建一个图层文件,然后使用它通过 ArcGIS Pro 在项目内添加一个新图层到地图中。
步骤 1 – 创建图层文件
在这个步骤中,您将为 Trippville 区划图层创建图层文件。看起来有几个人已经在多个地图中使用过 zoning 图层,但他们一直使用自己的个人设置。这导致了混淆,因此社区发展总监希望您根据城市的官方 zoning 图创建一个标准:
-
启动 ArcGIS Pro 并打开位于
C:\Student\IntroArcPro\Chapter13的Ex13.aprx项目文件。 -
检查地图,特别注意 zoning 图层。注意已经应用到图层上的设置,如符号化和标注。
问题:Zoning 图层正在应用哪种符号化类型?图层是否被标注?
-
在内容窗格中选择 zoning 图层,然后在功能区中点击“共享”选项卡。
-
在“另存为”组中点击图层文件按钮。这将打开“另存图层(s)为 LYRX 文件”窗口。
-
使用窗口左侧的树形图导航到
C:\Student\IntroArcPro\Chapter13。 -
将新的
.lyrx文件命名为Trippville Official Zoning并点击保存。
你刚刚为Ex13项目中的官方 zoning 地图中出现的 zoning 图层创建了一个图层文件。这将允许你轻松地将此图层添加到该项目或其他项目中的其他地图,以便它将保持所有现有的图层属性,如符号化、标注、定义查询、比例范围等。
第 2 步 – 使用图层文件将图层添加到地图
在这一步,你需要测试你创建的图层文件,以确保它按预期工作。你将使用它来在你项目的空白地图中添加一个新的图层:
-
在目录窗格中,展开
Folders文件夹。然后展开Chapter13文件夹,以便你可以看到其内容。 -
右键点击
Trippville Official Zoning.lyrx文件,然后点击“添加到新”选项,然后选择地图,如下面的截图所示:
你的项目中已经添加了一个新的地图,并且它应该包含 zoning 图层,自动以与官方 zoning 地图相同的方式符号化和标注。这是因为你使用图层文件添加了图层,而不是直接访问地理数据库中的要素类,就像你在过去的练习中所做的那样。
- 保存你的项目并关闭 ArcGIS Pro。
正如你所经历的,图层文件可以让你快速将已经配置好的图层添加到地图中,这可以为你和你的组织中的其他人节省大量时间。图层文件还可以用来标准化在组织中的各种地图中特定图层显示的方式。
现在我们继续下一节,关于地图文件的内容。
学习地图文件
地图文件与图层文件类似,但它们保存了整个地图的设置。这包括当该地图处于活动状态时在内容窗格中显示的所有图层以及每个图层的设置。地图文件可以是来自 ArcGIS Pro 项目的二维或三维场景。地图文件具有.mapx文件扩展名。
对于那些使用过 ArcGIS Desktop(ArcMap 和 ArcCatalog)的用户,重要的是要记住,在 ArcGIS Pro 中的地图或场景只是项目的一个组成部分。与 ArcMap 中的地图文档不同,它通常被称为地图,ArcGIS Pro 中的地图是一个单独的项目,不包括布局和其他地图(这些在 ArcMap 中称为数据框架)。
地图文件允许您共享在 ArcGIS Pro 中创建的地图,以便其他人可以将它们包含在自己的项目中,或者您可以使用他人的。这可以节省大量时间,因为地图不需要从头开始创建。它可以直接导入到项目中,然后调整以满足当前需求。
将新地图添加到您的项目中从地图文件开始并不困难。只需在 ArcGIS Pro 的功能区中点击“插入”选项卡,然后选择“导入地图”。从那里,您只需导航到地图文件的位置并导入它。
创建地图文件遵循与创建图层文件相同的基本过程。您转到功能区中的“共享”选项卡。而不是选择“图层文件”,您选择“地图文件”。
对于那些一直在使用 ArcGIS Desktop(ArcMap 和 ArcCatalog)的用户,请记住,在 ArcGIS Pro 中的地图并不完全等同于地图文档。在 ArcGIS Pro 项目中,您可能有几个地图以及单独的布局。当您在 ArcGIS Pro 中创建地图文件时,它将仅包含创建地图文件时选择的活动的地图。这不会包括可能包含地图的任何布局。
地图文件挑战
使用您在前几节中学到的创建图层文件技能,基于 Ex13 项目中的“官方 zoning 地图”创建地图文件。然后打开一个新的项目,并尝试导入地图文件以在该项目中创建一个新的地图。
接下来,我们将查看布局文件。
理解布局文件
布局文件允许您共享创建的布局,以便它们可以作为模板由您和其他人使用。布局文件将包括您在布局中看到的所有元素,包括地图、图例、边框、指向北方的箭头、比例尺、标题、徽标、免责声明等。
如果布局中包含的地图引用的数据不可访问或位于不同的位置,您将需要重新发送您的数据源。布局文件,如图层和地图文件,不存储任何 GIS 数据。
创建和导入布局文件的过程与地图文件使用的流程非常相似。同样,它从功能区中的“共享”选项卡开始,然后是“另存为”组中的“布局文件”按钮。
布局文件挑战
尝试将 Ex12 项目中包含的布局导出为图层文件。然后打开一个新的空白项目或您之前工作过的其中一个项目,并将布局文件导入到项目中。
这里有一个提示:尝试在功能区“插入”选项卡上的“新建布局”工具。注意当您导入布局文件时发生了什么。
通过本节,您已经了解了您可以通过各种方式与拥有 GIS 软件(如 ArcGIS Pro)的网络上其他人共享您的 GIS 内容。这包括创建图层文件、地图文件、打开现有项目等。这使得组织中的其他人可以打开和使用您创建的内容。
我们现在将讨论用户没有 ArcGIS Pro 用于在网络上共享数据的情况。
如果用户没有 ArcGIS Pro,则共享数据
如果您想与那些没有 ArcGIS Pro 的用户共享您的 GIS 内容,您的选择将受到很大限制。根据您潜在用户的软件和能力,您可以将内容导出为其他 GIS 格式、非 GIS 格式,或者尝试将内容发布到 ArcGIS Online、ArcGIS Portal 或 ArcGIS Server 作为网络地图或图层。
导出为其他 GIS 格式
ArcGIS Pro 允许您将数据导出为多种不同的 GIS 格式,如 shapefile、Keyhole 标记语言(KML/KMZ)或 CAD 文件(.dwg、.dxf 或 .dgn)。其中一些允许您将多个图层导出到单个文件中,而其他一些只支持单个图层。
Shapefile 是一种非常常见的 GIS 数据格式,起源于 Esri。Shapefile(.shp)只存储单个图层或要素类。因此,如果您想使用此格式,您可能需要将多个图层导出到各自的 shapefile 中。
大多数具有 GIS 功能的应用程序,如 QGIS、Grass、MapWindow 和 Map3D,都能够读取和显示 shapefile。其中一些甚至具有编辑的能力。此外,大多数 全球定位系统(GPS)和 全球导航卫星系统(GNSS)软件应用程序和收集器也能够导入和导出 shapefile。因此,shapefile 已经成为许多人的事实上的数据共享格式。
KML 格式也很流行。这是由 Google Earth 使用的格式,它是一个免费的应用程序。将数据导出为 KML 格式将允许您在以下屏幕截图中看到的数据与您在谷歌地图上看到的数据相关联:
您将在转换工具箱和它们的各个工具集中找到导出到这些其他 GIS 格式的工具。每种格式都有自己的工具集,如下面的屏幕截图所示:
如前一个屏幕截图所示,ArcGIS Pro 能够转换多种数据格式。在接下来的练习中,您将学习如何将 Trippville 城市的地理数据库中的数据导出为 shapefile,以便在其他 GIS 软件应用程序中使用。
练习 13B – 将数据导出为 shapefile
规划总监正在与一位使用 QGIS 的顾问合作。他们需要能够打开并编辑城市分区数据,以查看可能的未来发展的不同选项。
形状文件可以很容易地在 QGIS 中使用,当然比城市用来存储其 GIS 数据的地理数据库文件更容易。因此,你将导出现有的分区数据到形状文件。
第 1 步 – 打开项目并验证数据
当然,在你可以导出数据之前,你需要打开项目。在此步骤中,你将打开包含你需要导出数据的适当项目:
-
如果之前已关闭,请打开 ArcGIS Pro 和
Ex13项目。 -
在视图区域顶部选择官方分区地图标签,使其成为活动地图。
-
从功能区选择分析选项卡,然后点击工具组中的工具按钮以打开地理处理面板。
-
在地理处理面板中,点击面板顶部的工具箱选项卡,位于查找工具搜索框下方。
-
通过点击左侧的小箭头展开转换工具工具箱。然后点击到形状文件工具集。
-
之后,选择特征类到形状文件工具。
-
要设置输入要素,点击单元格左侧的小下拉箭头,然后选择分区层。
注意,当你将分区层作为输入添加时,工具中会出现另一个输入单元格。特征类到形状文件工具允许你一次将多个图层或特征类转换为单个形状。每个输入将变成一个具有与输入层或特征类相同名称的唯一形状文件。
- 将输出文件夹设置为
C:\Student\IntroArcPro\Chapter13\。
你的特征类到形状文件工具应该看起来像以下截图:
- 一旦你已验证特征类到形状文件工具已正确配置,点击位于地理处理面板底部的运行按钮。
此工具将生成一个新的形状文件。这个新的形状文件将包含与原始分区层相同的数据,该层基于地理数据库特征类。如前所述,形状文件通常用于在软件包之间共享数据,因为几乎任何 GIS 应用都可以读取和编辑它们。
现在你将通过将其作为图层添加到新地图中,验证工具是否成功创建了新的形状文件。
第 2 步 – 创建新地图并将形状文件作为图层添加
在此步骤中,你将添加你刚刚创建的新形状文件到地图中,以验证其是否成功创建:
-
在功能区中,点击插入选项卡以激活它。
-
接下来,点击插入选项卡上的项目组中的新建地图按钮。这将向你的项目中添加一个新的空白地图。
-
在目录面板中,展开
Folders文件夹,然后双击Chapter13文件夹以查看其内容。 -
你应该在
Chapter13文件夹中看到你创建的Zoning.shp文件。右键单击它,然后选择添加到当前地图。
你的地图现在应该看起来类似于以下截图。请记住,你的颜色可能不同,因为 ArcGIS Pro 为新添加的图层分配随机颜色。你的地图也可能包含底图,这取决于你组织的设置:
你可能想知道为什么你刚刚添加的新 shapefile 图层没有与从官方分区图中导出的分区图层相同的符号。记住,无论图层是 shapefile、地理数据库要素类还是其他什么,其实际来源都不存储我们可视化的方式。那些设置存储在地图、图层文件或图层包中。
- 保存你的项目。
我们现在进入这个练习的主要步骤。
第 3 步 – 使用图层文件应用符号
在此步骤中,你将使用图层文件将你在官方分区图中看到的符号应用于你刚刚添加到新地图的基于 shapefile 的图层。这将帮助你验证所有重要的属性信息都已包含在导出的 shapefile 中:
-
在内容窗格中选择分区图层,以便在功能区中显示特征图层组选项卡。
-
接下来,点击功能区中的外观选项卡。
-
在功能区的外观选项卡中的绘图组中点击“导入”按钮。这将在浮动窗口中打开“导入符号”工具。
-
确认输入层已设置为分区。
-
要设置符号层,点击单元格末尾的浏览按钮。它看起来像一个文件文件夹。
-
在打开的符号层窗口中,点击位于窗口左侧面板项目下方的“文件夹”。
-
在窗口的右侧面板中,双击
Chapter13文件夹。 -
选择
Trippville Official Zoning.lyrx文件并点击“确定”。 -
注意,一旦你点击“确定”,类型、源字段和目标字段的值将自动分配。请确认你的“从图层应用符号”工具窗口看起来如下截图所示:
你会看到源和目标字段的值已自动分配,因为源和目标字段都是相同类型的字段,并且具有相同的名称。此工具允许你使用字段末尾的下拉箭头手动分配这些值。
- 在确认工具设置后,点击“确定”按钮以从图层文件应用新的符号。
你的地图现在应该看起来类似于以下截图:
- 保存你的项目并关闭 ArcGIS Pro。
现在你已经知道如何将图层导出为 shapefile,以便与他人共享。你还学会了如何使用图层文件将符号应用于图层。
将这些数据与另一个人分享的下一步可以是通过电子邮件发送或上传到在线资源,例如Google Drive或ArcGIS Online。我们将在本章后面学习如何上传到 ArcGIS Online。当您尝试与他人共享 shapefile 时,请记住,shapefile 实际上由多个文件组成。您需要确保发送所有这些文件,而不仅仅是您在 ArcGIS Pro 中看到的.shp文件。我们将在下一节中学习这一点。
将数据导出为非 GIS 格式
ArcGIS Pro 支持将地图、布局和表格导出为其他非 GIS 格式。这包括几个光栅和矢量格式。这可以使没有 ArcGIS Pro 的人查看您所创建的内容。您可以使用 ArcGIS Pro 导出的许多非 GIS 格式也可以插入到其他非 GIS 应用程序中,例如Word和PowerPoint。这将允许您将 GIS 信息纳入报告和演示文稿。
导出地图和布局
使用 ArcGIS Pro,您可以以各种类型的矢量图形或光栅格式导出地图和布局。这包括以下内容:
-
位图图像文件(
.bmp)可以导出为光栅格式文件。 -
增强型元文件(
.emf)可以导出为矢量图形。 -
封装后置格式(
.eps)文件可以导出为矢量图形。 -
图形交换格式(
.gif)文件可以导出为光栅格式文件。 -
联合图像专家小组(
.jpeg)文件可以导出为光栅格式文件。 -
便携式文档格式(
.pdf)文件可以导出为矢量图形。 -
便携式网络图形(
.png)文件可以导出为光栅格式文件。 -
可缩放矢量图形(
.svg)文件可以导出为矢量图形。 -
一个
.svgz文件,它是一个使用gzip 压缩压缩的.svg文件,可以导出为矢量图形。 -
Truevision 图形适配器(
.tga)文件可以导出为光栅格式文件。 -
标记图像文件格式(
.tiff)文件可以导出为光栅格式文件。
许多这些格式可以轻松地在其他应用程序中打开,例如网络浏览器(如Chrome、Internet Explorer或Firefox)、免费应用程序(如Adobe Acrobat Reader和Microsoft Paint)或其他 GIS 应用程序。
大多数光栅格式也可以嵌入或插入到文档、电子表格和演示文稿中。这使得它们可以包含在报告、研究、信件、展览等更多内容中。
便携式文档格式(PDF)格式实际上支持创建交互式文件的一些能力。当您导出为.pdf时,如果您希望的话,可以选择包含图层和/或属性,如下面的截图所示:
如您从前面的屏幕截图中所见,此选项位于 PDF 设置下。PDF 还允许您加密文件,使其需要密码才能打开。
接下来,我们将学习如何将 GIS 中的表格导出到其他格式。
导出表格
如果您只需要导出图层属性表中的属性,您也可以将信息导出到各种格式。这可以通过两种方式完成:
- 第一种方法是从表格窗格开始的。点击右上角选项按钮(三个水平线),然后选择导出表格选项,如以下截图所示:
- 第二种方法是直接转到位于数据管理工具箱和表格工具集中的复制行地理处理工具。两种方法最终都会产生相同的结果。
上述两种方法都将允许您将整个表格或所选记录集导出到另一个表格。您可以选择以下格式和类型进行导出:
-
地理数据库独立表格
-
dBase(
.dbf) -
逗号分隔的文本文件(
.csv) -
制表符分隔的文本文件(
.txt) -
信息
信息是一种回溯到 20 世纪 70 年代的数据库类型。它是dBase等数据库的先驱。Esri 购买它作为其旧产品ArcInfo的主要数据库。
ArcGIS Pro 还允许您将表格导出到电子表格。您需要使用位于转换工具工具箱和Excel工具集中的表格到 Excel Python 地理处理脚本。这将允许您将整个表格或所选记录集导出到 Excel 电子表格,供他人使用。
在下一节中,我们将探讨您可以用来与不在您的计算机网络上的人共享数据的方法。
与不在您网络中的人共享内容
与不在您网络中的人共享内容要更具挑战性。正如您所学的,地图和布局实际上并不存储它们引用的 GIS 数据,而是指向原始数据源。数据源可能存储在项目文件夹结构中,也可能位于其他地方。项目、地图和布局甚至可以包含多个图层,所有这些图层都引用来自完全不同来源的数据。
这就是为什么与那些无法连接到您所使用相同资源的人共享您的工作变得困难。您不能仅仅发送给他们一个地图或图层文件,因为这两个文件都不包括底层数据。您可以将项目文件夹一起压缩成一个文件,然后通过电子邮件发送或上传到文件传输协议(FTP)网站供下载,但这仅适用于您在项目中使用的所有数据都存储在项目结构中。
如果您能创建一个包含项目中所有引用数据的文件,地图或图层,那该多好。幸运的是,使用 ArcGIS Pro,您可以做到这一点。它具有允许您将项目、地图或图层及其引用数据一起打包的工具,这样您就可以与不在您的网络上的那些人共享。
包也是存档数据的好方法。包创建了一个快照,记录了创建包时的数据状态。这为您提供了该点的数据备份,您可以在需要时引用。这也意味着包与您的实时数据断开连接。因此,如果您更改了该数据,您需要重新创建包,以便它包含更改。
在本节中,您将探索您可以创建的各种包,并学习如何创建它们。您将从最小的包类型,即图层包开始,然后逐步过渡到最大的包,即项目包。
了解图层包
图层包与图层文件非常相似。它也存储了图层的所有属性设置,以便当它添加到地图时,这些设置会自动应用。除了保存这些设置外,图层包还包括图层引用的数据。这意味着图层包可以与那些无法访问您数据的人共享。然后他们可以将图层包添加到地图中,并看到带有您设置和数据的状态。
由于图层包仅包含单个图层,因此它们通常比其他包小得多。这使得它们更适合通过电子邮件发送给他人。
创建图层包与创建图层文件类似。您可以在地图中选择您希望打包的图层。然后选择功能区中的“共享”选项卡。接下来,您选择“包”组中的“图层”按钮。这将启动打包向导。
我们现在进入下一节,其中包含一个创建图层包的练习。
练习 13C – 创建图层包
社区发展总监已聘请咨询公司帮助准备城市的长期综合规划。咨询公司需要城市分区图层的完整副本,因此总监询问您是否可以创建一个文件,他可以将其发送给顾问,该文件包含所有标准的城市分区符号和数据。
在这个练习中,您将创建一个包含分区图层的图层包。然后您将测试它以确保它正常工作。
第 1 步 – 创建图层包
在此步骤中,您将创建分区图层包。您将完成打包向导,并提供创建包所需的所有数据和输入:
-
启动 ArcGIS Pro 并打开您在本章其他练习中使用的
Ex13.aprx项目。 -
在视图区域顶部选择“官方分区地图”选项卡以激活地图。
-
在内容窗格中选择分区层。
-
接下来,在功能区中点击“共享”选项卡。
-
在功能区共享选项卡中,点击位于包组中的“层”按钮。
-
在包层面板顶部选择“将包保存到文件”选项。注意你可以自动将层包上传到 ArcGIS Online 以与组织内外的人共享。
-
点击单元格末尾的“浏览”按钮以提供层包文件的名称和位置。
-
使用左侧的树形结构,导航到
C:\Student\IntroArcPro\My Projects,将包命名为Trippville_Zoning,然后点击“保存”。 -
在摘要和标签字段中输入以下内容:
-
将“显示 Trippville 市地块的分区分类”输入到摘要字段中。
-
将“分区”、
Trippville和“地块”标签添加到标签字段中。
-
现在包层面板应该看起来像这样:
- 点击“分析”按钮以查看在创建包的过程中是否会出现任何问题。
层的分析要么不会显示错误,要么可能只显示一个错误。如果你得到一个错误,那是因为层描述缺失。由于这是一个错误,而不仅仅是消息,所以在你继续创建包之前必须修复它。
如果你得到错误,请按照以下步骤操作。如果你没有得到任何错误,请跳到步骤 15。
-
右键单击错误,从显示的上下文菜单中选择“更改层描述”。这将打开分区层的层属性窗口。
-
将“Trippville 市分区层”输入到层属性窗口中。你也可以自由更新其他缺失的值。
-
当你完成更新层属性后,点击“确定”。错误现在应该用绿色勾号代替红色和白色的错误图标。
-
再次点击“分析”按钮以确保没有会导致包创建失败的问题。
-
如果没有返回错误,请点击“包”按钮。
-
当包成功创建后,关闭“包层”面板。
接下来,你需要验证包是否确实已成功创建。
步骤 2 – 测试包
在此步骤中,你将在项目中创建一个新的地图,并将你创建的层包添加到其中:
-
在目录窗格中,右键单击“地图”文件夹,从显示的上下文菜单中选择“新建地图”。一个新的地图应该出现在你的项目中。
-
点击功能区中的“地图”选项卡。
-
在图层组中点击“添加数据”按钮。
-
在“添加数据”窗口中,导航到
C:\Student\IntroArcPro\My Projects文件夹。一旦到达那里,你应该能看到你刚刚创建的Trippville_Zoning.lpkx文件。 -
点击
Trippville Zoning.lpkx文件,然后点击“确定”按钮以将层添加到你的地图中。
现在分区层应该在你的新地图上可见。你现在将验证分区层的来源。
-
点击内容窗格顶部的“按数据源列表”按钮。
-
如有必要,调整内容窗格的大小,以便您可以看到分区图层数据源的完整路径。
问题:分区图层数据源的路径是什么?这与您用于创建图层包的分区图层使用的数据源不同吗?
- 保存您的项目并关闭 ArcGIS Pro。
恭喜!您刚刚创建并测试了您的第一个包。现在,您拥有了与他人共享图层数据和设置的技能和知识。接下来,您将研究地图包。
理解地图包
正如图层包将图层的数据及其属性设置捆绑在一起一样,地图包将地图中包含的所有与图层相关联的数据以及这些图层的属性设置捆绑在一起。因此,地图包将您在地图中看到的所有内容捆绑成一个具有 .mapx 扩展名的单个文件。
地图包提供了一种简单的方法,可以将整个地图与他人共享,即使他们无法连接到您的数据源。但有一点需要考虑的是大小。因为地图包将包含所有图层及其引用的数据在一个单独的文件中,所以它们可能会变得非常大。
我亲自为一位客户创建了一个超过 20 GB 大小的地图包。 它之所以如此之大,是因为客户在要素数据库中存储了图片。此外,地图还包括了当地航空摄影。因此,当创建地图包时,它包括了图层、图层属性、要素的附加图片以及用于地图的航空照片。
当然,这并不常见,实际上在创建地图包时代表了大小的一个最坏情况。然而,它确实说明了地图包可以有多大。在创建地图包时,最好首先从地图中删除任何不需要的图层,以将地图包的大小保持在最小。关闭图层的可见性是不够的。不可见的图层仍然会被包含在地图包中,因此它们必须从地图中物理移除。
创建地图包的过程与创建图层包的过程基本相同。您激活您希望打包的两个或三维地图,然后转到“共享”选项卡。然后,您点击“地图包”工具并按照向导操作。
地图包挑战
现在,您已经拥有了创建图层包的技能,以及创建包含在 Ex13.aprx 项目中的官方分区地图的地图包所需的信息。现在,将新的地图包保存到与您保存 练习 13C – 创建图层包 中创建的图层包相同的地点。然后,比较图层包的大小与您创建的地图包的大小。
了解项目包
项目包通常是您可以创建的最大类型的包。项目包将项目中的所有内容捆绑成一个单独的文件。这包括地图、图层、数据、工具箱、任务、附件、地理处理历史记录和连接。项目包将具有.ppkx文件扩展名。
由于项目包实际上包括了项目中的所有内容,因此它们通常很大,肯定比地图包或图层包大得多。这意味着它们通常不适合通过电子邮件共享。然而,可以将它们发布到 FTP 站点供下载,保存到外部设备,甚至发布到 ArcGIS Online。如果您将它们发布到 ArcGIS Online,您将因存储包而付费。您被收取的信用额度将取决于包的大小。这也适用于您可能也发布到 ArcGIS Online 的图层包和地图包。
项目包是完成项目或达到特定里程碑后存档项目的绝佳方式。它们是创建给定包时项目的快照。由于所有内容都存储在一个单独的文件中,因此它们的管理和维护备份要容易得多。
再次强调,项目包的创建方法与地图包或图层包相同。在成功创建包之前,您需要提供某些信息,包括摘要、描述和标签。
创建后,包可以成功导入到 ArcGIS Pro 中,作为一个完整的项目,包括创建包时包含的地图、图层、布局、连接等。然而,与地图包和图层包类似,新导入的项目包将指向原始数据源的副本,而不是原始数据源本身。
项目包挑战
利用您到目前为止所获得的知识和技能,尝试为您在阅读本书时使用的项目之一创建一个项目包。创建完成后,比较项目包的大小与您创建的地图包和图层包的大小。
您现在已经学会了多种方式,可以通过这些方式与您网络内外的个人以及有或没有 GIS 软件的人共享您的 GIS 内容。与他人共享数据的能力通过使 GIS 对更广泛的受众可用来增加 GIS 的价值。接下来,您将学习如何使用 ArcGIS Online 将您的 GIS 共享提升到新的水平。
发布到 ArcGIS Online
ArcGIS Pro 的一个主要优势是它与 ArcGIS Online 和 Portal for ArcGIS 的集成。这使您能够轻松地将数据和分析结果发布到网络上,其他人即使没有安装 GIS 软件也可以访问。
ArcGIS Online 是 Esri 基于云的软件即服务(SaaS)解决方案。这允许您和您的组织内外的人通过互联网访问数据、地图和应用程序。这使得与他人共享 GIS 变得更加容易,因为他们可以通过正常的网络浏览器访问您与他们共享的内容。
在本节中,您将学习如何将您在 ArcGIS Pro 中创建的地图发布到 ArcGIS Online,以便其他人可以通过网络浏览器访问。
练习 13D – 将地图发布到 ArcGIS Online
规划总监希望使 Trippville 市的分区地图可供他人访问,即使他们没有 ArcGIS Pro 软件。她希望访问地图的人能够切换图层、查询数据、查看属性表,甚至打印地图。由于总监期望的功能水平和用户即使没有 GIS 软件也需要访问地图,因此您需要将其作为网络地图发布到 ArcGIS Online。
在这个练习中,您将优化官方分区地图,以确保它通过互联网查看时表现良好。然后,您将发布地图到 ArcGIS Online。最后,您将共享地图,以便其他人可以访问它。
第 1 步 – 优化您的地图
在此步骤中,您将优化官方分区地图,以确保它通过互联网在浏览器中查看时表现良好:
-
启动 ArcGIS Pro 并打开您在本章中一直在工作的
EX13.aprx项目。 -
在视图区域中单击“官方分区地图”标签,使其成为当前使用的活动地图。
-
右键单击分区图层。然后从出现的菜单中选择“缩放到图层”。
-
接下来,从内容窗格的顶部选择“官方分区地图”。然后右键单击并选择“属性”,如下面的截图所示:
-
在属性窗口中,单击位于地图属性窗口左侧面板中的“范围”选项。
-
在窗口右侧面板的顶部单击“使用自定义范围”。
-
在“获取范围从”下方,选择“当前可见范围”。这将设置当有人按下 ArcGIS Pro 中的“缩放到全范围”按钮或网络应用程序中的“主页”按钮时,地图将缩放多远。
-
接下来,在属性窗口的左侧面板中单击“元数据”选项。然后输入以下值:
-
在“标题”字段中输入
Trippville 市公共分区地图。 -
在“标签”字段中,添加
分区、规划、代码和地图。 -
在“摘要”字段中,应显示 Trippville 市内地块的分区分类。
-
在“描述”字段中输入
此地图由 Trippville 市 GIS 和规划部门创建。它显示了城市分区条例定义的每个地块的分区分类。 -
对于“致谢”字段,请输入
Trippville 市 GIS 和规划部门。 -
在“使用限制”字段中,键入
This map is for general reference only. It is not to be considered the full legal map of record. It is recommended that any data contained herein be verified by calling the City Planning Department。
-
-
确认你的地图属性窗口看起来如下,并在完成后点击“确定”按钮:
你刚刚完成了在发布到 ArcGIS Online 之前优化地图的第一步。你设置了范围,这样当用户在 ArcGIS Pro 中缩放到完整范围或使用大多数网络应用中找到的“主页”按钮时,他们不会缩放到整个地球。
相反,他们将会缩放到能够看到整个分区图层的比例。然后,你配置了地图的元数据。这被搜索引擎和工具用来定位项目。通常在 ArcGIS Pro 允许你发布到 ArcGIS Online 或门户之前,需要完全配置地图的元数据。
接下来,你将优化你的图层。你将首先为你的图层应用缩放范围。这将根据地图的缩放比例控制它们何时可见。
-
右键单击 Base_Anno 图层,并从出现的上下文菜单中选择“属性”。
-
在窗口的左侧面板中选择“常规”选项。在“超出”处,使用下拉箭头选择 1:10,000。这将使得这个图层在用户缩放到你选择的缩放比例或更近时才变得可见。点击“确定”应用设置并关闭属性窗口。
即使在桌面环境中,注释和标签的表现也不佳,更不用说通过浏览器查看地图时了,因此尽可能限制这些的使用被认为是一种最佳实践。使用缩放范围是一个良好的开始。
-
在内容面板中选择分区图层,然后在功能区中点击“标签”选项卡。
-
使用下拉箭头将“超出”值设置为 1:10,000。这将限制分区图层的标签显示,直到有人缩放到该比例或更近时才显示。
-
在功能区中选择“外观”选项卡,同时确保分区图层仍然被选中。
-
在“可见范围”组中,使用下拉箭头将“超出”值设置为 1:50,000。
-
对剩余的图层做同样的事情,然后保存你的项目。
为了优化地图以便在网络上发布,你可以限制在任何给定时间内可以绘制的数据量。你刚刚设置的缩放范围是一个非常有效的方法。你还可以使用定义查询和选择层等工具。
第 2 步 - 将地图发布到 ArcGIS Online
现在你已经采取了步骤优化你的地图,以便在发布到 ArcGIS Online 时表现更好,现在是时候实际发布它了。
此步骤将要求你拥有一个具有发布你组织 ArcGIS Online 门户权限的 ArcGIS Online 用户账户。如果将此地图长时间存储在 ArcGIS Online 中,它将使用你组织的一些 ArcGIS Online 信用额度:
-
在功能区中点击“共享”标签。
-
在“共享”标签页上的“共享为”组中点击“Web 地图”按钮。这将打开“共享为 Web 地图”窗口。
-
注意,名称、摘要和标签字段已经填写好了。这些来自你为地图创建的元数据。
-
将“选择配置”字段设置为“复制所有数据:探索性”。你使用这个设置是因为规划总监特别提到用户需要能够对地图进行查询。其他选项没有优化以允许这样做,或者允许过多的功能,如编辑数据,而这对于这张地图是不希望的。
-
如果你想在你的 ArcGIS Online 账户中创建一个文件夹并将此地图也上传,你可以使用已选文件夹的下拉箭头选择它。否则,它将默认为你的 ArcGIS Online 用户账户的根目录。
-
将“共享给”选项设置为“所有人”,如图所示,因为规划总监希望包括公众在内的每个人都能够访问并查看这张地图:
- 接下来,再次点击“分析”按钮以验证你的地图是否已准备好发布。
当你的地图分析完成时,它应该会返回几个错误和几个警告。在你可以将地图发布到 ArcGIS Online 之前,必须修复这些错误。警告应该被检查,但不需要修复就可以发布。你现在将修复错误。
- 在官方分区图下,你应该看到一个错误,显示“00230 服务层”的投影与地图投影不同。这意味着底图和其他图层使用的是不同的坐标系。右键单击此错误,并选择“更新地图以使用底图的坐标系”。
如果你的地图没有分配底图,你可能会看到不同的错误。如果是这种情况,请转到“地图”标签页,点击“底图”按钮,并从显示的选项中选择“地形底图”。
-
再次点击“分析”按钮。其他错误现在也应该消失了。调整坐标系修复了这两个错误。
-
现在花点时间阅读剩余的警告。在这个练习中,你将不会尝试修复这些问题,因为它们不会对地图的质量或功能产生重大影响。然而,如果这是一张你组织的地图,那么在发布之前你可能想要修复这些问题。
-
现在你已经修复了错误并审查了警告,是时候将这张地图发布到 ArcGIS Online 了。记住,一旦你将其发布到 ArcGIS Online,它将托管在你组织的账户中,并且只要它在那里,每个月都会使用一些信用额度。
使用的积分数量应该非常少,但在您继续之前需要记住这一点。如果您准备好发布,请点击“分享为网络地图”窗口底部的“分享”按钮。
点击“分享”后,ArcGIS Pro 将开始打包地图并将其上传到 ArcGIS Online。这可能会根据您计算机的功能和互联网连接的速度而花费一些时间。
我们现在进入下一步。
第 3 步 – 在 ArcGIS Online 中查看新地图
在这一步,您将使用 ArcGIS Online 的 Web Map Viewer 查看您刚刚发布的地图:
-
在“分享为网络地图”窗口的底部,您应该看到一个指示器显示发布地图的过程是成功的。下面,您应该看到一个链接,上面写着“管理网络地图” – 点击该链接。
-
您的默认网络浏览器应该会打开,显示您刚刚发布的网络地图的属性。点击页面右上角的“在地图视图中打开”按钮。这将打开 ArcGIS Online 的网络地图查看器应用程序。
-
如果在工具成功完成后,由于某种原因“分享为网络地图”窗口或 ArcGIS Pro 被关闭,您仍然可以找到您的地图。只需按照以下步骤操作:
-
打开您喜欢的网络浏览器,例如 Chrome、Internet Explorer、Edge、Firefox 或任何其他浏览器。
-
前往 www.arcgis.com。
-
点击页面中间或右上角的“登录”按钮。
-
输入您的 ArcGIS Online 登录信息。
-
点击页面顶部最上面的“内容”标签,然后确保已选择“我的内容”。
-
从您创建的内容列表中找到“官方分区地图”。如果是第一次,它将是唯一的条目。
-
最后,点击“在地图查看器中打开”按钮。
-
-
您现在应该能看到您从 ArcGIS Pro 发布的分区地图。现在其他人也可以看到它了。花点时间回顾一下您刚刚创建的新网络地图。
-
点击地图顶部的“分享”按钮。这将打开分享窗口。在这里,您将看到一个可以发送给其他人的链接,他们也可以通过电子邮件或社交媒体访问地图。
-
在您完成地图探索后,点击“完成”并关闭浏览器。
-
返回 ArcGIS Pro 并保存您的项目,然后关闭应用程序。
恭喜!您刚刚使用 ArcGIS Pro 和 ArcGIS Online 之间的集成,将地图从桌面发布到网络。现在任何有互联网访问的人都能访问您的地图。这将使他们能够看到 Trippville 市内地块的分区值。您可以使用此相同的过程与组织中的其他人共享您创建的数据和地图,扩大您 GIS 的覆盖范围。
摘要
在本章中,你学习了多种可以用来与他人分享你的 GIS 内容的方法。你看到了如何使用项目、地图和图层文件来分享和标准化那些与你有相同数据源访问权限的计算机网络上的人的内容。
你还学会了如何导出你的内容,以便其他人即使没有 ArcGIS Pro 也能访问和使用你的数据。本章为你提供了将你的 GIS 数据导出为非 GIS 格式的技能,这样那些没有 GIS 软件的人也能在文档、报告、演示文稿和电子表格中使用你的 GIS 信息。
最后,你还学会了如何通过使用包与他人分享网络之外的数据。包不仅限于数据共享,还可以用来在特定存在状态下存档或备份重要数据,以便在需要时可以恢复。
在下一章中,你将了解 Arcade,Esri 的新表达式语言。你可以使用 Arcade 创建复杂的标签,并控制符号,使其在 ArcGIS 平台上具有兼容性。
进一步阅读
如果你想要了解更多关于分享你的 GIS 内容的信息,你可能想要考虑以下内容:
- ArcGIS Pro 2.x 烹饪书,作者 Tripp Corbin,由 Packt 出版(第十二章 和 第十三章)
835

被折叠的 条评论
为什么被折叠?



