Доступно с лицензией Spatial Analyst.
Сводка
Вычисляет распределение по расстоянию для каждой ячейки до предоставленных источников, учитывая расстояние по прямой, расстояние на истинной поверхности, а также параметры вертикальной и горизонтальной стоимости.
Использование
Входные данные источников могут быть представлены классом объектов или растром.
Когда входные данные источников – растр, набор ячеек источников состоит из всех ячеек в растре источников, которые имеют действительные значения. Ячейки, имеющие значение NoData, не включаются в набор источников. Нулевое значение рассматривается как истинный источник. Исходный растр можно создать с помощью инструментов извлечения.
Когда входные данные источников представлены классом пространственных объектов, местоположения источников внутренне конвертируются в растр до выполнения анализа. Разрешение растра можно настраивать с помощью параметра среды Размер ячейки. По умолчанию, если в инструменте не указаны другие растры, разрешение будет определяться наименьшим размером ширины или высоты экстента из всех входных объектов, рассчитанным в выходной пространственной привязке и поделенным на 250.
Если в любом из входных растров имеется значение NoData: Входном растре стоимости, Входной растровой поверхности, Входном растре вертикального фактора или Входном растре горизонтального фактора, ячейки в этих местоположениях на всех входных данных игнорируются при вычислении. Значения NoData любого из этих растров не используются на протяжении всего вычисления и, следовательно, будут значением NoData во всех выходных данных.
Если источник попадает на NoData в любом из соответствующих входных растров, он игнорируется в анализе, и поэтому расстояние от этого источника не вычисляется.
Если параметр среды Экстент не задан, экстент обработки определяется следующим образом:
Если заданы только Входные растровые или векторные данные источника и Входной растр барьеров или векторные объекты барьеры, в качестве экстента обработки используется объединенный экстент входных данных, расширенный на ширину двух ячеек с каждой стороны. Причина, по которой выходной растр расширяется на две строки и два столбца, заключается в том, что выходные данные используются в вычислении Оптимального пути как линии и Оптимального пути как растра, а созданные пути могут огибать барьеры. Чтобы использовать экстент в качестве неявного барьера, необходимо задать Экстент в параметрах среды.
Если задан любой из следующих наборов растровых данных: Входная растровая поверхность, Входной растр стоимости, Входной растр вертикального фактора или Входной растр горизонтального фактора, экстент обработки является пересечением этих растров.
Если параметры среды Размер ячейки или Растр привязки не заданы, а в качестве входных данных задано несколько растров, Размер ячейки и Растр привязки задаются в порядке очередности: Входной растр стоимости, Входная растровая поверхность, Входной растр вертикального фактора, Входной растр горизонтального фактора, Входные растровые или векторные данные источника и Входной растр барьеров или векторные объекты барьеры.
Значения по умолчанию для модификаторов Вертикального фактора следующие:
Keyword Zero Low High Slope Power Cos Sec factor cut cut power power angle angle ------------------------ ------ ----- ----- ----- ----- ----- ----- 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
Выходные данные инструмента Экспозиция могут использоваться в качестве входных данных для Входного горизонтального растра.
Значения по умолчанию для модификаторов Горизонтального фактора следующие:
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 ~
Характеристики источника или объекта, перемещающегося от источника или возвращающегося в него, контролируются определенными параметрами.
- Начальное накопление устанавливает начальную стоимость до начала движения.
- Максимальное накопление указывает, какую стоимость источник может накопить прежде чем достигнет своего предела.
- Множитель для применения к стоимости задает режим перемещения или магнитуду источника.
- Направление движения определяет начинает ли объект движение от источника к другим местоположениям или наоборот, к источнику.
Если какой-либо из параметров характеристик источника указан с использованием поля, исходная характеристика будет применяться по принципу «источник-на-источник» в соответствии с информацией в данном поле для исходных данных. Если используется ключевое слово или константа, они применяются ко всем источникам.
Этот инструмент поддерживает параллельную обработку. Если ваш компьютер имеет несколько процессоров или процессор с несколькими ядрами, то его производительность будет более высокой, особенно на больших наборах данных. Раздел справки Параллельная обработка и Spatial Analyst содержит более подробные сведения об этой возможности и способах ее настройки.
При использовании параллельной обработки будут записаны временные данные для управления обрабатываемыми фрагментами данных. Папка temp по умолчанию располагается на диске C: вашего компьютера. Вы можете управлять расположением этой папки, настроив Переменную системной среды с именем TempFolders и указав путь к папке, которая будет использоваться (например, E:\RasterCache). Если у вас права администратора на вашей машине, вы можете также использовать ключ регистрации (например, [HKEY_CURRENT_USER\SOFTWARE\ESRI\ArcGISPro\Raster]).
По умолчанию, этот инструмент будет использовать 50 процентов доступных ядер. Если размер входных данных меньше, чем 5000 на 5000 ячеек, может использоваться меньшее число ядер. Можно задавать число используемых инструментом ядер в среде Коэффициент параллельной обработки.
См. раздел Среда анализа и Spatial Analyst для получения дополнительной информации о среде геообработки данного инструмента.
Синтаксис
DistanceAllocation(in_source_data, {in_barrier_data}, {in_surface_raster}, {in_cost_raster}, {in_vertical_raster}, {vertical_factor}, {in_horizontal_raster}, {horizontal_factor}, {out_distance_accumulation_raster}, {out_back_direction_raster}, {out_source_direction_raster}, {out_source_location_raster}, {source_field}, {source_initial_accumulation}, {source_maximum_accumulation}, {source_cost_multiplier}, {source_direction}, {distance_method})
Parameter | Объяснение | Тип данных |
in_source_data | Входные местоположения источников. Растр или набор пространственных данных, определяющий ячейки или местоположения, от или до которых вычисляются стоимостные расстояния с наименьшей стоимостью перемещения от всех ячеек. Для растров входной тип может быть целочисленным или с плавающей точкой. | Raster Layer; Feature Layer |
in_barrier_data (Дополнительный) | Набор данных, определяющий барьеры. Барьеры могут быть определены растром с целочисленными значениями, или со значениями с плавающей точкой, а также векторным слоем. Растровый барьер должен иметь допустимое значение, включая ноль, а области, которые не являются барьерами, должны быть NoData. | Raster Layer; Feature Layer |
in_surface_raster (Дополнительный) | Растр, определяющий значения высот в каждой ячейке. Значения используются для вычисления действительного расстояния по поверхности, которое будет пройдено при перемещении между ячейками. | Raster Layer |
in_cost_raster (Дополнительный) | Растр, определяющий полное сопротивление или стоимость движения в плоскости через каждую ячейку. Значение в каждой ячейке представляет стоимость движения через ячейку по поверхности стоимости, выраженную на единицу расстояния. Для получения общей стоимости прохождения через ячейку, значение каждой ячейки умножается на разрешение ячейки, с учетом возможности движения по диагонали. Значения на входном растре стоимости могут быть представлены целыми числами или числами с плавающей точкой, но они не могут быть отрицательными (стоимость не может быть отрицательной). | Raster Layer |
in_vertical_raster (Дополнительный) | Растр, определяющий z-значения для каждого местоположения ячейки. Значения используются для вычисления уклонов, применяемых при определении вертикального фактора, учитываемого при перемещении из одной ячейки в другую. | Raster Layer |
vertical_factor (Дополнительный) | Объект Vertical factor определяет отношение между фактором вертикальной стоимости и вертикальным углом относительного перемещения (VRMA). Существует несколько факторов с различными модификаторами, которые задают определенный график вертикального фактора. Дополнительно, для создания пользовательского графика можно воспользоваться таблицей. Графики применяются для определения вертикального фактора, используемого в вычислениях общей стоимости перемещения в соседнюю ячейку. В приведенных ниже пояснениях используются два сокращения: VF обозначает вертикальный фактор, идентифицирующий трудности преодоления разности высот, возникающие при продвижении от одной ячейки к другой; а VRMA обозначает относительный вертикальный угол движения, который идентифицирует угол уклона между анализируемой ячейкой От и ячейкой До. Объект представлен в следующих формах:
Их определения и параметры выглядят так:
Модификаторы для ключевых слов вертикального фактора выглядят так:
| Vertical Factor |
in_horizontal_raster (Дополнительный) | Растр, определяющий горизонтальное направление в каждой ячейке. Значения на растре должны быть целыми числами в диапазоне от 0 до 360, значение 0 градусов соответствует направлению на север, или в верхнюю часть экрана. Значения увеличиваются по часовой стрелке. Плоским участкам должно быть присвоено значение, равное -1. Для определения дополнительной стоимости в горизонтальной плоскости, возникающей при движении из ячейки в соседние с ней ячейки, значения в каждом местоположении будут использоваться в сочетании с horizontal_factor. | Raster Layer |
horizontal_factor (Дополнительный) | Объект Horizontal Factor определяет отношение между горизонтальным фактором стоимости и горизонтальным относительным углом движения. Существует несколько факторов с различными модификаторами, которые задают определенный график горизонтального фактора. Дополнительно, для создания пользовательского графика можно воспользоваться таблицей. Графики применяются для определения горизонтального фактора, используемого в вычислениях общей стоимости перемещения в соседнюю ячейку. В приведенных ниже пояснениях используются два сокращения: HF обозначает горизонтальный фактор, идентифицирующий определенные препятствия при продвижении от одной ячейки к другой; а HRMA обозначает относительный горизонтальный угол движения, который идентифицирует угол между направлением по горизонтали и направлением движения. Объект представлен в следующих формах: Их определения и параметры выглядят так:
Модификаторы для ключевых слов горизонтального фактора выглядят так:
| Horizontal Factor |
out_distance_accumulation_raster (Дополнительный) | Выходной растр расстояния. Растр накопления расстояния содержит информацию об общем расстоянии для каждой ячейки «от» или «до», источника наименьшей стоимости. | Raster Dataset |
out_back_direction_raster (Дополнительный) | Растр обратного направления содержит рассчитанное направление в градусах. Направление определяет следующую ячейку по кратчайшему пути до ближайшего источника, избегая барьеры. Диапазон значений – от 0 до 360 градусов, где значение 0 резервируется для ячеек источников. Направление прямо на восток (вправо) определяется, как равное 90 градусам; значения увеличиваются по часовой стрелке (180 – на юг; 270 – на запад; и 360 на север). Тип выходного растра – float. | Raster Dataset |
out_source_direction_raster (Дополнительный) | Исходный растр направлений определяет направление ячейки источника с наименьшей суммой затрат, как выраженный в градусах азимут. Диапазон значений – от 0 до 360 градусов, где значение 0 резервируется для ячеек источников. Направление прямо на восток (вправо) определяется, как равное 90 градусам; значения увеличиваются по часовой стрелке (180 – на юг; 270 – на запад; и 360 на север). Тип выходного растра – float. | Raster Dataset |
out_source_location_raster (Дополнительный) | Растр местоположений источника - выходные многозональные данные. В первом канале содержится индекс строки, а во втором - индекс столбца. Эти индексы определяют местоположение исходной ячейки, которая находится на расстоянии наименьшей накопленной стоимости. | Raster Dataset |
source_field (Дополнительный) | Поле, используемое для присвоения значений исходным местоположениям. Должен быть целочисленным. | Field |
source_initial_accumulation (Дополнительный) | Стоимость начального накопления для начала расчета стоимости. Позволяет задавать фиксированную стоимость, связанную с источником. Вместо начала вычисления стоимости с нуля, алгоритм стоимости начинает со значения, заданного параметром source_initial_accumulation. Значения должны быть больше или равны нулю. Значение по умолчанию равно 0. | Double; Field |
source_maximum_accumulation (Дополнительный) | Максимальное накопление при перемещении к источнику. Вычисление стоимости для каждого источника продолжается до тех пор, пока не будет достигнуто указанное накопление. Значения должны быть больше нуля. По умолчанию на краю выходного растра идет накопление. | Double; Field |
source_cost_multiplier (Дополнительный) | Множитель, применяемый к значениям стоимости. Этот параметр позволяет управлять режимом перемещения или магнитудой источника. Чем больше множитель, тем выше стоимость перемещения по каждой ячейке. Значения должны быть больше нуля. Значение по умолчанию равно 1. | Double; Field |
source_direction (Дополнительный) | Указывает направление перемещения при применении горизонтальных и вертикальных факторов.
Укажите ключевое слово FROM_SOURCE или TO_SOURCE, которое будет применено ко всем источникам, либо укажите поле в исходных данных, которое содержит ключевые слова, необходимые для идентификации направления перемещения для каждого источника. Это поле должно содержать строки FROM_SOURCE или TO_SOURCE. | String; Field |
distance_method (Дополнительный) | Задает, следует ли вычислять расстояние с помощью планарного (плоская земля) или геодезического (эллипсоид) метода.
| String |
Значение отраженного сигнала
Name | Объяснение | Тип данных |
out_distance_allocation_raster | Выходной растр распределения по расстоянию. | Raster |
Пример кода
В следующем скрипте окна Python показано, как используется инструмент DistanceAllocation.
import arcpy
from arcpy import env
from arcpy.sa import *
env.workspace = "C:/sapyexamples/data"
outDistAlloc = DistanceAllocation("insources.shp", "barriers.tif")
outDistAlloc.save("c:/sapyexamples/output/distalloc.tif")
Вычисляет для каждой ячейки стоимостное расстояние с наименьшей совокупной стоимостью перемещения до ближайшего (в терминах стоимости) источника, с учетом действительного расстояния по поверхности, а также горизонтального и вертикального факторов.
# Name: DistanceAllocation_Ex_02.py
# Description: Calculates the distance allocation.
# 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
inSources = "insources.shp"
inBarrier = "barriers.tif"
# Check out the ArcGIS Spatial Analyst extension license
arcpy.CheckOutExtension("Spatial")
# Execute EucDirections
outDistAlloc = DistanceAllocation(inSources, inBarrier)
# Save the output
outDistAlloc.save("c:/sapyexamples/output/distAllo2.tif")
Environments
Информация о лицензиях
- Basic: Требуется Spatial Analyst
- Standard: Требуется Spatial Analyst
- Advanced: Требуется Spatial Analyst