练习 4:查找通达学校的备选路径
在本练习中,您将从最佳学校校址到附近道路交叉点的通达道路中查找最佳路径。下方列出了生成此类路径可遵循的步骤。
- 创建源数据集(如有必要)。此源数据是在练习 3 中创建的校址数据(即 final_site 要素类)。
- 创建成本数据集,方法是:确定所需数据集,并重分类为常用度量尺度,然后对各数据集进行加权,最后加以合并。
- 执行成本距离分析,上述源数据集和成本数据集将作为输入。通过此工具创建的距离数据集是一个栅格数据,其中栅格像元的值表示每个像元所返回的源数据累积成本。
要查找成本最低的路径,您还需要一个方向数据集,该数据集可通过成本距离工具以附加数据集的形式创建。这样您便会得到一个从每个像元返回源数据(在本练习中为学校校址)的成本最低路径的方向栅格。
- 创建目标数据集(如有必要)。在本练习中,目标数据是一个位于道路交汇点处的点数据集。
- 执行成本路径分析,该分析将用到通过成本距离工具创建的距离数据集和方向数据集。
完成此练习大约需要 30 分钟的时间。开始本练习前,请保证打开之前练习中所创建的 Site Analysis 地图文档。
创建新模型
您将在 Site Analysis Tools 工具箱中创建一个新模型,即“查找最佳路径”。该模型将计算从源地点(学校校址)到目标点的地表的最佳路径,其中考虑了这条路径将穿过的土地坡度大小和土地利用类型。
设置模型
- 右键单击 Site Analysis Tools 工具箱,然后单击新建 > 模型。
重命名模型
-
在主菜单中,单击模型 > 模型属性。
注:
将按照之前练习中的设置来设定模型属性和环境。
- 单击常规选项卡,然后在名称文本框中输入查找路径。
- 在标签文本框中输入查找最佳路径。
-
选中存储相对路径名(不是绝对路径)。
指定环境设置
- 单击环境选项卡。
- 展开处理范围,然后选中范围。
- 展开栅格分析,然后选中像元大小。
- 单击值。
- 展开处理范围。设置范围,方法是单击下拉箭头,然后选择与图层 elevation 相同。
- 展开栅格分析。设置像元大小,方法是单击下拉箭头,然后选择与图层 elevation 相同。
-
在环境设置 窗口中单击确定。
- 在模型属性 窗口中单击确定。
- 在工具条上,单击保存按钮 。
创建成本数据集
您已在之前的练习中创建了源数据集 (final_site) 和坡度数据集 (Slope Output)。鉴于在穿越陡坡或某些土地利用类型的土地时的道路修建成本较高,因此,您所创建的成本数据集应该能够反映在地表上任意位置所返回的推荐的新校址的成本。
此部分模型如下图所示:
设置模型
- 将“Slope Output”添加到模型中。
- 找到重分类工具并将其添加到模型构建器中,与 Slope Output 成一条直线。
- 单击添加连接工具 。使用连接工具对坡度输出与重分类工具进行连接。
- 单击模型工具条上的选择工具 。
重分类坡度
新道路最好仅穿过相对平缓的斜坡。您需要对“Slope Output”图层进行重分类,将值划分成相等间隔。您为成本最高的坡度(坡度角最大)指定值 10,成本最低的坡度(坡度角最小)指定值 1,并线性排列中间值。
- 打开重分类工具。
- 接受重分类字段参数的默认设置,以便使用“Value”字段。
-
单击分类。
- 单击方法下拉箭头,然后单击相等间隔。
-
单击类别下拉箭头,然后单击 10。
您希望在修建道路时避开陡坡,因此应在成本数据集中为陡坡指定较高的值。由于会默认为较陡的坡度指定较高的值,因此您无需更改默认的 New values。
-
单击确定。
- 接受输出栅格参数的默认值。
- 单击确定。
- 将重分类工具中的输出变量重命名为 Reclassed slope。
- 右键单击重分类工具,然后单击运行。
为数据集设置权重和合并数据集
接下来将合并“Reclassed slope”和“landuse”数据集从而生成一个数据集,用于呈现根据坡的陡峭程度和土地利用类型修建通过地表上每个位置的道路的成本。在此模型中,每个数据集的权重相等。
- 找到加权叠加工具并将其添加到模型构建器中,与 Reclassed slope 成一条直线。
-
打开加权叠加工具。
默认评估级别为 1 至 9(以 1 为增量)。在练习 3 中,对坡度数据集进行重分类时级别为 1 至 10,因此在本练习中向工具中添加输入栅格之前,也要将评估级别设置为 1 至 10(以 1 为增量)。这意味着可在输入坡度数据集添加之后避免更新级别值。
- 在起始、终止和增量文本框中分别输入 1、10 和 1。
- 单击应用。
- 单击添加栅格行按钮 。对于输入栅格,请从下拉列表中选择变量 Reclassed slope,输入字段中的内容仍保留为“Value”。单击确定。
-
单击添加栅格行按钮 。这次请添加“landuse”图层。将输入字段设置为“Landuse”,然后单击确定。
需要对“landuse”图层的各比例值进行加权,以便同“Reclassed slope”数据集进行比较。较大的值表示在某特定土地利用类型的土地上修建道路的成本较高。
-
输入下列比例值:
- 灌木丛/过渡带 - 5
- 水域 - 10
- 荒地 - 2
- 建筑区 - 9
- 农业用地 - 4
- 森林 - 8
- 湿地 - 10
警告:在创建成本面的情况下,将比例值设为 Restricted 时要谨慎。使用 Restricted 会将单元的值指定为评估级别的最小值减去 1(在本练习中为零),因此受限区域似乎已指定为成本最低,但实际上此类区域已从分析中排除。对带有此值的像元进行渲染时应恰如其分以避免引起混淆。而对于要从分析中排除的区域则可以指定为成本较高或将比例值设置为 NoData。如果使用 NoData,首先应检查输入栅格中是否存在 NoData 区域。如果已存在此类区域,则将很难判断设为 NoData 的区域是否存在,因为它已从分析中排除或者在该位置处不存在其中一个输入的原始信息。
- 现在将对每个栅格指定相等的影响力百分比,因为它们在此分析中同等重要。单击设置等效影响为每个输入栅格指定相等的影响力百分比(均为 50%)。
- 接受输出栅格的默认值。
-
单击确定。
执行加权叠加
- 单击自动布局按钮 ,然后单击全图按钮 。
- 将加权叠加工具中的输出变量重命名为成本面,然后单击确定。
- 右键单击变量 Cost surface,然后单击添加至显示。
- 运行加权叠加工具。
- 在工具条上,单击保存按钮 。
检查添加到 ArcMap 显示中的图层。具有较小值的位置表示修建道路时成本最低的区域。
查找成本最低路径
要查找新校址(已在练习 3 中做出标识)和目标位置之间的成本最低路径,将用到成本距离工具和成本路径工具。成本距离工具共有两种输出。输出距离栅格数据可显示从任意位置(单元)到源(校址)的累积行驶成本。它不包含从某一特定单元到源的行驶路线相关信息,只包含沿成本最低路径到达源的成本为多少。输出回溯链接栅格数据可显示从任意单元沿成本最低的路径回到源要行驶的路线。您可以将这两种输出作为成本路径工具的输入连同使用输入目标数据,计算出新校址和目标位置之间的成本最低路径。
设置模型
- 向模型构建器中添加 final_site 图层和“目标”图层。
-
向模型构建器中添加成本距离工具和成本路径工具。
成本距离工具和成本路径工具均位于“Spatial Analyst 工具”工具箱的“距离”工具集中。
- 使用添加连接工具 将 final_site 和成本面连接到成本距离工具。
- 将变量输出距离栅格数据重命名为输出成本距离并将变量输出回溯链接栅格数据重命名为输出成本回溯链接。
- 使用添加连接工具 将目标、输出成本距离和输出成本回溯链接连接到成本路径工具。
- 将输出栅格重命名为输出成本路径。
-
在模型工具条上,单击选择工具 、自动布局按钮 和全图按钮 。
设置成本距离参数
现在将使用刚刚创建的成本数据集(用于呈现穿越每个单元的行驶成本)和在练习 3 中创建的 final_site 图层(源)运行成本距离工具。此工具的两种输出分别为距离数据集(数据集中的每个单元都包含一个表示从该单元到源的累积最低行驶成本的值)和回溯链接数据集(指明从每个单元返回源的成本最低路径的方向)。
- 打开成本距离工具。
- 确认输入栅格数据或要素源数据设为 final_site 图层,并且输入成本栅格数据设为变量成本面。
- 接受输出距离栅格数据和最大距离的默认值。
-
为输出回溯链接栅格数据的名称输入 cost_bklink。
默认情况下,临时工作空间的路径 (C:\Spatial Analyst\Scratch.gdb) 将自动附加到刚为输出回溯链接栅格数据输入的数据集名称前方。
-
单击确定。
设置成本路径参数
成本距离工具将输出距离栅格数据和回溯链接栅格数据,这两种栅格数据均可用于成本路径工具。提供的目标图层将成为通往学校位置的新道路的起点。
-
将鼠标悬停在成本路径工具上可验证参数的各输入数据集是否正确。
- 输入栅格数据或要素目标数据将设置为目标图层。
- 输入成本距离栅格数据将设置为变量输出成本距离。
- 输入成本回溯链接栅格数据将设置为变量输出成本回溯链接。
-
接受输出栅格、路径类型和目标字段参数的默认值。
处理输入要素目标数据时,其中一个处理程序是将该数据临时转换为栅格数据。此栅格数据中只含有一个单元,因为只存在一个目标点。“路径类型”参数的值可保留为 EACH_CELL。由于只存在一个单元,因此只会创建一个路径。
运行成本距离分析
- 右键单击变量输出成本距离、输出成本回溯链接和输出成本路径,然后单击添加至显示。
- 运行“查找最佳路径”模型。
检查添加到 ArcMap 显示中的图层。“输出成本路径”图层可呈现从学校位置到目标点的成本最低路径。该路径将避开被认为修建道路成本较高的陡坡和某些土地利用类型。
栅格转折线
设置栅格转折线参数
作为模型中的最后一步,您需要要将栅格路径转换为折线 (polyline) 以便进行显示。
- 移除已创建的图层 Slope output、Reclassed slope、Cost surface、Output cost distance 和 Output cost backlink,这样便可以查看显示在 landuse 图层和 hillshd 图层上方的路径。
- 向模型构建器中添加栅格转折线工具。
“栅格转折线”工具位于“转换工具”工具箱的“由栅格转出”工具集中。
- 打开栅格转折线工具。
- 单击输入栅格下拉箭头,然后选择变量输出成本路径。
- 将字段参数保留为“值”。
- 单击输出折线(polyline)要素参数旁边的浏览按钮 ,然后导航到 Stowe 文件地理数据库 C:\Spatial Analyst\Stowe.gdb。
- 为要素类的名称输入 new_route,然后单击保存。
-
接受其他所有参数的默认值,然后单击确定。
运行“栅格转折线”
- 单击自动布局按钮 ,然后单击全图按钮 。
- 将 new_route 输出变量重命名为输出路径。
- 右键单击变量输出路径,然后单击添加至显示。
- 运行栅格转折线工具。
检查添加到 ArcMap 显示中的 new_route 图层。栅格路径已转换为折线 (polyline)。
您可以轻松地更改参数值来试验不同的结果和重新运行模型。模型中视更改后过程的输出结果而定的部分才需要重新运行。例如,将对“土地利用”为 Built up 的单元值应用的权重从 9 降低为 1,会明显改变新道路的可能路径,这将在允许的情况下尽量沿现有道路,从而可能属于值得考虑的成本较低的选择。
保存地图文档
由于为本教程中创建的两个模型设置的是相对路径,因此如果将包含这些模型和数据的工具箱移动到磁盘上的新位置(彼此之间的相对结构保持不变),则数据源的路径位置将设定为工具箱的相对位置。默认情况下,地图文档将设置为存储数据源的相对路径名。
- 在工具条上,单击保存按钮 。
- 单击文件 > 退出。
总结
至此本教程全部结束。本教程为您介绍了 ArcGIS Spatial Analyst 扩展模块中提供的一些工具,这些工具可通过 Spatial Analyst 工具条和“Spatial Analyst 工具”工具箱获得。还学习了如何构建可重复使用并且可与其他人共享的模型。尤其是学习了如何创建适宜性地图以及如何计算地表上成本最低的路径。涉及的一系列步骤适用于各种不同的应用程序。