Доступно с лицензией Spatial Analyst.
Краткая информация
Вычисляет для каждой ячейки источник с наименьшей стоимостью, на основании наименьшей совокупной стоимости перемещения по поверхности стоимости.
Более подробно о работе инструментов стоимостного расстояния
Иллюстрация
Использование
Входные данные источников могут быть представлены классом объектов или растром.
Когда входные данные источников – растр, набор ячеек источников состоит из всех ячеек в растре источников, которые имеют действительные значения. Ячейки, имеющие значение NoData, не включаются в набор источников. Нулевое значение рассматривается как истинный источник. Исходный растр можно легко создать с помощью инструментов извлечения.
Когда входные данные источников представлены классом пространственных объектов, местоположения источников внутренне конвертируются в растр до выполнения анализа. Разрешение растра можно настраивать с помощью параметра среды Размер ячейки. Выходное разрешение по умолчанию будет соответствовать разрешению входного растра стоимости.
При использовании данных полигонального объекта в качестве входных исходных данных следует особенно тщательно выбирать способ обработки размера выходной ячейки, если его можно охарактеризовать как грубый относительно подробных сведений во входных данных. Процесс внутренней растеризации задействует тот же Метод присвоения значений ячейкам по умолчанию, что и инструмент Полигон в растр, т.е. Метод центра ячейки. Это означает, что данные, не расположенные по центру ячейки, не будут включены в промежуточные растеризованные исходные выходные данные, поэтому они не будут представлены в расчетах расстояния. Например, если источником является ряд небольших полигонов (например периметры знаний), которые невелики относительно размера выходной ячейки, возможно, что только некоторые из них попадут по центру выходных растровых ячеек, и, видимо, большинство остальных объекты будут потеряны в анализе.
Во избежание этой ситуации в качестве промежуточного шага можно напрямую растеризовать входные объекты с помощью инструмента Полигон в растр и задать Поле приоритета. Затем используйте полученные выходные данные в качестве входных для того инструмента расстояний, который вам требуется. Кроме того, можно выбрать небольшой размер ячейки, чтобы получить достаточный объем данных из входных объектов.
Чтобы вычислить распределение, местоположения источника могут иметь связанное значение, которое может быть задано параметром Поле источника. Если входные исходные данные – целочисленный растр, поле по умолчанию – VALUE. Если это пространственный объект, он будет первым целочисленным полем в таблице атрибутов. Если входные исходные данные являются растром с плавающей точкой, должен быть задан параметр растра целочисленного значения.
Если входные данные источника являются объектом, по умолчанию используется первое доступное поле. Если доступных полей нет, используется поле ObjectID (например, OID или FID, в зависимости от типа входных данных объекта).
Ячейки со значением NoData во Входном растре стоимости ведут себя как барьеры в инструментах стоимостной поверхности. Любой ячейке, которой присвоено значение NoData на входной поверхности стоимости, будет присвоено значение NoData на всех выходных растрах (стоимость расстояния, распределение и направление).
Если входные данные источников и растр стоимости имеют различные экстенты, по умолчанию выходной экстент будет определяться как пересечение двух растров. Чтобы получить поверхность стоимостного расстояния для всего экстента, выберите опцию Объединение входных данных на выходных параметров среды Экстент.
Входной растр значений полезен при использовании альтернативных значений или зон, или если исходные данные были получены из операции, которая приводит к двоичному результату 0 или 1, с потерей исходных значений зоны, связанных с этими местоположениями. Растр значений может либо восстанавливать эти значения, либо предусматривать анализ дополнительных комбинаций значений зон в пределах местоположений источников.
Если используется растр значений, он может менять конфигурацию и результаты выходных данных инструмента распределения по стоимостному расстоянию; он не будет влиять на дополнительные результирующие растры стоимостного расстояния и стоимостного направления.
Максимальное расстояние задаётся в тех же единицах стоимости, что используются и на входном растре стоимости.
Для выходного растра расстояния, расстояние с наименьшей стоимостью (или минимальное суммарное стоимостное расстояние) ячейки от или до набора исходных местоположений – это нижняя граница расстояний с наименьшей стоимостью от ячейки до всех исходных местоположений.
Характеристики источника или объектов, перемещающихся от или к источнику, могут управляться определенными параметрами. Параметр Множитель стоимости источника определяет режим перемещения или магнитуды источника, Начальная стоимость источника задает начальную стоимость до начала движения, Коэффициент сопротивления источника является динамической настройкой, учитывающей влияние накопленной стоимости, например, симуляция степени усталости альпиниста, а Емкость источника задает количество стоимости может накопить источник до достижения предела. Направление движения определяет, начинает ли объект движение от источника к другим местоположениям или наоборот, к источнику.
Если какие-либо параметры характеристик источника определены с помощью поля, характеристики источника будут применяться на основе источник-к-источнику, в соответствии с информацией в данном поле для исходных данных. Если используется ключевое слово или константа, они применяются ко всем источникам.
Если задана Начальная стоимость источника, а Направление движения выбрано как Движение от источника, исходным местоположениям на выходной поверхности стоимостного расстояния будет присвоено значение Начальной стоимости источника; иначе, им будет присвоено значение 0.
См. раздел Параметры среды анализа и Spatial Analyst для получения дополнительной информации о среде геообработки данного инструмента.
Синтаксис
CostAllocation (in_source_data, in_cost_raster, {maximum_distance}, {in_value_raster}, {source_field}, {out_distance_raster}, {out_backlink_raster}, {source_cost_multiplier}, {source_start_cost}, {source_resistance_rate}, {source_capacity}, {source_direction})
Параметр | Объяснение | Тип данных |
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 |
source_cost_multiplier (Дополнительный) | Множитель, применяемый к значениям стоимости. Позволяет управлять режимом перемещения или магнитудой источника. Чем больше множитель, тем выше стоимость перемещения по каждой ячейке. Значения должны быть больше нуля. Значение по умолчанию равно 1. | Double; Field |
source_start_cost (Дополнительный) | Начальная стоимость, от которой начинаются вычисления стоимости. Позволяет задавать фиксированную стоимость, связанную с источником. Вместо начала вычисления стоимости с нуля, алгоритм стоимости начинает со значения, заданного параметром source_start_cost. Значения должны быть больше или равны нулю. Значение по умолчанию равно 0. | Double; Field |
source_resistance_rate (Дополнительный) | Этот параметр симулирует возрастание усилия для преодоления стоимостей по мере повышения накопленной стоимости. Он используется для моделирования усталости путешествующего. Возрастающая накопленная стоимость для достижения ячейки умножается на степень сопротивляемости и добавляется к стоимости перемещения в последующую ячейку. Это модифицированная версия формулы начисления сложных процентов, которая используется для вычисления предполагаемой стоимости перемещения по ячейке. По мере увеличения степени сопротивления, увеличивается стоимость ячеек, посещаемых в последнюю очередь. Чем выше степень сопротивления, тем больше дополнительной стоимости добавляется для достижения следующей ячейки, которая складывается при каждом последующем передвижении. Поскольку степень сопротивления похожа по свойствам на общий темп роста, и значения накопленной стоимости очень велики, рекомендуется использовать небольшие значения степени сопротивления, например, 0,02, 0,005 или даже меньше, в зависимости от значений накопленной стоимости. Значения должны быть больше или равны нулю. Значение по умолчанию равно 0. | Double; Field |
source_capacity (Дополнительный) | Задает для перемещающегося объекта емкость стоимости источника. Вычисление стоимости продолжается для каждого источника, пока не будет достигнута указанная емкость. Значения должны быть больше нуля. Емкость по умолчанию равна расстоянию до границы выходного растра. | Double; Field |
source_direction (Дополнительный) | Задает направление перемещающегося объекта при применении коэффициента сопротивления источника и начальной стоимости источника.
Укажите ключевое слово FROM_SOURCE, либо TO_SOURCE, которое будет применено ко всем источникам, или выберите поле во входных данных, содержащее ключевые слова для определения направления перемещения для каждого источника. Поле должно содержать строки FROM_SOURCE или TO_SOURCE. | String; Field |
Возвращаемое значение
Название | Объяснение | Тип данных |
out_allocation_raster | Выходной растр распределения по стоимостному расстоянию. Этот растр определяет зону каждого источника (ячейки или пространственного объекта), который может быть достигнут с наименьшими суммарными затратами. Выходной растр будет целочисленным. | Raster |
Пример кода
CostAllocation, пример 1 (окно Python)
На следующем скрипте окна Python показано, как использовать инструмент CostAllocation.
import arcpy
from arcpy import env
from arcpy.sa import *
env.workspace = "C:/sapyexamples/data"
out = ()
costAllocOut = CostAllocation("observers.shp", "costraster", "", "elevation",
"FID", "c:/sapyexamples/output/distout",
"c:/sapyexamples/output/backlinkout", "Multiplier", "StartCost", "Resistance", 500000)
costAllocOut.save("c:/sapyexamples/output/costalloc")
CostAllocation, пример 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 = ""
valRaster = "elevation"
featField = "FID"
outDistanceRaster = "c:/sapyexamples/output/distout"
outBacklink = "c:/sapyexamples/output/backlinkout"
multiplier = "Multiplier"
startCost = "StartCost"
resistance = "Resistance"
capacity = 500000
# Check out the ArcGIS Spatial Analyst extension license
arcpy.CheckOutExtension("Spatial")
# Execute CostAllocation
costAllocOut = CostAllocation(inFeature, costRaster, maxDist,
valRaster, featField, outDistanceRaster,
outBacklink, multiplier, startCost,
resistance, capacity)
# Save the output
costAllocOut.save("c:/sapyexamples/output/costalloc01")
Параметры среды
Информация о лицензиях
- ArcGIS Desktop Basic: Требует Spatial Analyst
- ArcGIS Desktop Standard: Требует Spatial Analyst
- ArcGIS Desktop Advanced: Требует Spatial Analyst