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

Доступно с лицензией Spatial Analyst.

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

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

Прежние версии:

Этот инструмент является Устаревшим и будет удален в будущих версиях.

Инструмент Распределение по расстоянию предоставляет улучшенную функциональность или производительность.

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

Иллюстрация

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

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

  • Входные данные источников могут быть представлены классом объектов или растром. Класс пространственных объектов может быть точечным, линейным или полигональным.

  • Когда входные данные источников – растр, набор ячеек источников состоит из всех ячеек в растре источников, которые имеют действительные значения. Ячейки, имеющие значение NoData, не включаются в набор источников. Нулевое значение рассматривается как истинный источник. Исходный растр можно создать с помощью инструментов извлечения.

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

  • При использовании данных объекта в качестве входных исходных данных следует особенно тщательно выбирать способ обработки размера выходной ячейки, если его можно охарактеризовать как грубый относительно подробных сведений во входных данных. Процесс внутренней растеризации по умолчанию использует то же значение инструмента Тип присвоения значений ячейкам, что и инструмент Объект в растр, который является методом центра ячейки. Это означает, что данные, не расположенные по центру ячейки, не будут включены в промежуточные растеризованные исходные выходные данные, поэтому они не будут представлены в расчетах расстояния. Например, если источником является ряд небольших полигонов (таких как периметры знаний), которые невелики относительно размера выходной ячейки, возможно, что только некоторые из них попадут по центру выходных растровых ячеек, и, видимо, большинство остальных объекты будут потеряны в анализе.

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

  • Чтобы вычислить распределение, местоположения источника могут иметь связанное значение, которое может быть задано параметром Поле источника (Source field). Если источником данных является целочисленный растр, поле по умолчанию VALUE. Если это пространственный объект, он будет первым целочисленным полем в таблице атрибутов. Если входными исходными данными является растр с плавающей точкой, необходимо указать параметр растра целочисленного значения.

  • Если входные данные источника являются объектом, по умолчанию используется первое доступное поле. Если доступных полей нет, используется поле ObjectID (например, OID или FID, в зависимости от типа входных данных объекта).

  • Ячейки со значением NoData в значение параметра Входной растр стоимости ведут себя как барьеры в инструментах стоимостной поверхности. Любой ячейке, которой присвоено значение NoData на входной поверхности стоимости, будет присвоено значение NoData на всех выходных растрах (стоимость расстояния, распределение и направление).

  • Входной растр значений полезен при использовании альтернативных значений или зон, или если исходные данные были получены из операции, которая приводит к двоичному результату 0 или 1, с потерей исходных значений зоны, связанных с этими местоположениями. Растр значений может либо восстанавливать эти значения, либо предусматривать анализ дополнительных комбинаций значений зон в пределах местоположений источников.

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

  • Значение параметра Максимальное расстояние задаётся в тех же единицах стоимости, что используются и на входном растре стоимости.

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

  • Характеристики начальной точки или объекта, перемещающегося от начальной точки или возвращающегося в нее, контролируются определенными параметрами. Параметр Коэффициент стоимости источника определяет режим передвижения или величину в источнике, Начальная стоимость источника задает начальную стоимость до начала движения, Степень сопротивляемости источника является динамическим сдвигом, отвечающим за влияние итоговой стоимости, симулирующим эффект усталости у путешественника, и Объем источника задает, насколько может накапливаться стоимость, прежде чем достигнет предела. Направление движения определяет начинает ли объект движение от источника к другим местоположениям или наоборот, к источнику.

  • Если какой-либо из параметров характеристик источника указан с использованием поля, исходная характеристика будет применяться по принципу «источник-на-источник» в соответствии с информацией в данном поле для исходных данных. Если используется ключевое слово или константа, они применяются ко всем источникам.

  • Если задана Начальная стоимость источника, а Направление движения выбрано как Движение от источника, исходным местоположениям на выходной поверхности стоимостного расстояния будет присвоено значение Начальной стоимости источника; иначе, им будет присвоено значение 0.

  • Экстент обработки для этого инструмента является значением параметра Входной растр стоимости.

  • Этот инструмент поддерживает параллельную обработку. Если ваш компьютер имеет несколько процессоров или процессор с несколькими ядрами, то его производительность будет более высокой, особенно на больших наборах данных. См. раздел справки Параллельная обработка с помощью Spatial Analyst, чтобы получить подробную информацию об этой возможности и о том, как ее настроить.

    При использовании параллельной обработки будут записаны временные данные для управления обрабатываемыми фрагментами данных. Папка temp по умолчанию располагается на диске C: вашего компьютера. Вы можете управлять расположением этой папки, настроив Переменную системной среды с именем TempFolders и указав путь к папке, которая будет использоваться (например, E:\RasterCache). При наличии прав администратора на вашем компьютере, вы также можете использовать ключ реестра (например, [HKEY_CURRENT_USER\SOFTWARE\ESRI\ArcGISPro\Raster]).

    По умолчанию, этот инструмент использует половину доступных ядер. Если размер входных данных меньше, чем 5000 на 5000 ячеек, может использоваться меньшее число ядер. Можно задавать число используемых инструментом ядер в среде Коэффициент параллельной обработки environment.

  • См. раздел Среда анализа и Spatial Analyst для получения дополнительной информации о среде геообработки данного инструмента.

Параметры

ПодписьОписаниеТип данных
Входные растровые или векторные данные источника

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

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

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

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

Raster Layer; Feature Layer
Входной растр стоимости

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

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

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

Raster Layer
Максимальное расстояние
(Дополнительный)

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

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

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

Double
Входной растр значений
(Дополнительный)

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

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

Raster Layer
Поле источника
(Дополнительный)

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

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

Field
Выходной растр расстояния
(Дополнительный)

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

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

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

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

Raster Dataset
Выходной растр направления
(Дополнительный)

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

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

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

Позиции направления
Raster Dataset
Множитель для применения к стоимости
(Дополнительный)

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

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

Значения должны быть больше нуля. Значение по умолчанию равно 1.

Double; Field
Начальная стоимость
(Дополнительный)

Начальная стоимость, которая будет использоваться для начала расчета стоимости.

Позволяет задавать фиксированную стоимость, связанную с источником. Алгоритм стоимости будет начинать с указанного значения для Начальной стоимости, а не с нуля.

Значения должны быть больше или равны нулю. Значение по умолчанию равно 0.

Double; Field
Оценка стабильности накопленной стоимости
(Дополнительный)

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

Это модифицированная версия формулы начисления сложных процентов, которая используется для вычисления предполагаемой стоимости перемещения по ячейке. По мере увеличения степени сопротивления, увеличивается стоимость ячеек, посещаемых в последнюю очередь. Чем выше степень сопротивления, тем больше дополнительной стоимости добавляется для достижения следующей ячейки, которая складывается при каждом последующем передвижении. Поскольку степень сопротивления аналогична по свойствам средним темпам, а значения совокупной стоимости очень велики, рекомендуется использовать маленькие значения степени сопротивляемости (например, от 0,02 до 0,005 или даже меньше, в зависимости от совокупных значений стоимости.

Значения должны быть больше или равны нулю. Значение по умолчанию равно 0.

Double; Field
Емкость
(Дополнительный)

Емкость стоимости источника для перемещающегося объекта.

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

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

Double; Field
Направление движения
(Дополнительный)

Определяет направление передвижения при применении исходного коэффициента сопротивляемости и исходной начальной стоимости.

Если выбрана опция Строка, вы можете выбрать направление от или до, которое будет применено ко всем источникам.

Если выбран параметр Поле, можно выбрать поле из исходных данных, определяющее направление для каждого источника. Поле должно содержать текстовую строку FROM_SOURCE или TO_SOURCE.

  • Перемещение от источникаКоэффициент сопротивления и начальная стоимость источника будут применены, начиная от входного источника, затем будут распространяться по другим ячейкам, не являющимися источниками. Используется по умолчанию.
  • Перемещение к источникуКоэффициент сопротивления и начальная стоимость источника будут применены, начиная от каждой ячейки, не являющейся источником, затем будут распространяться назад до входного источника.
String; Field

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

ПодписьОписаниеТип данных
Выходной растр распределения

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

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

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

Raster

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, которое будет применено ко всем источникам, либо укажите поле в исходных данных, которое содержит ключевые слова, необходимые для идентификации направления перемещения для каждого источника. Это поле должно содержать строки 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 = 25000
valRaster = "elevation"
featField = "FID"
outDistanceRaster = "c:/sapyexamples/output/distout"
outBacklink = "c:/sapyexamples/output/backlinkout"

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

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

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

  • Basic: Обязательно Spatial Analyst
  • Standard: Обязательно Spatial Analyst
  • Advanced: Обязательно Spatial Analyst

Связанные разделы