最佳路径为线 (栅格分析)

摘要

将从源到目的地的最佳路径计算为线。

插图

最佳路径为线工具图示

使用情况

  • 当您登录到已针对 Raster Analysis 配置 ArcGIS Image ServerArcGIS Enterprise 门户时,可以使用此栅格分析门户工具。 工具运行时,ArcGIS Pro 将充当客户端,并且处理将在与 ArcGIS Enterprise 联合的服务器中进行。 门户工具接受来自门户的图层作为输入,并在门户中创建输出。

    输入栅格图层支持来自门户的图层、影像服务的 URI 或 URL 或创建影像服务器图层工具的输出。 输入要素图层可以是来自门户、URI 或要素服务 URL 的图层。 此工具不支持本地栅格数据或图层。 虽然可以使用本地要素数据和图层作为此门户工具的输入,但是最佳做法是使用门户的图层作为输入。

  • 最佳路径为线工具用于生成记录最佳路径或从目的地到累积成本表面或欧氏距离表面内定义的最近源之间的路径的输出线要素服务。

  • 当输入目标数据是栅格时,目标像元集包括输入栅格中的所有像元或具有有效值的要素目标数据。 具有 NoData 值的像元不包括在源集内。 值零将被视为合法目标。 使用提取工具可创建目标栅格。

  • 使用输入目标的要素数据时,必须注意输出像元大小的管理方式,特别是在输出像元相对于输入中的详细信息较为粗略时尤其如此。 已应用使用要素转栅格工具的内部栅格化过程。 这意味着,不在像元中心的数据将不会包含在中间栅格化目标输出中,也不会在距离计算中表示出来。 例如,如果您的目标是一系列相对于输出像元大小偏小的面,如建筑物覆盖区,则可能只有一部分面会落入输出栅格像元的中心,从而导致分析中会缺少其他许多面。

    为避免出现这种情况,在中间步骤,您可以使用要素转栅格工具直接将输入要素栅格化并设置字段参数。 然后将生成的输出用作希望使用的特定距离工具的输入。 或者,您可以选择一个小的像元大小以从输入要素中捕获适当量的详细信息。

  • 在生成最佳路径之前,通常使用以下工具之一来创建距离累积栅格和反向栅格:距离累积距离分配。 这些是生成最佳路径所需的输入。

  • 创建的最佳路径可以是基于 D8 流向的流动路径。 要以此方式生成最佳路径,将 D8 流向栅格用作输入反向或流向栅格的输入。 还需要提供输入距离累积栅格输入距离累积栅格不用于确定路径。 无论您使用常量栅格还是数字高程模型 (DEM),您的路径都是相同的;只有路径上的属性值会有所不同。 有关 D8 流向栅格的详细信息,请参见流向工具。

  • 输出要素服务包括 DestID 字段,用于标识每条线所通向的目的地。

  • 与大多数其他栅格分析工具不同,最佳路径为线将忽略以下环境设置:输出坐标系、范围、像元大小和捕捉栅格。 如果对回溯链接栅格重采样或重投影,该栅格的模式将被严重更改,从而导致路径错误。

参数

标注说明数据类型
输入栅格数据或要素目标数据

用于标识确定通向最小成本源的最小积累成本路径时基于的位置的栅格或要素数据集。

对于栅格,输入类型必须为整型,并且必须由具有有效值(零为有效值)的像元组成。 并且必须为其余的像元指定 NoData。 对于要素服务,输入类型可以为点、线或面。

Raster Layer; Image Service; Feature Layer; String
输入距离累积栅格

距离累积栅格用于确定从源到目的地的最佳路径。

距离累积栅格通常使用距离累积距离分配工具进行创建。 距离累积栅格中的每个像元表示表面上从每个像元到源像元集的最小累积成本距离。

Raster Layer; Image Service; String
输入反向或流向栅格

反向栅格包含以度为单位的计算方向。 该方向用于标识沿最佳路径返回最小累积成本源同时避开障碍的下一个像元。

值范围为 0 度到 360 度。 值 0 将会留供源像元使用。 正东(右侧)是 90 度,且值以顺时针方向增加(180 是南方、270 是西方、360 是北方)。

Raster Layer; Image Service; String
输出最佳路径作为要素

包含最佳路径的输出要素服务的名称。

String
目的地字段
(可选)

要用于获得目标位置的值的字段。

此字段必须为整数。

Field
路径类型
(可选)

用于指定对输入目标数据上的值和区域在成本路径计算中的解释方式进行定义的关键字。

  • 每个区域对于输入目标数据中的每个区域,系统会确定最小成本路径并将该路径保存在输出栅格上。 利用该选项,每个区域的最小成本路径可起始于区域内成本距离权重最小的像元。 这是默认设置。
  • 最佳单一对于输入目标数据上的所有像元,最小成本路径将派生自距源像元具有最小成本路径的最小值的像元。
  • 每个像元对于输入目标数据中每一个具有有效值的像元,系统会确定最小成本路径并将该路径保存在输出栅格上。 利用该选项,系统会分别处理输入目标数据中的每个像元,并确定每个像元的最小成本路径。
String
创建网络路径
(可选)

指定是计算从目的地到源的完整路径(可能重叠),还是创建不重叠的网络路径。

  • 未选中 - 计算从目的地到源的完整路径,这些路径可以重叠。这是默认设置。
  • 选中 - 计算不重叠的网络路径。
Boolean

派生输出

标注说明数据类型
输出折线要素

最佳路径的要素服务输出。

要素图层

arcpy.ra.OptimalPathAsLine(inputDestinationRasterOrFeatures, inputDistanceAccumulationRaster, inputBackDirectionRaster, outputPolylineName, {destinationField}, {pathType}, {createNetworkPaths})
名称说明数据类型
inputDestinationRasterOrFeatures

用于标识确定通向最小成本源的最小积累成本路径时基于的位置的栅格或要素数据集。

对于栅格,输入类型必须为整型,并且必须由具有有效值(零为有效值)的像元组成。 并且必须为其余的像元指定 NoData。 对于要素服务,输入类型可以为点、线或面。

Raster Layer; Image Service; Feature Layer; String
inputDistanceAccumulationRaster

距离累积栅格用于确定从源到目的地的最佳路径。

距离累积栅格通常使用距离累积距离分配工具进行创建。 距离累积栅格中的每个像元表示表面上从每个像元到源像元集的最小累积成本距离。

Raster Layer; Image Service; String
inputBackDirectionRaster

反向栅格包含以度为单位的计算方向。 该方向用于标识沿最佳路径返回最小累积成本源同时避开障碍的下一个像元。

值范围为 0 度到 360 度。 值 0 将会留供源像元使用。 正东(右侧)是 90 度,且值以顺时针方向增加(180 是南方、270 是西方、360 是北方)。

Raster Layer; Image Service; String
outputPolylineName

包含最佳路径的输出要素服务的名称。

String
destinationField
(可选)

要用于获得目标位置的值的字段。

此字段必须为整数。

Field
pathType
(可选)

用于指定对输入目标数据上的值和区域在成本路径计算中的解释方式进行定义的关键字。

  • EACH_ZONE对于输入目标数据中的每个区域,系统会确定最小成本路径并将该路径保存在输出栅格上。 利用该选项,每个区域的最小成本路径可起始于区域内成本距离权重最小的像元。 这是默认设置。
  • BEST_SINGLE对于输入目标数据上的所有像元,最小成本路径将派生自距源像元具有最小成本路径的最小值的像元。
  • EACH_CELL对于输入目标数据中每一个具有有效值的像元,系统会确定最小成本路径并将该路径保存在输出栅格上。 利用该选项,系统会分别处理输入目标数据中的每个像元,并确定每个像元的最小成本路径。
String
createNetworkPaths
(可选)

指定是计算从目的地到源的完整路径(可能重叠),还是创建不重叠的网络路径。

  • DESTINATIONS_TO_SOURCES计算从目的地到源的完整路径,这些路径可以重叠。这是默认设置。
  • NETWORK_PATHS计算不重叠的网络路径。
Boolean

派生输出

名称说明数据类型
outputPolylineFeatures

最佳路径的要素服务输出。

要素图层

代码示例

最佳路径为线示例 1(Python 窗口)

以下 Python 窗口脚本演示了如何使用 OptimalPathAsLine 工具。

import arcpy

arcpy.ra.OptimalPathAsLine(
    "https://myserver/rest/services/destination/ImageServer", 
    "https://myserver/rest/services/accumulationraster/ImageServer", 
    "https://myserver/rest/services/backdirection/ImageServer", 
    "outpath")
最佳路径为线示例 2(独立脚本)

将从目的地到源的最佳路径计算为源。

#-------------------------------------------------------------------------------
# Name: OptimalPathAsLine_Ex_02.py
# Description: Calculates the optimal path from a source to a destination.
# Requirements: ArcGIS Image Server

# Import system modules
import arcpy

# Set local variables
inputDestinationLayer =
    'https://MyPortal.esri.com/server/rest/services/Hosted/destination/ImageServer'
inputAccumulationLayer =
    'https://MyPortal.esri.com/server/rest/services/Hosted/costaccumulation/ImageServer'
inputDirectionLayer = 
    'https://MyPortal.esri.com/server/rest/services/Hosted/backdirection/ImageServer'
outputName = 'outTravelPaths'


arcpy.ra.OptimalPathAsLine(inputDestinationLayer, inputAccumulationLayer,
                            inputDirectionLayer, outputName)

许可信息

  • Basic: 需要 ArcGIS Image Server
  • Standard: 需要 ArcGIS Image Server
  • Advanced: 需要 ArcGIS Image Server

相关主题