Доступно с лицензией Spatial Analyst.
Краткая информация
Вычисляет для каждой ячейки ближайший источник, определяемый по Евклидову расстоянию.
Рисунок
Использование
Входные данные источников могут быть представлены классом объектов или растром.
Когда входные данные источников – растр, набор ячеек источников состоит из всех ячеек в растре источников, которые имеют действительные значения. Ячейки, имеющие значение NoData, не включаются в набор источников. Нулевое значение рассматривается как истинный источник. Исходный растр можно легко создать с помощью инструментов извлечения.
Когда входные данные источников представлены классом пространственных объектов, местоположения источников внутренне конвертируются в растр до выполнения анализа. Разрешением растра можно управлять с помощью параметра Размер выходной ячейки (Output cell size) или среды Размер ячейки (Cell Size). По умолчанию разрешение будет определяться наименьшим из размеров ширины или высоты экстента входного набора объектов на выходной пространственной привязке, деленным на 250.
При использовании данных полигонального объекта в качестве входных исходных данных следует особенно тщательно выбирать способ обработки размера выходной ячейки, если его можно охарактеризовать как грубый относительно подробных сведений во входных данных. Процесс внутренней растеризации задействует тот же метод присвоения значений ячейкам (Cell assignment type) по умолчанию, что и инструмент Полигон в растр (Polygon to Raster), который является CELL_CENTER. Это означает, что данные, не расположенные по центру ячейки, не будут включены в промежуточные растеризованные исходные выходные данные, поэтому не будут представлены в расчётах расстояния. Например, если источником является ряд небольших полигонов, например периметры знаний, которые невелики относительно размеру выходной ячейки, возможно, что только некоторые из них попадут по центру выходных растровых ячеек, и, видимо, большинство остальных объекты будут потеряны в анализе.
Во избежание этой ситуации в качестве промежуточного шага можно напрямую растеризовать входные объекты с помощью инструмента Полигон в растр (Polygon to Raster), задать Поле приоритета (Priority field) и использовать полученные выходные данные в качестве входных данных инструмента Расстояние (Distance). Кроме того, можно выбрать достаточно небольшой размер ячейки, чтобы получить достаточный объем данных из входных объектов.
Максимальное расстояние (Maximum distance) задаётся в тех же единицах карты, что и у входных данных источников.
Входной растр значений полезен в том случае, если входные растровые или векторные данные источника являются растром и были получены в результате применения функции или оператора, которые в результате дают единицу или ноль. Эти функции теряют исходные значения зон, связанные с местоположениями ячеек источников. Входной растр значений может либо восстанавливать эти значения, либо предусматривать анализ дополнительных комбинаций значений зон в пределах местоположений источников.
Если используется входной растр значений, он может менять конфигурацию и результаты выходных данных распределения по Евклидову расстоянию. Он не будет влиять на результирующие растры функций Евклидова расстояния и Евклидова направления.
Если Маска (Mask) была определена в параметрах среды анализа, и маскируемые ячейки накрывают (маскируют) источник, Евклидовы вычисления выполняются для оставшихся ячеек источников. Ячейки источников, попадающие под маску, не будут рассматриваться в вычислениях. На выходном растре местоположениям этих источников будет присвоено значение NoData.
Значения NoData (нет данных), созданные ячейками маски, в вычислениях для местоположений ячеек, не являющихся источниками, игнорируются. Евклидово расстояние для ячеек, расположенных позади ячеек со значениями NoData, вычисляется таким образом, как будто значений NoData нет. Любой ячейке, которой присвоено значение NoData из-за маски на входной поверхности, будет присвоено значение NoData на всех выходных растрах.
См. раздел Среда анализа и Spatial Analyst для получения дополнительной информации о среде геообработки данного инструмента.
Синтаксис
EucAllocation (in_source_data, {maximum_distance}, {in_value_raster}, {cell_size}, {source_field}, {out_distance_raster}, {out_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 |
Возвращено значение
Имя | Объяснение | Тип данных |
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")
Параметры среды
- Автоподтверждение (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)