Распределение по стоимостному расстоянию (Spatial Analyst)

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

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

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

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

Рисунок

Иллюстрация инструмента Распределение по стоимостному расстоянию (Cost Allocation)
Cost_Alloc = CostAllocation(Source_Ras, Cost_Ras)

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

Синтаксис

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

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

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

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

Если входной исходный растр – значение с плавающей точкой, {in_value_raster} должен быть целочисленного типа. Растр значений будет иметь преимущество над любым параметром {source_field}.

Raster Layer | Feature Layer
in_cost_raster

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

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

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

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

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

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

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

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

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

Для каждого исходного местоположения (ячейки или пространственного объекта), значение, определенное по {in_value_raster}, будет присвоено всем ячейкам, относящимся к источнику, при вычислении. Растр значений будет иметь преимущество над параметром поля источников {source_field}.

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

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

Если был установлено {in_value_raster}, значения для этих входных данных будут иметь приоритет над любым параметром для {source_field}.

Field
out_distance_raster
(дополнительно)

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

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

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

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

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

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

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

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

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

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

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

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

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

Выходной растр будет целочисленным

Raster

Пример кода

Распределение по стоимостному расстоянию. Пример 1 (окно Python)

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

import arcpy
from arcpy import env
from arcpy.sa import *
env.workspace = "C:/sapyexamples/data"
out = ()
costAllocOut = CostAllocation("observers.shp", "costraster", 25000,"elevation",
                               "FID", "c:/sapyexamples/output/distout", 
                               "c:/sapyexamples/output/backlinkout")
costAllocOut.save("c:/sapyexamples/output/costalloc")
Распределение по стоимостному расстоянию. Пример 2 (автономный скрипт)

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

# Name: CostAllocation_Ex_02.py
# Description: Calculates for each cell its nearest source 
#              based on the least accumulative cost 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
inFeature = "observers.shp"
costRaster = "costraster"
maxDist = 25000
valRaster = "elevation"
featField = "FID"
outDistanceRaster = "c:/sapyexamples/output/distout"
outBacklink = "c:/sapyexamples/output/backlinkout"

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

# Execute CostAllocation
costAllocOut = CostAllocation(inFeature, costRaster, maxDist,
                              valRaster, featField, outDistanceRaster,
                              outBacklink)

# Save the output 
costAllocOut.save("c:/sapyexamples/output/costalloc01")

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

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

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

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