成本路径 (空间分析)

许可等级:BasicStandardAdvanced

摘要

计算从源到目标的最小成本路径。

了解有关创建最小成本路径的详细信息

用法

语法

CostPath (in_destination_data, in_cost_distance_raster, in_cost_backlink_raster, {path_type}, {destination_field})
参数说明数据类型
in_destination_data

用于识别这些像元的栅格或要素数据集(将确定的最小成本路径为这些像元与成本最低的源之间的路径)。

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

Raster Layer | Feature Layer
in_cost_distance_raster

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

成本距离栅格通常通过成本距离成本分配成本回溯链接工具进行创建。对于每个像元,成本距离栅格存储从每个像元到一组源像元的成本面上的最小累积成本距离。

Raster Layer
in_cost_backlink_raster

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

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

Raster Layer
path_type
(可选)

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

  • EACH_CELL 对于输入目标数据上每一个具有有效值的像元,系统会确定最小成本路径并将该路径保存在输出栅格上。利用该选项,系统会单独处理输入目标数据的每个像元,并确定每个“起始”像元的最小成本路径。
  • EACH_ZONE 对于输入目标数据上的每个区域,系统会确定最小成本路径并将该路径保存在输出栅格上。利用该选项,每个区域的最小成本路径可起始于区域内成本距离权重最小的像元。
  • BEST_SINGLE 对于输入目标数据上的所有像元,最小成本路径将从具有最小成本路径的最小值的像元到源像元之间获得。
String
destination_field
(可选)

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

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

Field

返回值

名称说明数据类型
out_raster

输出成本路径栅格。

输出栅格为整型。

Raster

代码实例

CostPath 示例 1(Python 窗口)

以下 Python 窗口脚本演示了成本路径工具的使用方法。

import arcpy
from arcpy import env
from arcpy.sa import *
env.workspace = "C:/sapyexamples/data"
outCostPath = CostPath("observers", "costraster", "backlink2", "EACH_CELL")
outCostPath.save("c:/sapyexamples/output/costpath")
CostPath 示例 2(独立脚本)

计算从源到目标的最小成本路径。

# Name: CostPath_Ex_02.py
# Description: Calculates the least-cost path from a source to 
#              a destination.
# Requirements: Spatial Analyst Extension

# Import system modules
import arcpy
from arcpy import env
from arcpy.sa import *

# Set environment settings
env.workspace = "C:/sapyexamples/data"

# Set local variables
inDestination = "observers.shp"
costRaster = "costraster"
backLink = "backlink2"
method = "EACH_CELL"
destField = "FID"

# Check out the ArcGIS Spatial Analyst extension license
arcpy.CheckOutExtension("Spatial")

# Execute CostPath
outCostPath = CostPath(inDestination, costRaster, backLink, method,
                       destField)

# Save the output 
outCostPath.save("c:/sapyexamples/output/costpath02")

环境

相关主题

许可信息

ArcGIS for Desktop Basic:需要 Spatial Analyst
ArcGIS for Desktop Standard:需要 Spatial Analyst
ArcGIS for Desktop Advanced:需要 Spatial Analyst
9/15/2013