确定行程成本路径为折线 (栅格分析)

描述

计算源和目的地之间的最低成本折线路径。

插图

“确定行程成本路径为折线”工具图示

使用方法

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

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

  • 确定行程成本路径为折线工具可生成从源到目的地的最小成本路径的输出要素。

  • 如果源或目的地输入为影像服务,则非源或目的地的像元必须具有 NoData 值。这些输入中任何具有值(包括零)的像元都将用作有效源或目的地。

  • 输入成本表面不能包含任何零值或负值。

语法

DetermineTravelCostPathAsPolyline(inputSourceRasterOrFeatures, inputCostRaster, inputDestinationRasterOrFeatures, outputPolylineName, {pathType}, {destinationField})
参数说明数据类型
inputSourceRasterOrFeatures

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

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

Raster Layer; Image Service; Feature Layer; String
inputCostRaster

要用于确定从源到目的地的最小成本路径的成本栅格影像服务的名称。

每个像元位置上的值表示经过像元时移动每单位距离所需的成本。每个像元位置值乘以像元分辨率,同时也会补偿对角线移动来获取经过像元的总成本。

成本栅格的值可以是整型或浮点型,但不可以为负值或零(不存在负成本或零成本)。

Raster Layer; Image Service; String
inputDestinationRasterOrFeatures

用于识别这些像元的影像服务或要素服务,可计算到这些像元的最小成本路径。

Raster Layer; Image Service; Feature Layer; String
outputPolylineName

输出折线要素服务的名称。

连接源和目的地的最佳(最小成本)路径的折线要素服务。

每个路径(或线)都具有唯一编号,并在属性表中包含名为 DestID 的附加字段,该字段可将路径与目标栅格上的唯一标识符相连。

由于每条路径都是由唯一的线所表示,因此多条路径可经过同一路线的位置会存在多条线。

String
pathType
(可选)

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

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

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

输入要素数据必须至少包含一个有效整型字段。

Field

派生输出

名称说明数据类型
outputPolylineFeatures

输出折线要素。

要素类

代码示例

DetermineTravelCostPathAsPolyline 示例 1(Python 窗口)

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

import arcpy

arcpy.DetermineTravelCostPathAsPolyline_ra(
    "https://myserver/rest/services/sources/ImageServer", 
    "https://myserver/rest/services/costsurface/ImageServer", 
    "https://myserver/rest/services/destination/ImageServer", 
    "outpath", "BEST_SINGLE")
DetermineTravelCostPathAsPolyline 示例 2(独立脚本)

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

#-------------------------------------------------------------------------------
# Name: DetermineTravelCostPathAsPolyline_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'
inputDestinationLayer = 
    'https://MyPortal.esri.com/server/rest/services/Hosted/destinationras/ImageServer'
outputName = 'outTravelPaths'
pathType = 'BEST_SINGLE'

arcpy.DetermineTravelCostPathAsPolyline_ra(inputSourceLayer, inputCostLayer,
                                           inputDestinationLayer, outputName, pathType)

许可信息

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

相关主题