Доступно с лицензией Spatial Analyst.
Краткая информация
Вычисляет, для каждой ячейки, направление, в градусах, до ближайшего источника.
Иллюстрация
Использование
Входные данные источников могут быть представлены классом объектов или растром.
Выходные значения основываются на компасных направлениях (90 градусов – это направление на восток, 180 – на юг, 270 – на запад и 360 градусов – на север); значение, равное 0, резервируется для ячеек источников.
Когда входные данные источников – растр, набор ячеек источников состоит из всех ячеек в растре источников, которые имеют действительные значения. Ячейки, имеющие значение NoData, не включаются в набор источников. Нулевое значение рассматривается как истинный источник. Исходный растр можно легко создать с помощью инструментов извлечения.
Когда входные данные источников представлены классом пространственных объектов, местоположения источников внутренне конвертируются в растр до выполнения анализа. Разрешением растра можно управлять с помощью параметра Размер выходной ячейки или среды Размер ячейки. По умолчанию разрешение будет определяться наименьшим из размеров ширины или высоты экстента входного набора объектов на выходной пространственной привязке, деленным на 250.
При использовании данных полигонального объекта в качестве входных исходных данных следует особенно тщательно выбирать способ обработки размера выходной ячейки, если его можно охарактеризовать как грубый относительно подробных сведений во входных данных. Процесс внутренней растеризации задействует тот же Метод присвоения значений ячейкам по умолчанию, что и инструмент Полигон в растр, т.е. Метод центра ячейки. Это означает, что данные, не расположенные по центру ячейки, не будут включены в промежуточные растеризованные исходные выходные данные, поэтому они не будут представлены в расчетах расстояния. Например, если источником является ряд небольших полигонов (например периметры знаний), которые невелики относительно размера выходной ячейки, возможно, что только некоторые из них попадут по центру выходных растровых ячеек, и, видимо, большинство остальных объекты будут потеряны в анализе.
Во избежание этой ситуации в качестве промежуточного шага можно напрямую растеризовать входные объекты с помощью инструмента Полигон в растр и задать Поле приоритета. Затем используйте полученные выходные данные в качестве входных для того инструмента расстояний, который вам требуется. Кроме того, можно выбрать небольшой размер ячейки, чтобы получить достаточный объем данных из входных объектов.
Максимальное расстояние задаётся в тех же единицах карты, что и у входных данных источников.
Создание растра распределения не доступно, так как данные источников не могут быть представлены растром с плавающей точкой. Если необходимо создание растра распределения, воспользуйтесь инструментом Распределение по евклидову расстоянию, которая позволяет создать три выходных растра (распределения, расстояния, и направления) единовременно.
См. раздел Параметры среды анализа и Spatial Analyst для получения дополнительной информации о среде геообработки данного инструмента.
Синтаксис
EucDirection (in_source_data, {maximum_distance}, {cell_size}, {out_distance_raster})
Параметр | Объяснение | Тип данных |
in_source_data | Входные местоположения источников. Это набор растровых или векторных данных, определяющий ячейки или местоположения, до которых для каждой ячейки вычисляется Евклидово расстояние. Для растров входной тип может быть целочисленным или с плавающей точкой. | Raster Layer; Feature Layer |
maximum_distance (Дополнительный) | Определяет пороговое значение, которое не может быть превышено суммарными значениями Евклидова расстояния. Если суммарное Евклидово расстояние превышает это значение, выходному значению для местоположения ячейки будет присвоено значение NoData. Значение по умолчанию равно расстоянию до границы выходного растра. | Double |
cell_size (Дополнительный) | Размер ячейки, который будет использован при создании выходного растра. Это будет значение параметра среды, если этот параметр явно установлен. Если он не установлен в параметрах среды, размер ячейки по умолчанию будет зависеть от того, являются ли входные данные растровыми или векторными, как показано ниже:
| Analysis Cell Size |
out_distance_raster (Дополнительный) | Выходной растр Евклидова расстояния. Растр расстояния определяет для каждой ячейки Евклидово расстояние до ближайшей ячейки источника, набора ячеек источников или местоположения источника. Выходной растр представлен числами с плавающей точкой. | Raster Dataset |
Возвращаемое значение
Название | Объяснение | Тип данных |
out_direction_raster | Выходной растр Евклидова направления. Растр направления содержит вычисленное направление в градусах, определяющее положение центра каждой ячейки по отношению к центру ближайшей ячейки источника. Диапазон значений – от 0 до 360 градусов, где значение 0 резервируется для ячеек источников. Направление на восток (вправо) определяется, как 90 градусов, значения увеличиваются по часовой стрелке (180 – на юг, 270 – на запад и 360 – на север). Выходной растр будет целочисленным. | Raster |
Пример кода
EucDirection, пример 1 (окно Python)
В следующем скрипте Python Window показано, как использовать инструмент EuclideanDirection.
import arcpy
from arcpy import env
from arcpy.sa import *
env.workspace = "C:/sapyexamples/data"
outEucDirect = EucDirection("observers", 35000, 50,
"c:/sapyexamples/output/optoutdist")
outEucDirect.save("c:/sapyexamples/output/eucoutdir")
EucDirection, пример 2 (автономный скрипт)
Вычисляет направление в градусах, определяющее положение центра каждой ячейки по отношению к центру ближайшего источника.
# Name: EucDirection_Ex_02.py
# Description: Calculates the direction in degrees that each
# cell center is from the cell center of the
# closest source.
# 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 = 35000
cellSize = 50
optOutDistance = "c:/sapyexamples/output/optdistout"
# Check out the ArcGIS Spatial Analyst extension license
arcpy.CheckOutExtension("Spatial")
# Execute EucDirections
outEucDirect = EucDirection(inSource, maxDist, cellSize,
optOutDistance)
# Save the output
outEucDirect.save("c:/sapyexamples/output/eucoutdir02")
Параметры среды
Информация о лицензиях
- ArcGIS Desktop Basic: Требует Spatial Analyst
- ArcGIS Desktop Standard: Требует Spatial Analyst
- ArcGIS Desktop Advanced: Требует Spatial Analyst