Стоимостное расстояние (Spatial Analyst)

Уровень лицензии:BasicStandardAdvanced

Краткая информация

Вычисляет наименьшую суммарную стоимость перемещения для каждой ячейки до ближайшего источника по поверхности стоимости.

Более подробно о работе инструментов стоимостного расстояния

Рисунок

Иллюстрация инструмента Стоимостное расстояние (Cost Distance)
Cost_Dist = CostDistance(Source_Ras, Cost_Ras)

Использование

Синтаксис

CostDistance (in_source_data, in_cost_raster, {maximum_distance}, {out_backlink_raster})
ПараметрОбъяснениеТип данных
in_source_data

Входные местоположения источников.

Растр или набор пространственных данных, определяющий ячейки или местоположения, до которых вычисляются стоимостные расстояния с наименьшей стоимостью перемещения от всех ячеек.

Для растров, входной тип может быть целочисленным или с плавающей точкой.

Raster Layer | Feature Layer
in_cost_raster

Растр, определяющий полное сопротивление или стоимость движения в плоскости через каждую ячейку.

Значение в каждой ячейке представляет стоимость движения через ячейку по поверхности стоимости, выраженную на единицу расстояния. Для получения общей стоимости прохождения через ячейку, значение каждой ячейки умножается на разрешение ячейки, с учетом возможности движения по диагонали.

Значения на входном растре стоимости могут быть представлены целыми числами или числами с плавающей точкой, но они не могут быть отрицательными (стоимость не может быть отрицательной).

Raster Layer
maximum_distance
(дополнительно)

Определяет пороговое значение суммарной стоимости перемещения, которое не может быть превышено.

Если значение суммарного стоимостного расстояния превышает это значение, выходной ячейке будет присвоено значение NoData. Максимальное расстояние определяет экстент, для которого вычисляются совокупные стоимостные расстояния.

Значение по умолчанию равно расстоянию до границы выходного растра.

Double
out_backlink_raster
(дополнительно)

Выходной растр стоимостного направления.

Растр направления содержит значения от 0 до 8, которые определяют направление или следующую соседнюю ячейку вдоль оптимального пути с наименьшей суммарной стоимостью перемещения из каждой ячейки до ближайшего (в терминах стоимости) источника.

Если маршрут должен пройти через правую соседнюю ячейку, ячейке будет присвоено значение 1, значение 2 будет присвоено нижней правой диагональной ячейке, и так далее по часовой стрелке. Значение 0 резервируется для ячеек источников.

Позиции направления
Raster Dataset

Возвращено значение

ИмяОбъяснениеТип данных
out_distance_raster

Выходной растр стоимостного расстояния.

Растр стоимостного расстояния определяет, для каждой ячейки, наименьшее суммарное стоимостное расстояние по поверхности стоимости до установленных положений источников.

Источник может быть представлен ячейкой, набором ячеек или векторным объектом.

Выходной растр представлен числами с плавающей точкой.

Raster

Пример кода

Стоимостное расстояние. Пример 1 (окно Python)

На следующем скрипте Python Window показано, как использовать инструмент Стоимостное расстояние (Cost Distance).

import arcpy
from arcpy import env
from arcpy.sa import *
env.workspace = "C:/sapyexamples/data"
outCostDist = CostDistance("source.shp", "elevation", 200000, "backlink")
outCostDist.save("C:/sapyexamples/output/costdist")
Стоимостное расстояние. Пример 2 (автономный скрипт)

Вычислите растр расстояния с наименьшей стоимостью накопления из исходных местоположений точечного шейп-файла.

# Name: CostDistance_Ex_02.py
# Description: Calculates for each cell the least accumulative cost distance
#    to the nearest source over a cost  surface. 
# 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
inSourceData = "source.shp"
inCostRaster = "elevation"
maxDistance = 20000000   
outBkLinkRaster = "C:/sapyexamples/output/outbklink"

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

# Execute CostDistance
outCostDistance = CostDistance(inSourceData, inCostRaster, maxDistance, outBkLinkRaster)

# Save the output 
outCostDistance.save("C:/sapyexamples/output/outcostdist")

Параметры среды

Связанные темы

Информация о лицензировании

ArcGIS for Desktop Basic: Требует Дополнительный модуль Spatial Analyst
ArcGIS for Desktop Standard: Требует Дополнительный модуль Spatial Analyst
ArcGIS for Desktop Advanced: Требует Дополнительный модуль Spatial Analyst
6/5/2014