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