需要 Spatial Analyst 许可。
插图
使用方法
此栅格分析门户工具将在您登录到 ArcGIS Enterprise 时可用,其中门户包含一个 ArcGIS Image Server ,此链接专为 Raster Analysis 配置。调用该工具后,ArcGIS Pro 将充当客户端,处理将在与 ArcGIS Enterprise 联合的服务器中进行。门户工具接受来自门户的图层作为输入,并在门户中创建输出。
输入栅格图层支持以下内容:来自门户的图层、图像服务的 URI 或 URL 或创建影像服务器图层工具的输出。输入要素图层可以是门户中的图层。它也可以是要素服务的 URI 或 URL。此工具不支持本地栅格数据或图层。虽然可以使用本地要素数据和图层作为此门户工具的输入,但是最佳做法是使用门户的图层作为输入。
成本路径折线工具用于生成记录最小成本路径或从源到累积成本表面或欧氏距离表面内定义的最近目的地之间的路径的输出折线要素服务。
如果您具有目标要素,则可以使用栅格化要素栅格函数将其转换为图像服务。使用现有成本距离栅格作为栅格化函数的栅格输入。这将确保使用相同的像元大小、范围和空间参考将这些要素正确转换为图像服务。
目标栅格中存在的 NoData 值将不会作为有效值包含在函数中。值 0 将被视为目标栅格中的合法值。
需要两个输入图像服务才能运行成本路径折线。如何生成这些输入取决于要完成的分析类型。
输出要素服务具有名为 DestID 的字段,用于标识每条线所通向的目的地。
与大多数其他栅格分析工具不同,成本路径折线将忽略以下环境设置:输出坐标系、范围、像元大小和捕捉栅格。如果对回溯链接栅格重采样或重投影,该栅格的模式将被严重更改,从而导致路径错误。
语法
CostPathAsPolyline(inputDestinationRasterOrFeatures, inputCostDistanceRaster, inputCostBacklinkRaster, outputPolylineName, {pathType}, {destinationField})
参数 | 说明 | 数据类型 |
inputDestinationRasterOrFeatures | 用于识别这些位置的图像服务或要素服务(将确定的最小成本路径为这些位置与最低成本源之间的路径)。 如果输入是影像服务,则输入由具有有效值(零是有效值)的像元组成,并且必须为其余的像元指定 NoData。 | Raster Layer; Image Service; Feature Layer; String |
inputCostDistanceRaster | 要用于确定从源到目的地的最小成本路径的成本距离或欧式距离栅格。 | Raster Layer; Image Service; String |
inputCostBacklinkRaster | 用于确定要经由最小成本路径或最短路径返回到源的路径的栅格名称。 对于回溯链接或方向栅格中的每个像元,该值用于识别在从该像元到源像元的路径上作为下一像元的邻近像元。 | Raster Layer; Image Service; String |
outputPolylineName | 将包含最小成本路径的输出要素服务。 | String |
pathType (可选) | 用于指定输入目标数据上的值和区域在成本路径计算中的解释方式。
| String |
destinationField (可选) | 要用于获得目标位置的值的字段。 | Field |
派生输出
名称 | 说明 | 数据类型 |
outputPolylineFeatures | 折线要素。 | 要素图层 |
代码示例
以下 Python 窗口脚本演示了如何使用 CostPathAsPoyline 函数。
import arcpy
arcpy.CostPathAsPolyline_ra(
"https://myserver/rest/services/destination/ImageServer",
"https://myserver/rest/services/costsurface/ImageServer",
"https://myserver/rest/services/direction/ImageServer",
"outpath", "BEST_SINGLE")
计算从源到目标的最小成本路径。
#-------------------------------------------------------------------------------
# Name: CostPathAsPolyline_Ex_02.py
# Description: Calculates the least-cost 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'
inputCostLayer =
'https://MyPortal.esri.com/server/rest/services/Hosted/costraster/ImageServer'
inputDirectionLayer =
'https://MyPortal.esri.com/server/rest/services/Hosted/direction/ImageServer'
outputName = 'outTravelPaths'
pathType = 'BEST_SINGLE'
arcpy.CostPathAsPolyline_ra(inputDestinationLayer, inputCostLayer,
inputDirectionLayer, outputName, pathType)
环境
许可信息
- Basic: 需要 ArcGIS Image Server
- Standard: 需要 ArcGIS Image Server
- Advanced: 需要 ArcGIS Image Server