成本回溯链接 (空间分析)

许可等级:BasicStandardAdvanced

摘要

定义在最近源的最小累积成本路径上为下一像元的相邻点。

了解有关成本距离工具的工作原理的详细信息

插图

Cost Back Link illustration
Cost_BackLink = CostBacklink(Source_Ras, Cost_Ras)

用法

语法

CostBackLink (in_source_data, in_cost_raster, {maximum_distance}, {out_distance_raster})
参数说明数据类型
in_source_data

输入源位置。

此为栅格或要素数据集,用于标识计算每个输出像元位置的最小积累成本距离所依据的像元或位置。

对于栅格,输入类型可以为整型或浮点型。

Raster Layer | Feature Layer
in_cost_raster

定义以平面测量的经过每个像元所需的阻抗或成本。

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

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

Raster Layer
maximum_distance
(可选)

定义累积成本值不能超过的阈值。

如果累积的成本距离值超过该值,则像元位置的输出值为 NoData。最大距离定义计算累积成本距离适用的范围。

默认距离是到输出栅格边的距离。

Double
out_distance_raster
(可选)

输出成本距离栅格。

此成本距离栅格用于标识每个像元到标识的源位置在成本表面上的最小累积成本距离。

源可以是一个像元、一组像元或者一个或多个要素位置。

输出栅格为浮点型。

Raster Dataset

返回值

名称说明数据类型
out_backlink_raster

输出成本回溯链接栅格。

回溯链接栅格包含从 0 到 8 的值,这些值用于定义方向或从某像元开始沿最小累积成本路径标识下一个邻近像元(接续像元),以达到最小成本源。

如果该路径穿过右侧的相邻像元,则为像元分配值 1、2 来与右下角像元相对应,并按顺时针方向依此类推。值 0 留供源像元使用。

回溯链接位置
Raster

代码实例

CostBackLink 示例 1(Python 窗口)

以下 Python 窗口脚本演示了成本回溯链接工具的使用方法。

import arcpy
from arcpy import env
from arcpy.sa import *
env.workspace = "C:/sapyexamples/data"
outBacklink = CostBackLink("observers","costraster", 100000, 
                           "c:/sapyexamples/output/distRast")
outBacklink.save("c:/sapyexamples/output/backlink")
CostBackLink 示例 2(独立脚本)

创建在最小累积成本路径分析中定义下一像元的方向的回溯链接栅格。

# Name: CostBackLink_Ex_02.py
# Description: Defines the neighbor that is the next cell on 
#              the least accumulative cost path to the nearest 
#              source.
# 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
inSource = "observers.shp"
inCostRaster = "costraster"
inMaxDist = 100000
outDistRast = "c:/sapyexamples/output/distRast"

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

# Execute CostBackLink
outBacklink = CostBackLink(inSource,inCostRaster, inMaxDist,
                           outDistRast)

# Save the output 
outBacklink.save("c:/sapyexamples/output/backlink.tif")

环境

相关主题

许可信息

ArcGIS for Desktop Basic: 需要 Spatial Analyst
ArcGIS for Desktop Standard: 需要 Spatial Analyst
ArcGIS for Desktop Advanced: 需要 Spatial Analyst
5/10/2014