创建模型
首先,您需要打开共享 web 地图,并在 ArcGIS 组织中保存副本。 此地图包含您的分析所需的其中两个图层,以及您将构建的模型示例。 您将连接至分析会话并开始创建模型。
打开地图
您将打开 web 地图,其中包含显示美国铁路线和公立学校的图层。 然后,您将登录并保存一份地图副本,以便在分析中使用。
- 打开 Rail transport near schools web 地图。

该地图包含两个图层:Public School Locations – Current 和 North American Rail Network Lines。 该地图目前显示了 North American Rail Network Lines 图层。
- 在功能区上,单击登录。 登录到您的 ArcGIS 组织账户。
注:
如果您没有组织账户,请参阅软件访问权限选项。
- 在内容(深色)工具栏上,单击保存并打开,然后选择另存为。

- 在保存地图窗口中,单击保存。
web 地图的副本会保存到您的账户中。
探索模型
在开始构建分析模型之前,您将探索 ModelBuilder 并使用已完成的模型来了解工作流。
- 在设置(浅色)工具栏中,单击分析。
- 在分析窗格中,单击 ModelBuilder。

ModelBuilder 窗格随即出现。
将在此地图中的模型下列出名为 Rail EOP 的模型。 此模型由 Esri Tutorials 团队创建并与公众共享,因此您可以在仅查看模式下将其打开。
- 在模型名称旁边,单击选项按钮并选择仅以查看模式打开。

此模型将以仅查看模式打开。 当模型处于仅查看模式时,您可以查看工具参数,但无法编辑模型。
根据屏幕的大小,可能难以查看模型元素。 可以增大画布尺寸,并对模型进行缩放和平移,以便更好地查看每个元素。
- 在图例窗格中,单击关闭。
侧面板随即关闭,并且 ModelBuilder 窗格水平展开。
- 在 ModelBuilder 画布上,单击展开。

ModelBuilder 画布将垂直扩展。
- 在模型窗格的左上角,单击放大,直到您能够看清模型元素上的标注为止。 在布局工具栏上,单击平移。
现在,您可以单击并拖动画布以查看模型的不同区域。
- 拖动画布,以便查看模型的起始部分。
第一个输入为数据变量 USA Counties Generalized Boundaries – USA Counties – Generalized。 其将连接至按属性过滤工具。
- 双击按属性过滤。

按属性过滤参数将以仅查看模式打开。 输入数据集下列出了 USA Counties Generalized Boundaries 图层。 表达式参数显示查询为 STATE_NAME = 'Texas'。
- 关闭按属性过滤窗口。
序列中的下一个工具为叠加图层。 该元素的输入为按属性过滤的输出以及 North American Rail Network Lines 变量。
- 打开叠加图层并查看参数。
该工具将创建 North American Rail Network Lines 与已过滤县相交的线输出。 换句话说,将 North American Rail Network Lines 裁剪至德克萨斯州。
- 关闭叠加图层工具参数。
Intersecting rail lines 输出将连接至下一个工具:创建缓冲区。 创建缓冲区具有两个附加输入:距离值和单位。 这些输入为值变量,将连接至创建缓冲区工具的距离值和单位参数。
- 打开创建缓冲区工具并查看参数。
这些变量显示为距离值和单位参数的输入。 该工具将在德克萨斯州的铁路线周围创建 1000 码的缓冲区。
- 查看其余工具。
融合边界将按县融合缓冲区,为每个县创建一个要素,用于显示铁路沿线 1000 码范围内的区域。
模型中的最后一批工具为范围内汇总和第二个叠加图层。 范围内汇总用于汇总已融合缓冲区输出内公立学校的数量。 叠加图层将返回已融合缓冲区内的公立学校位置。 这些工具还会创建托管要素图层,而非中间图层。
- 关闭模型。

创建模型项目
熟悉分析工作流后,您将连接至分析会话并创建分析模型项目。 分析会话将为分析模型提供计算资源,由此实现交互式编辑、验证、运行模型以及中间数据的临时存储。 在分析会话中,将按会话处于活动状态的时长消耗配额。
- 在分析会话部分中,单击连接。
- 单击创建模型。
创建分析模型窗口随即显示。
- 在创建分析模型窗口中,设置以下参数:
- 对于标题,键入 Rail EOP 并在末尾添加您的姓名或首字母缩写。
- 对于标签,键入 Rail lines、EOP、School Safety 和 Texas。
- 对于摘要,键入 Analysis model identifying the schools within 1,000 yards of a rail line in Texas to ensure that districts are fulfilling their safety planning requirements。

- 单击保存。
空白画布随即出现,您将在其中构建新的分析模型。 模型名称旁的蓝色复选标记指示该模型处于活动状态,这意味着可以编辑并运行该模型。

- 如有必要,请单击展开以放大画布。
现在画布已准备就绪,可以开始构建模型。
您保存了 web 地图的副本,浏览了现有模型,并创建了新模型。 接下来,您将通过添加并连接数据和工具来构建模型。
构建模型
基础分析模型由数据元素和工具组成,将连接这些元素和工具以创建工作流。 您将向模型添加数据变量和工具,连接数据和工具,并更新工具参数。
添加数据和工具
可以使用数据和工具来构建模型,其中一个工具的输出用作另一个工具的输入。 将连接数据和工具以形成完整工作流。
首先,您需要将地图中的数据集添加至模型。
- 在操作工具栏上,单击添加数据。

可以从多个源添加数据。 在本例中,铁路线和公立学校图层已经在地图上,可以直接将其添加至模型。
- 单击从地图添加图层。

从地图添加图层窗口随即出现,其中包含地图上当前存在的图层的列表。
- 单击两个图层以将其选中,然后选择添加。

随即将表示两个图层的两个输入数据变量添加至模型。 变量将变为蓝色,指示其已经过验证。

您的分析将重点关注德克萨斯州的学校和铁路线,但这些数据集分别涵盖美国和北美。 您需要对两个图层进行裁剪以仅显示德克萨斯州境内的要素。 为此,您需要一个当前地图上没有的图层,即用于显示得克萨斯州边界的图层。 您可以在 ArcGIS Living Atlas 中找到此数据。 与其他已作为变量添加的图层不同,您将直接在要使用图层的分析工具中选择该图层。
- 在操作工具栏上,单击添加工具。
添加工具窗口随即出现。
- 在搜索工具文本框中,搜索并选择按属性过滤工具。

按属性过滤工具将使用属性查询来过滤数据集。 该工具特定于 ModelBuilder。 在 Map Viewer 中,一款类似工具为按属性和位置过滤。
- 单击添加。
随即将按属性过滤的工具变量添加至逻辑示意图。 由于尚未设置必需参数,因此该工具及其输出将显示为灰色。 这意味着该工具尚未准备好运行。
提示:
要将变量移至更佳位置,请在整个工作流中单击布局工具栏上的自动布局和适应窗口大小。

- 双击按属性过滤变量以将其打开。
或者,可以选择变量,然后单击元素工具栏上的打开。

随即出现工具窗口。 输入数据集、表达式和结果类型参数均以红点标识,表示这些参数为必需项。
- 在输入数据集下,单击图层。

选择图层窗口随即出现,其中列出模型变量和地图图层。 您要查找的数据集不在这些列表中,因此您需要浏览查找该数据集。
- 单击浏览图层。
选择图层窗口随即出现,其中列出我的内容中的图层。 您将更改过滤器以显示 ArcGIS Living Atlas 中的图层。
- 单击我的内容,然后选择 Living Atlas 分析图层。

通过概化面并移除不必要的字段,对 ArcGIS Living Atlas 分析图层进行了优化以用于分析。
- 在搜索框中键入 USA counties。
县图层允许按州名进行过滤,同时还提供更小的地理边界,以供在工作流后续部分中融合缓冲区时使用。
- 对于 USA Counties Generalized Boundaries,单击选择图层,然后选择 USA Counties – Generalized。

- 单击确认。
随即将 ArcGIS Living Atlas 分析图层添加至工具窗口。 接下来,您将创建表达式以过滤数据集。
- 在表达式下,单击构建新查询。

查询构建器窗口随即出现,其中包含表达式或表达式组的选项。 您的表达式仅需要一条语句:即一个用于过滤州名为得克萨斯州的县的查询,因此您将仅需要一个表达式。
- 确认表达式处于选中状态,然后单击下一步。
接下来,您将开始构建表达式。 表达式中的所选默认字段名为 OBJECTID。
- 单击 OBJECTID 以展开字段名称的菜单并选择 State Name。
- 对于运算符,确认已选择等于。
- 单击输入值以打开 State Name 字段的值菜单,然后选择 Texas。
该表达式现在为 State Name equals Texas,用于将数据集过滤为得克萨斯州的县。
- 单击添加。

表达式参数已更新为新表达式。
其余必需参数为结果类型,该参数已默认选择创建中间数据。 不会将中间数据集发布为托管要素图层,从而有助于提升模型运行速度。 但是也不会将中间数据集添加至地图,因此其最适合模型中无需进行可视化的步骤。 如果您要创建最终数据集或者需要进行可视化确认的内容,请使用创建托管图层输出。
您需要将此工具的结果类型设置为创建中间数据。
- 单击确认。

该工具随即验证已设置的参数并变为黄色,表示其现在已准备好运行。 输出数据集上的图标指示该变量为中间数据。
接下来,您需要重命名输出数据集变量。 随着模型的增长,通过重命名模型元素,您可以更轻松地标识正在使用的数据集或结果。
- 单击 Filtered result 变量以将其选中。 在元素工具栏上,单击重命名。

- 键入 Filtered counties 并按 Enter 键以应用更改。
- 在模型工具栏上,单击保存。

该模型中的第一步现已完成。
叠加铁路线
按属性过滤会将县边界过滤为德克萨斯州。 输出数据可用于与 North American Rail Network Lines 数据集叠加,以查找与德克萨斯州各县相交的铁路线。
- 单击添加工具,然后搜索 intersect。
随即对列表进行过滤以仅包含叠加图层,该工具将使用相交、联合或擦除叠加将两个图层合并为单个图层。
- 单击叠加图层,然后单击添加。

叠加图层变量随即添加至逻辑示意图。
叠加图层需要两个输入数据集:Input features 和 Overlay features。 输入要素图层是您希望进行裁剪的图层。 输出数据集图层是您希望将数据裁剪到的几何。
- 单击 North American Rail Network Lines 输入数据变量右侧的节点,然后将连接器拖动至叠加图层变量的左侧节点。
选择输入菜单随即显示在工具变量下方,其中列出了兼容的工具参数。 在本例中,North American Rail Network Lines 变量与 Input features 和 Overlay features 兼容。
- 对于选择输入,选择 Input features。

注:
您的模型布局外观可能有所不同。 只要连接器相同,模型元素的放置位置并不重要。
随即向模型添加一个连接器,用于将 North American Rail Network Lines 链接到叠加图层。 该工具仍然缺失 Overlay features 参数的数据集。
- 将 Filtered counties 输出数据变量连接至叠加图层工具变量并选择 Overlay features。
由于叠加图层工具现在具有两个必需输入,因此其不再显示为灰色,指示其已准备好运行。 但是,您需要查看默认参数以确保获得正确的输出。
- 双击叠加图层变量以打开工具窗口。
- 对于叠加类型,确保选择相交。

该工具将返回与德克萨斯州各县相交的铁路线要素。
- 对于输出几何,选择线。

- 将结果类型设置为创建中间数据。
- 单击确认。
工具窗口随即关闭,工具元素将再次进行验证。
- 将 Overlay result 变量重命名为 Intersecting rail lines。
- 在模型工具栏上,单击保存。
模型工作流现在会将县边界的图层过滤为德克萨斯州,然后将铁路网络裁剪至该州。
缓冲和汇总
该工作流的最后一步是在已裁剪的铁路线周围创建一个 1000 码的缓冲区,并查找位于该缓冲区范围内的所有公立学校。
注:
此工作流将使用创建缓冲区和范围内汇总以使模型工作流中的每个步骤更加明确。 可以使用邻近汇总创建相同结果。 使用创建缓冲区和范围内汇总与邻近汇总运行模型所需的时间几乎没有差别。
- 单击添加工具。
- 搜索并选择创建缓冲区、融合边界、范围内汇总和叠加图层。
已选择 4 款工具。
- 单击添加。

随即将所选工具的工具元素添加至模型。 叠加图层将命名为叠加图层 1,因为已存在名为叠加图层的变量。
提示:
在继续构建模型的过程中,可以根据需要单击自动布局和适应窗口大小按钮以重新排列元素。
- 将 Intersecting rail lines 连接至创建缓冲区变量并将其设置为输入图层。
您需要为缓冲区距离和单位参数添加变量,而非在工具窗口中更新这些参数,以便将来更加快速地更新值。
这些变量将保存值,并用作特定参数的输入。 使用变量可以加快工具参数的迭代速度,因为您无需打开完整的工具对话框,即可直接修改特定变量值。 如果您将来希望使用不同的缓冲区距离重新运行模型,则这些变量将非常有用,例如本系列的下一个教程在 Map Viewer 中更新模型中所示。
- 单击创建缓冲区元素。 在元素工具栏中,单击添加元素并选择单位。

随即将一个字符串变量添加至模型,并将其连接至创建缓冲区。
- 双击单位变量以将其打开。 展开菜单并选择码。

- 单击确认。
- 对于创建缓冲区,添加距离值变量并将值设置为 1000。
创建缓冲区元素将进行验证并变为黄色,因为现已设置所有必需参数。
- 将 Buffer result 变量重命名为 Buffered rail lines。

下一步是融合各县的铁路缓冲区。
- 打开融合边界工具窗口并更新以下参数:
- 对于输入要素,选择 Buffered rail lines。
- 对于要匹配的字段,选择 Name。
- 启用创建多部分要素。
- 对于结果类型,选择创建中间数据。

- 将融合边界输出变量重命名为 Buffered rails by county。
接下来,您将使用范围内汇总工具来统计每个县中位于铁路轨道 1000 码范围内的学校数量。 此图层是将另存为托管要素图层的两个图层中的第一个图层,以便后续在地图上对其进行分析。
- 打开范围内汇总工具窗口并更新以下参数:
- 对于输入要素,选择 Public School Locations - Current。
- 对于区域类型,选择面图层。
- 对于汇总面图层,选择 Buffered rails by county。
- 对于结果类型,选择创建托管图层。
- 对于输出名称,键入 Public_schools_summarized_TX_YN(其中 YN 为您的姓名首字母缩写)。
- 选中如果存在同名的图层,则自动覆盖。

范围内汇总元素将进行验证并变为黄色。 该输出变量的图标与模型中的其他输出不同,这指示其为托管图层。
注:
“分组依据”汇总表输出变量显示为灰色,因为您在范围内汇总中未使用可选按字段分组参数。 仅经过验证的汇总面变量才会创建输出。
最后,您将使用叠加图层工具将公立学校位置与已缓冲铁路进行相交。
- 打开叠加图层 1 工具窗口并更新以下参数:
- 对于输入要素,选择 Public School Locations - Current。
- 对于叠加要素,选择 Buffered rails by county。
- 对于叠加类型,选择相交。
- 对于输出几何,选择点。
- 对于结果类型,选择创建托管图层。
- 对于输出名称,键入 Schools_near_rail_lines_TX_YN(其中 YN 为您的姓名首字母缩写)。
- 选中如果存在同名的图层,则自动覆盖。

完整模型现已完成,可随时运行。
- 在模型工具栏上,单击保存。
您向模型添加了 3 个数据集和 6 个工具以创建完整工作流。 接下来,您将运行模型并与您的组织共享该模型。
运行和共享模型
模型完成并且验证所有工具已准备好运行后,您将运行模型。 然后,您将共享该模型,以供组织的其他成员使用。
运行模型
运行该模型将按顺序运行每个工具。 模型完成运行后,通过范围内汇总和叠加图层创建的托管要素图层将添加至地图。
注:
运行该模型将不会消耗工具运行的附加配额。 仅高级工具在 ModelBuilder 中运行时才会消耗附加配额,本工作流中未使用此类工具。
- 如有必要,请单击自动布局和适应窗口大小。
现在,您可以在模型中查看完整的分析工具链。
- 单击运行。

模型随即运行。 当每个工具运行时,工具元素将变为红色。 模型完成运行后,托管图层将添加至地图。
模型已运行并且您已验证模型生成了预期结果后,即可保存模型并与分析会话断开连接。
- 单击保存。
- 在 ModelBuilder 窗格中,单击断开连接。
分析会话将断开连接并且配额消耗停止。
由于您不再使用模型,可以为地图腾出更多空间。
- 关闭 ModelBuilder 逻辑示意图。
您也可以从地图中隐藏 North American Rail Network Lines 图层,以便仅显示结果图层。
- 如有必要,打开图层窗格。 对于 North American Rail Network Lines 图层,单击隐藏。

现在,您可以查看分析生成的两个输出图层。

模型构建和运行工作现已完成。
共享模型
与组织共享模型是实现协作和透明化的重要一步。 组织成员可以打开并查看已共享模型,其中包括打开工具参数,以便利益相关者了解完整分析。 组织成员也可以创建模型的可编辑副本,以便在必要时自行运行分析。
- 在 ModelBuilder 窗格的此地图中的模型下,对于 Rail EOP YN 模型,单击选项按钮并选择共享模型。

将显示共享窗口。 您可以选择与组织、所有人或所选群组共享该模型。
- 对于设置共享级别,选择组织。

- 单击保存。
随即更新分析模型项目的共享级别。
- 在内容工具栏上,单击保存并打开,然后选择保存。
将保存对 web 地图进行的更新,其中包括添加新的输出要素图层。
您运行了分析模型以创建托管要素图层输出,用于汇总铁路沿线 1000 码范围内的公立学校数量。 您还与组织成员共享了该模型,以便其打开该模型并查看工作流,或者创建副本以自行进行编辑和运行。
您可以在教程库中找到更多教程。


