确定到目的地的行程成本路径 (栅格分析)

摘要

计算已知源和已知目的地之间的特定路径。

最佳路径为栅格工具提供了增强的功能或性能。

插图

“确定到目的地的行程成本路径”工具图示

使用情况

  • 此栅格分析门户工具将在您登录到 ArcGIS Enterprise “了解 ArcGIS Enterprise 门户中的分析”链接 时可用,其中门户包含一个 ArcGIS Image Server “什么是 ArcGIS Image Server”链接,此链接专为 Raster Analysis “配置和部署栅格分析”链接 配置。调用该工具后,ArcGIS Pro 将充当客户端,处理将在与 ArcGIS Enterprise 联合的服务器中进行。门户工具接受来自门户的图层作为输入,并在门户中创建输出。

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

  • 此工具的示例应用之一是查找到达特定目的地的行程成本。

  • 在成本距离方面,确定到目的地的行程成本路径工具可生成用于记录最小成本路径或从所选位置到累积成本面内所定义的最近源像元之间的路径的输出栅格。

  • 要创建输入成本距离和回溯链接影像服务,通常需要先运行计算行程成本,然后再运行确定到目的地的行程成本路径。 这些是用于确定到目的地的行程成本路径必需的输入影像服务。

  • 在扫描过程中遇到每个最小成本路径时,将会为其分配一个值。 成本路径的原始源(成本距离和回溯链接是从该源中获得的)上的终止像元接收一,第一条路径接收三,第二条路径接收四,依此类推。 值二为路径合并部分的保留值,该路径具有部分公共成本路径。

  • 当输入目标数据是影像服务时,目标像元集包括输入影像服务中的所有像元或具有有效值的要素目标数据。 具有 NoData 值的像元不包括在源集内。 值零将被视为合法目标。

  • 当源输入是要素服务时,默认情况下,将使用第一个有效可用字段。 如果不存在有效字段,则将使用 ObjectID 字段(如 OIDFID)。

  • 当多条路径合并到一起并随着余下的距离回到同一路线上的源时,两条路径相交的线段将被分配值 2。 其中一条路径的值不能被分配给路径的合并部分,因为合并部分属于两条路径。

    具有合并路径的每个区域选项示例
    具有合并路径的每个区域选项示例
  • 确定到目的地的行程成本路径将忽略像元大小环境设置,并将输入成本回溯链接栅格数据的像元大小用于输出栅格。 如果对回溯链接栅格重采样使其具有不同分辨率,则该栅格的模式将被严重更改。 为了避免混淆,在使用此工具时,不应设置像元大小。

  • 确定到目的地的行程成本路径也可用于获取沿数字高程模型 (DEM) 的最小电阻路径。 在这种情况下,将 DEM 用于输入成本距离栅格数据,并将流向工具的输出用于输入成本回溯链接栅格数据。 有效的流向栅格值是 1、2、4、8、16、32、64 和 128,回溯链接栅格中的有效值是 0 到 360。 这两种影像服务都是可接受的服务。

  • 当输入目标数据是要素时,必须至少包含一个有效字段。

参数

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

用于识别这些像元的影像服务或要素服务(将确定的最小成本路径为这些像元与成本最低的源之间的路径)。

如果输入是影像服务,则输入由具有有效值(零是有效值)的像元组成,并且必须为其余的像元指定 NoData。

Raster Layer; Image Service; Feature Layer; String
输入成本距离栅格

要用于确定从目标位置到源的最小成本路径的成本距离影像服务的名称。

通常使用计算行程成本工具创建成本距离栅格。 对于每个像元,成本距离栅格存储从每个像元到一组源像元的成本表面上的最小累积成本距离。

Raster Layer; Image Service; String
输入成本回溯链接栅格

用于确定要经由最小成本路径返回到源的路径的成本回溯链接栅格的名称。

对于成本回溯链接栅格内的每个像元,值可识别在从像元到单个源像元或一组源像元的最小累积成本路径上作为下一像元的邻近像元。

Raster Layer; Image Service; String
输出名称

输出行程成本路径栅格服务的名称。

默认名称基于工具名称以及输入图层名称。如果该图层名称已存在,则系统将提示您提供其他名称。

String
目的地字段
(可选)

目的地图层上的字段,用于保存定义每个目的地的值。

输入要素服务必须至少包含一个有效字段。

String
路径类型
(可选)

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

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

派生输出

标注说明数据类型
输出栅格

输出栅格。

Raster Layer

arcpy.ra.DetermineTravelCostPathsToDestinations(inputDestinationRasterOrFeatures, inputCostDistanceRaster, inputCostBacklinkRaster, outputName, {destinationField}, {pathType})
名称说明数据类型
inputDestinationRasterOrFeatures

用于识别这些像元的影像服务或要素服务(将确定的最小成本路径为这些像元与成本最低的源之间的路径)。

如果输入是影像服务,则输入由具有有效值(零是有效值)的像元组成,并且必须为其余的像元指定 NoData。

Raster Layer; Image Service; Feature Layer; String
inputCostDistanceRaster

要用于确定从目标位置到源的最小成本路径的成本距离影像服务的名称。

通常使用计算行程成本工具创建成本距离栅格。 对于每个像元,成本距离栅格存储从每个像元到一组源像元的成本表面上的最小累积成本距离。

Raster Layer; Image Service; String
inputCostBacklinkRaster

用于确定要经由最小成本路径返回到源的路径的成本回溯链接栅格的名称。

对于成本回溯链接栅格内的每个像元,值可识别在从像元到单个源像元或一组源像元的最小累积成本路径上作为下一像元的邻近像元。

Raster Layer; Image Service; String
outputName

输出行程成本路径栅格服务的名称。

默认名称基于工具名称以及输入图层名称。如果该图层名称已存在,则系统将提示您提供其他名称。

String
destinationField
(可选)

目的地图层上的字段,用于保存定义每个目的地的值。

输入要素服务必须至少包含一个有效字段。

String
pathType
(可选)

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

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

派生输出

名称说明数据类型
outputRaster

输出栅格。

Raster Layer

代码示例

DetermineTravelCostPathsToDestinations 示例 1(Python 窗口)

此示例将计算到目的地的行程成本。

import arcpy

arcpy.DetermineTravelCostPathstoDestinations_ra(
    "https://myserver/rest/services/sources/ImageServer", 
    "https://myserver/rest/services/costsurface/ImageServer", 
    "https://myserver/rest/services/backlinkras/ImageServer", 
    "outpath", "destField", "EACH_ZONE")
DetermineTravelCostPathsToDestinations 示例 2(独立脚本)

此示例将计算到目的地的行程成本。

#-------------------------------------------------------------------------------
# Name: DetermineTravelCostPathstoDestinations_Ex_02.py
# Description: Calculates the optimum travel cost path.
# Requirements: ArcGIS Image Server

# Import system modules
import arcpy

# Set local variables
inputSourceLayer =
    'https://MyPortal.esri.com/server/rest/services/Hosted/sources/ImageServer'
inputCostLayer =
    'https://MyPortal.esri.com/server/rest/services/Hosted/costraster/ImageServer'
inputBackLinkLayer = 
    'https://MyPortal.esri.com/server/rest/services/Hosted/backlinkras/ImageServer'
outputName = 'outTravelPathsRaster'
destField = 'dest1'
pathType = 'BEST_SINGLE'

arcpy.DetermineTravelCostPathstoDestinations_ra(inputSourceLayer, inputCostLayer,
                                                inputBackLinkLayer, outputName, 
						destField, pathType)

许可信息

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

相关主题