Доступно с лицензией Spatial Analyst.
Сводка
Вычисляет для каждой ячейки ближайший источник, определяемый по Евклидову расстоянию.
Иллюстрация
Использование
Входные данные источников могут быть представлены классом объектов или растром.
Когда входные данные источников – растр, набор ячеек источников состоит из всех ячеек в растре источников, которые имеют действительные значения. Ячейки, имеющие значение NoData, не включаются в набор источников. Нулевое значение рассматривается как истинный источник. Исходный растр можно создать с помощью инструментов извлечения.
Когда входные данные источников представлены классом пространственных объектов, местоположения источников внутренне конвертируются в растр до выполнения анализа.
При использовании данных объекта в качестве входных исходных данных следует особенно тщательно выбирать способ обработки размера выходной ячейки, если его можно охарактеризовать как грубый относительно подробных сведений во входных данных. Процесс внутренней растеризации по умолчанию использует тот же инструмент Тип присвоения значений ячейкам, что и инструмент Объект в растр, который является методом центра ячейки. Это означает, что данные, не расположенные по центру ячейки, не будут включены в промежуточные растеризованные исходные выходные данные, поэтому они не будут представлены в расчетах расстояния. Например, если источником является ряд небольших полигонов (например периметры знаний), которые невелики относительно размера выходной ячейки, возможно, что только некоторые из них попадут по центру выходных растровых ячеек, и, видимо, большинство остальных объекты будут потеряны в анализе.
Во избежание этой ситуации в качестве промежуточного шага можно напрямую растеризовать входные объекты с помощью инструмента Объект в растр и задать параметр Поле. Затем используйте полученные выходные данные в качестве входных для того инструмента расстояний, который вам требуется. Кроме того, можно выбрать небольшой размер ячейки, чтобы получить достаточный объем данных из входных объектов.
Максимальное расстояние задаётся в тех же единицах карты, что и у входных данных источников.
Входной растр значений полезен в том случае, если входные растровые или векторные данные источника являются растром и были получены в результате применения функции или оператора, которые в результате дают единицу или ноль. Эти функции теряют исходные значения зон, связанные с местоположениями ячеек источников. Входной растр значений может либо восстанавливать эти значения, либо предусматривать анализ дополнительных комбинаций значений зон в пределах местоположений источников.
Если используется входной растр значений, он может менять конфигурацию и результаты выходных данных распределения по Евклидову расстоянию. Он не будет влиять на результирующие растры функций Евклидова расстояния и Евклидова направления.
Выходной размер ячейки можно задать как числовым значением, так и получить из существующего набора растровых данных. Если размер ячейки невозможно указать непосредственно как значение параметра, он будет получен из параметра среды Размер ячейки, если он был там задан. Если параметр размера ячейки в инструменте или среде геообработки не был задан, то размер выходной ячейки по умолчанию будет зависит от типа входного набора данных следующим образом:
- Если входной набор данных является растром, то будет использоваться размер ячейки этого растра.
- Если входной набор данных является вектором и задан параметр среды Растр привязки, то будет использоваться размер ячейки растра привязки. Если растр привязки не задан, то размер ячейки будет вычислен как наименьшее значение длины либо ширины экстента растра, поделенное на 250, при этом экстент берется из параметра среды Выходная система координат.
Если размер ячейки указан в виде числа, то инструмент будет использовать это значение для выходного растра.
Если для определения размера ячейки указан другой растр, в параметре будет показан путь к набору растровых данных вместо значения размера ячейки. Размер ячейки этого растра будет использоваться непосредственно в анализе указанная пространственная привязка набора данных будет такой же, как и выходная система координат. Если же пространственная привязка набора данных отличается от выходной пространственной привязки, на будет перепроецирована на основе выбранного Метода проецирования размера ячейки.
Экстент обработки для этого инструмента является Объединение всех входных. Будет обрабатываться совокупный экстент всех входных данных.
Этот инструмент поддерживает параллельную обработку. Если ваш компьютер имеет несколько процессоров или процессор с несколькими ядрами, то его производительность будет более высокой, особенно на больших наборах данных. Раздел справки Параллельная обработка в Spatial Analyst содержит более подробные сведения об этой возможности и способах ее настройки.
При использовании параллельной обработки будут записаны временные данные для управления обрабатываемыми фрагментами данных. Папка temp по умолчанию располагается на диске C: вашего компьютера. Вы можете управлять расположением этой папки, настроив Переменную системной среды с именем TempFolders и указав путь к папке, которая будет использоваться (например, E:\RasterCache). Если у вас права администратора на вашей машине, вы можете также использовать ключ регистрации (например, [HKEY_CURRENT_USER\SOFTWARE\ESRI\Desktop10.7\Raster]).
По умолчанию, этот инструмент будет использовать 50 процентов доступных ядер. Если размер входных данных меньше, чем 5000 на 5000 ячеек, может использоваться меньшее число ядер. Можно задавать число используемых инструментом ядер в среде Коэффициент параллельной обработки.
См. раздел Среда анализа и Spatial Analyst для получения дополнительной информации о среде геообработки данного инструмента.
Синтаксис
EucAllocation(in_source_data, {maximum_distance}, {in_value_raster}, {cell_size}, {source_field}, {out_distance_raster}, {out_direction_raster}, {distance_method}, {in_barrier_data}, {out_back_direction_raster})
Параметр | Объяснение | Тип данных |
in_source_data | Входные местоположения источников. Это набор растровых или векторных данных, определяющий ячейки или местоположения, до которых для каждой ячейки вычисляется Евклидово расстояние. Для растров входной тип может быть целочисленным или с плавающей точкой. Если входной исходный растр с плавающей точкой, необходимо настроить параметр in_value_raster, и он должен быть целочисленным. Растр значений будет иметь преимущество над настройкой параметра source_field. | Raster Layer; Feature Layer |
maximum_distance (Дополнительный) | Пороговое значение, которое не может быть превышено суммарными значениями расстояния. Если суммарное Евклидово расстояние превышает это значение, выходному значению для местоположения ячейки будет присвоено значение NoData. Значение по умолчанию равно расстоянию до границы выходного растра. | Double |
in_value_raster (Дополнительный) | Входной целочисленный растр, определяющий значения зон, которые должны быть использованы для каждого местоположения источника. Для каждого исходного местоположения (ячейки или пространственного объекта), значение in_value_raster, будет присвоено всем ячейкам, относящимся к источнику, при вычислении. Растр значений будет иметь преимущество над настройкой параметра source_field. | Raster Layer |
cell_size (Дополнительный) | Размер ячейки выходного растра, который будет создан. Этот параметр можно задать как числовым значением, так и получить из существующего набора растровых данных. Если размер ячейки не был в явном виде задан как значение параметра, будет использоваться значение размера ячейки, указанное в параметрах среды геообработки, если же и оно не указано, будут использоваться дополнительные правила вычисления размера ячейки на основе входных данных. Более подробно см. использование. | Analysis Cell Size |
source_field (Дополнительный) | Поле, используемое для присвоения значений исходным местоположениям. Должен быть целочисленным. Если был установлен in_value_raster, значения для этих входных данных будут иметь приоритет над любым значением параметра source_field. | Field |
out_distance_raster (Дополнительный) | Выходной растр Евклидова расстояния. Растр расстояния определяет для каждой ячейки Евклидово расстояние до ближайшей ячейки источника, набора ячеек источников или местоположения источника. Выходной растр представлен числами с плавающей точкой. | Raster Dataset |
out_direction_raster (Дополнительный) | Выходной растр Евклидова направления. Растр направления содержит вычисленное направление в градусах, определяющее положение центра каждой ячейки по отношению к центру ближайшей ячейки источника. Диапазон значений – от 0 до 360 градусов, где значение 0 резервируется для ячеек источников. Направление прямо на восток (вправо) определяется, как равное 90 градусам; значения увеличиваются по часовой стрелке (180 – на юг; 270 – на запад; и 360 на север). Выходной растр будет целочисленным. | Raster Dataset |
distance_method (Дополнительный) | Задает, следует ли вычислять расстояние с помощью планарного (плоская земля) или геодезического (эллипсоид) метода.
| String |
in_barrier_data (Дополнительный) | Набор данных, определяющий барьеры. Барьеры могут быть определены растром с целочисленными значениями, или со значениями с плавающей точкой, а также векторным слоем. | Raster Layer; Feature Layer |
out_back_direction_raster (Дополнительный) | Выходной растр обратного евклидова направления. Растр обратного направления содержит рассчитанное направление в градусах. Направление определяет следующую ячейку по кратчайшему пути до ближайшего источника, избегая барьеры. Диапазон значений – от 0 до 360 градусов, где значение 0 резервируется для ячеек источников. Направление прямо на восток (вправо) определяется, как равное 90 градусам; значения увеличиваются по часовой стрелке (180 – на юг; 270 – на запад; и 360 на север). Тип выходного растра – float. | Raster Dataset |
Значение отраженного сигнала
Имя | Объяснение | Тип данных |
out_allocation_raster | Выходной растр распределения по Евклидову расстоянию. Значения ячеек (зоны) определяют ближайшее местоположение источника. Выходной растр будет целочисленным. | Raster |
Пример кода
EucAllocation, пример 1 (окно Python)
В следующем скрипте Python Window показано, как использовать инструмент EuclideanAllocation.
import arcpy
from arcpy import env
from arcpy.sa import *
env.workspace = "C:/sapyexamples/data"
eucAllocate = EucAllocation("observers", 50000, "elevation", 25, "FID",
"c:/sapyexamples/output/outeucdist",
"c:/sapyexamples/output/outeucdir")
eucAllocate.save("c:/sapyexamples/output/eucalloc")
EucAllocation, пример 2 (автономный скрипт)
Определяет, для каждой ячейки, зону ближайшего источника по Евклидову расстоянию.
# Name: EucAllocation_Ex_02.py
# Description: Calculates, for each cell, the zone of the closest
# source location in Euclidean distance.
# 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"
maxDist = 50000
valRaster = "elevation"
cellSize = 25
sourceField = "FID"
optOutDist = "c:/sapyexamples/output/outeucdist02"
optOutDir = "c:/sapyexamples/output/outeucdir02"
# Check out the ArcGIS Spatial Analyst extension license
arcpy.CheckOutExtension("Spatial")
# Execute EucAllocation
eucAllocate = EucAllocation(inSource, maxDist, valRaster, cellSize,
sourceField, optOutDist, optOutDir)
# Save the output
eucAllocate.save("c:/sapyexamples/output/eucalloc02")
Параметры среды
Информация о лицензиях
- Basic: Требуется Spatial Analyst
- Standard: Требуется Spatial Analyst
- Advanced: Требуется Spatial Analyst