Доступно с лицензией Spatial Analyst.
Краткая информация
Вычисляет ближайший источник для каждой ячейки, основываясь на наименьшей суммарной стоимости перемещения по поверхности стоимости, вычисляемой с учетом истинного расстояния по поверхности, а также горизонтального и вертикального факторов.
Использование
Инструменты группы Путевое расстояние сравнимы с инструментами группы Стоимостное расстояние в том, что они определяют минимальную суммарную стоимость перемещения из источника до каждой ячейки поверхности растра. Однако инструменты путевого расстояния добавляют больше сложности анализу, так как рассчитывают фактическое расстояние по поверхности, при этом учитывая дополнительные горизонтальный и вертикальный факторы.
Входные данные источников могут быть представлены классом объектов или растром.
Когда входные данные источников – растр, набор ячеек источников состоит из всех ячеек в растре источников, которые имеют действительные значения. Ячейки, имеющие значение NoData, не включаются в набор источников. Нулевое значение рассматривается как истинный источник. Исходный растр можно легко создать с помощью инструментов извлечения.
Когда входные данные источников представлены классом пространственных объектов, местоположения источников внутренне конвертируются в растр до выполнения анализа. Разрешение растра можно настраивать с помощью параметра среды Размер ячейки. По умолчанию разрешение будет определено максимальным размером ячейки из растров стоимости, поверхности, горизонтального и вертикального коэффициента. Если не выбран ни один из входных растров, необходимо указать значение размера ячейки.
При использовании данных полигонального объекта в качестве входных исходных данных следует особенно тщательно выбирать способ обработки размера выходной ячейки, если его можно охарактеризовать как грубый относительно подробных сведений во входных данных. Процесс внутренней растеризации задействует тот же Метод присвоения значений ячейкам по умолчанию, что и инструментПолигон в растр, в котором используется CELL_CENTER. Это означает, что данные, не расположенные по центру ячейки, не будут включены в промежуточные растеризованные исходные выходные данные, поэтому не будут представлены в расчётах расстояния. Например, если источником является ряд небольших полигонов, например периметры знаний, которые невелики относительно размеру выходной ячейки, возможно, что только некоторые из них попадут по центру выходных растровых ячеек, и, видимо, большинство остальных объекты будут потеряны в анализе.
Во избежание этой ситуации в качестве промежуточного шага можно напрямую растеризовать входные объекты с помощью инструмента Полигон в растр, задать Поле приоритета и использовать полученные выходные данные в качестве входных данных инструмента Расстояние. Кроме того, можно выбрать достаточно небольшой размер ячейки, чтобы получить достаточный объем данных из входных объектов.
Чтобы вычислить распределение, местоположения источника могут иметь связанное значение, которое может быть задано параметром Поле источника. Если входные исходные данные – целочисленный растр, поле по умолчанию – VALUE. Если это пространственный объект, он будет первым целочисленным полем в таблице атрибутов. Если входные исходные данные являются растром с плавающей точкой, должен быть задан параметр растра целочисленного значения.
Ячейки со значением NoData ведут себя как барьеры в инструментах путевого расстояния. Стоимостное расстояние для ячеек, расположенных позади ячеек со значением NoData, вычисляется с учетом совокупной стоимости, необходимой для обхода барьера из значений NoData. Любой ячейке, которой присвоено значение NoData на любом из входных растров, на всех выходных растрах также будет присвоено значение NoData.
Если входные данные источников и растр стоимости имеют различные экстенты, по умолчанию выходной экстент будет определяться как пересечение двух растров. Чтобы получить поверхность стоимостного расстояния для всего экстента, выберите опцию Объединение входных данных на выходных параметров среды Экстент.
Если Маска была задана в параметрах среды, любые ячейки, попадающие под маску, будут обрабатываться как значения NoData.
Если в окне Анализ растров была определена маска, и маскируемые участки содержат источник, вычисления, выполняемые для поверхности стоимости, будут осуществляться для оставшихся ячеек источников. Ячейки источников, попадающие под маску, не будут рассматриваться в вычислениях. Этим ячейкам будет присвоено значение NoData на всех выходных растрах (расстояния, распределения и направления).
Выходные данные инструмента Экспозиция могут использоваться в качестве входных данных для Входного горизонтального растра.
Максимальное расстояние задаётся в тех же единицах стоимости, что используются и на входном растре стоимости.
Для выходного растра расстояния, расстояние с наименьшей стоимостью (или минимальное суммарное стоимостное расстояние) ячейки до набора исходных местоположений – это нижняя граница расстояний с наименьшей стоимостью от ячейки до всех исходных местоположений.
Значения по умолчанию для модификаторов Горизонтального фактора следующие:
Keywords Zero factor Cut angle Slope Side value -------------- ----------- ----------- ----- --------- Binary 1.0 45 ~ ~ Forward 0.5 45 (fixed) ~ 1.0 Linear 0.5 181 1/90 ~ Inverse linear 2.0 180 -1/90 ~
Значения по умолчанию для модификаторов Вертикального фактора следующие:
Keyword Zero factor Low cut Height cut Slope Power Cos Sec angle angle power power ------------------------ ----------- ------- ---------- ----- ----- ----- ----- Binary 1.0 -30 30 ~ ~ ~ ~ Linear 1.0 -90 90 1/90 ~ ~ ~ Symmetric linear 1.0 -90 90 1/90 ~ ~ ~ Inverse linear 1.0 -45 45 -1/45 ~ ~ ~ Symmetric inverse linear 1.0 -45 45 -1/45 ~ ~ ~ Cos ~ -90 90 ~ 1.0 ~ ~ Sec ~ -90 90 ~ 1.0 ~ ~ Cos_sec ~ -90 90 ~ ~ 1.0 1.0 Sec_cos ~ -90 90 ~ ~ 1.0 1.0
Характеристики источника или объектов, перемещающихся от источника, могут управляться параметрами Множитель стоимости источника (режим перемещения или магнитуда источника), Начальная стоимость источника (начальная стоимость до начала движения), Коэффициент сопротивления источника (динамическая настройка, учитывающая влияние накопленной стоимости, например, симуляция степени усталости альпиниста) и Емкость источника (как много стоимости может накопить источник до достижения предела).
Если любой параметр характеристик источника задан с помощью значения, это значение применяется ко всем источникам. Если параметры указаны через поля, связанные с источником, значения в таблице будут применяться исключительно к соответствующим источникам.
См. раздел Параметры среды анализа и Spatial Analyst для получения дополнительной информации о среде геообработки данного инструмента.
Синтаксис
PathAllocation (in_source_data, {source_field}, {in_cost_raster}, {in_surface_raster}, {in_horizontal_raster}, {horizontal_factor}, {in_vertical_raster}, {vertical_factor}, {maximum_distance}, {in_value_raster}, {out_distance_raster}, {out_backlink_raster}, {source_cost_multiplier}, {source_start_cost}, {source_resistance_rate}, {source_capacity})
Параметр | Объяснение | Тип данных |
in_source_data | Входные местоположения источников. Растр или набор пространственных данных, определяющий ячейки или местоположения, до которых вычисляются стоимостные расстояния с наименьшей стоимостью перемещения от всех ячеек. Для растров входной тип может быть целочисленным или с плавающей точкой. Если входной исходный растр – значение с плавающей точкой, {in_value_raster} должен быть целочисленного типа. Растр значений будет иметь преимущество над параметром {source_field}. | Raster Layer | Feature Layer |
source_field (Дополнительный) | Поле, используемое для присвоения значений исходным местоположениям. Должен быть целочисленным. Если задано значение {in_value_raster}, эти значения будут иметь преимущество над параметром поля источников {source_field}. | Field |
in_cost_raster (Дополнительный) | Растр, определяющий полное сопротивление или стоимость движения в плоскости через каждую ячейку. Значение в каждой ячейке представляет стоимость движения через ячейку по поверхности стоимости, выраженную на единицу расстояния. Для получения общей стоимости прохождения через ячейку, значение каждой ячейки умножается на разрешение ячейки, с учетом возможности движения по диагонали. Значения на входном растре стоимости могут быть представлены целыми числами или числами с плавающей точкой, но они не могут быть отрицательными (стоимость не может быть отрицательной). | Raster Layer |
in_surface_raster (Дополнительный) | Растр, определяющий значения высот в каждой ячейке. Значения используются для вычисления действительного расстояния по поверхности, которое будет пройдено при перемещении между ячейками. | Raster Layer |
in_horizontal_raster (Дополнительный) | Растр, определяющий горизонтальное направление в каждой ячейке. Значения на растре должны быть целыми числами в диапазоне от 0 до 360, значение 0 градусов соответствует направлению на север, или в верхнюю часть экрана. Значения увеличиваются по часовой стрелке. Плоским участкам должно быть присвоено значение, равное -1. Для определения дополнительной стоимости в горизонтальной плоскости, возникающей при движении из ячейки в соседние с ней ячейки, значения в каждом местоположении будут использоваться в сочетании с {horizontal_factor}. | Raster Layer |
horizontal_factor (Дополнительный) | Объект Horizontal Factor определяет отношение между горизонтальным фактором стоимости и горизонтальным относительным углом движения. Существует несколько факторов с различными модификаторами, которые задают определенный график горизонтального фактора. Дополнительно, для создания пользовательского графика можно воспользоваться таблицей. Графики применяются для определения горизонтального фактора, используемого в вычислениях общей стоимости перемещения в соседнюю ячейку. В приведенных ниже пояснениях используются два сокращения: HF обозначает горизонтальный фактор, идентифицирующий определенные препятствия при продвижении от одной ячейки к другой; а HRMA обозначает относительный горизонтальный угол движения, который идентифицирует угол между направлением по горизонтали и направлением движения. Объект представлен в следующих формах: Их определения и параметры выглядят так:
Модификаторы для ключевых слов горизонтального фактора выглядят так:
| Horizontal factor |
in_vertical_raster (Дополнительный) | Растр, определяющий z-значения для каждого местоположения ячейки. Значения используются для вычисления уклонов, применяемых при определении вертикального фактора, учитываемого при перемещении из одной ячейки в другую. | Raster Layer |
vertical_factor (Дополнительный) | Объект Vertical factor определяет отношение между фактором вертикальной стоимости и вертикальным углом относительного перемещения (VRMA). Существует несколько факторов с различными модификаторами, которые задают определенный график вертикального фактора. Дополнительно, для создания пользовательского графика можно воспользоваться таблицей. Графики применяются для определения вертикального фактора, используемого в вычислениях общей стоимости перемещения в соседнюю ячейку. В приведенных ниже пояснениях используются два сокращения: VF обозначает вертикальный фактор, идентифицирующий трудности преодоления разности высот, возникающие при продвижении от одной ячейки к другой; а VRMA обозначает относительный вертикальный угол движения, который идентифицирует угол уклона между анализируемой ячейкой От и ячейкой До. Объект представлен в следующих формах:
Их определения и параметры выглядят так:
Модификаторы для ключевых слов вертикального фактора выглядят так:
| Vertical factor |
maximum_distance (Дополнительный) | Определяет пороговое значение суммарной стоимости перемещения, которое не может быть превышено. Если значение суммарного стоимостного расстояния превышает это значение, выходной ячейке будет присвоено значение NoData. Максимальное расстояние определяет экстент, для которого вычисляются совокупные стоимостные расстояния. Значение по умолчанию равно расстоянию до границы выходного растра. | Double |
in_value_raster (Дополнительный) | Входной целочисленный растр, определяющий значения зон, которые должны быть использованы для каждого местоположения источника. Для каждого исходного местоположения (ячейки или пространственного объекта), значение, определенное по {in_value_raster}, будет присвоено всем ячейкам, относящимся к источнику, при вычислении. Растр значений будет иметь преимущество над параметром {source_field}. | Raster Layer |
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 |
Возвращаемое значение
Название | Объяснение | Тип данных |
out_allocation_raster | Выходной растр распределения по путевому расстоянию. Этот растр определяет зону каждого источника (ячейки или векторного объекта), который может быть достигнут с наименьшими стоимостными затратами, с учетом расстояния по поверхности, а также горизонтального и вертикального факторов. Выходной растр будет целочисленным. | Raster |
Пример кода
PathAllocation, пример 1 (окно Python)
На следующем скрипте Python Window показано, как использовать инструмент PathDistanceAllocation.
import arcpy
from arcpy import env
from arcpy.sa import *
env.workspace = "C:/sapyexamples/data"
pathAlloc = PathAllocation("observers.shp", "costraster", "elevation", "hfraster",
HfForward(0.5, 1.0), "elevation", VfBinary(1.0, -30, 30),
"", "valueraster", "FID", "c:/sapyexamples/output/optpathdist",
"c:/sapyexamples/output/optpathbl", "Multiplier", "StartCost", "Resistance", 500000)
pathAlloc.save("c:/sapyexamples/output/allocpath")
PathAllocation, пример скрипта
Вычисляет ближайший источник для каждой ячейки, основываясь на наименьшей суммарной стоимости перемещения по поверхности стоимости, вычисляемой с учетом истинного расстояния по поверхности, а также горизонтального и вертикального факторов.
# Name: PathAllocation_Ex_02.py
# Description: Calculates, for each cell, its nearest source based
# on the least accumulative cost over a cost surface,
# while accounting for surface distance and horizontal
# and vertical cost factors.
# 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"
costRast = "costraster"
surfaceRast = "elevation"
# The horizontal factor
inHoriz = "hfraster"
# Create the HfForward Object
zeroFactor = 0.5
sideValue = 1.0
myHorizFactor = HfForward(zeroFactor, sideValue)
#The vertical factor
inVertical = "elevation"
# Create the VfBinary Object
zeroFactor = 1.0
lowCutAngle = -30
highCutAngle = 30
myVerticalFactor = VfBinary(zeroFactor, lowCutAngle, highCutAngle)
maxDist = ""
valRaster = "valueraster"
sourceField = "FID"
optPathDistOut = "c:/sapyexamples/output/optdistpath"
optPathBLOut = "c:/sapyexamples/output/pathblinkout"
multiplier = "Multiplier"
startCost = "StartCost"
resistance = "Resistance"
capacity = 500000
# Check out the ArcGIS Spatial Analyst extension license
arcpy.CheckOutExtension("Spatial")
# Execute PathAllocation
pathAlloc = PathAllocation(inSource, costRast, surfaceRast,
inHoriz, myHorizFactor, inVertical, myVerticalFactor,
maxDist, valRaster, sourceField,
optPathDistOut, optPathBLOut, multiplier, startCost,
resistance, capacity)
# Save the output
pathAlloc.save("c:/sapyexamples/output/allocpath02")
Параметры среды
- Автоподтверждение (Auto Commit)
- Размер ячейки (Cell size)
- Сжатие (Compression)
- Текущая рабочая область (Current Workspace)
- Экстент (Extent)
- Географические преобразования (Geographic Transformations)
- Маска (Mask)
- Выходное ключевое слово CONFIG (Output CONFIG Keyword)
- Выходная система координат (Output Coordinate System)
- Статистика растра (Raster Statistics)
- Временная рабочая область (Scratch Workspace)
- Растр привязки (Snap Raster)
- Размер листа (Tile Size)
Информация о лицензиях
- ArcGIS Desktop Basic: Требует Spatial Analyst
- ArcGIS Desktop Standard: Требует Spatial Analyst
- ArcGIS Desktop Advanced: Требует Spatial Analyst