Евклидово расстояние (Spatial Analyst)

Доступно с лицензией Spatial Analyst.

Сводка

Вычисляет, для каждой ячейки, Евклидово расстояние до ближайшего источника.

Более подробно об анализе Евклидова расстояния

Иллюстрация

Иллюстрация инструмента Евклидово расстояние
Euc_Dist = EucDistance(Source_Ras)

Использование

  • Входные данные источников могут быть представлены классом объектов или растром.

  • Когда входные данные источников – растр, набор ячеек источников состоит из всех ячеек в растре источников, которые имеют действительные значения. Ячейки, имеющие значение NoData, не включаются в набор источников. Нулевое значение рассматривается как истинный источник. Исходный растр можно создать с помощью инструментов извлечения.

  • Когда входные данные источников представлены классом пространственных объектов, местоположения источников внутренне конвертируются в растр до выполнения анализа.

  • При использовании данных объекта в качестве входных исходных данных следует особенно тщательно выбирать способ обработки размера выходной ячейки, если его можно охарактеризовать как грубый относительно подробных сведений во входных данных. Процесс внутренней растеризации по умолчанию использует тот же инструмент Тип присвоения значений ячейкам, что и инструмент Объект в растр, который является методом центра ячейки. Это означает, что данные, не расположенные по центру ячейки, не будут включены в промежуточные растеризованные исходные выходные данные, поэтому они не будут представлены в расчетах расстояния. Например, если источником является ряд небольших полигонов (например периметры знаний), которые невелики относительно размера выходной ячейки, возможно, что только некоторые из них попадут по центру выходных растровых ячеек, и, видимо, большинство остальных объекты будут потеряны в анализе.

    Во избежание этой ситуации в качестве промежуточного шага можно напрямую растеризовать входные объекты с помощью инструмента Объект в растр и задать параметр Поле. Затем используйте полученные выходные данные в качестве входных для того инструмента расстояний, который вам требуется. Кроме того, можно выбрать небольшой размер ячейки, чтобы получить достаточный объем данных из входных объектов.

  • Максимальное расстояние задаётся в тех же единицах карты, что и у входных данных источников.

  • Выходной размер ячейки можно задать как числовым значением, так и получить из существующего набора растровых данных. Если размер ячейки невозможно указать непосредственно как значение параметра, он будет получен из параметра среды Размер ячейки, если он был там задан. Если параметр размера ячейки в инструменте или среде геообработки не был задан, то размер выходной ячейки по умолчанию будет зависит от типа входного набора данных следующим образом:

    • Если входной набор данных является растром, то будет использоваться размер ячейки этого растра.
    • Если входной набор данных является вектором и задан параметр среды Растр привязки, то будет использоваться размер ячейки растра привязки. Если растр замыкания не задан, размер ячейки вычисляется по наименьшему значению ширины или высоты экстента, деленному на 250, где экстент задан в параметре среды Выходная система координат.
  • Если размер ячейки указан в виде числа, то инструмент будет использовать это значение для выходного растра.

    Если для определения размера ячейки указан другой растр, в параметре будет показан путь к набору растровых данных вместо значения размера ячейки. Размер ячейки этого растра будет использоваться непосредственно в анализе указанная пространственная привязка набора данных будет такой же, как и выходная система координат. Если же пространственная привязка набора данных отличается от выходной пространственной привязки, на будет перепроецирована на основе выбранного Метода проецирования размера ячейки.

  • Экстент обработки для этого инструмента является Объединение всех входных. Будет обрабатываться совокупный экстент всех входных данных.

  • Этот инструмент поддерживает параллельную обработку. Если ваш компьютер имеет несколько процессоров или процессор с несколькими ядрами, то его производительность будет более высокой, особенно на больших наборах данных. Раздел справки Параллельная обработка и Spatial Analyst содержит более подробные сведения об этой возможности и способах ее настройки.

    При использовании параллельной обработки будут записаны временные данные для управления обрабатываемыми фрагментами данных. Папка temp по умолчанию располагается на диске C: вашего компьютера. Вы можете управлять расположением этой папки, настроив Переменную системной среды с именем TempFolders и указав путь к папке, которая будет использоваться (например, E:\RasterCache). Если у вас права администратора на вашей машине, вы можете также использовать ключ регистрации (например, [HKEY_CURRENT_USER\SOFTWARE\ESRI\ArcGISPro\Raster]).

    По умолчанию, этот инструмент будет использовать 50 процентов доступных ядер. Если размер входных данных меньше, чем 5000 на 5000 ячеек, может использоваться меньшее число ядер. Можно задавать число используемых инструментом ядер в среде Коэффициент параллельной обработки.

  • См. раздел Среда анализа и Spatial Analyst для получения дополнительной информации о среде геообработки данного инструмента.

Синтаксис

EucDistance(in_source_data, {maximum_distance}, {cell_size}, {out_direction_raster}, {distance_method}, {in_barrier_data}, {out_back_direction_raster})
ParameterОбъяснениеТип данных
in_source_data

Входные местоположения источников.

Это набор растровых или векторных данных, определяющий ячейки или местоположения, до которых для каждой ячейки вычисляется Евклидово расстояние.

Для растров входной тип может быть целочисленным или с плавающей точкой.

Raster Layer; Feature Layer
maximum_distance
(Дополнительный)

Пороговое значение, которое не может быть превышено суммарными значениями расстояния.

Если суммарное Евклидово расстояние превышает это значение, выходному значению для местоположения ячейки будет присвоено значение NoData.

Значение по умолчанию равно расстоянию до границы выходного растра.

Double
cell_size
(Дополнительный)

Размер ячейки выходного растра, который будет создан.

Этот параметр можно задать как числовым значением, так и получить из существующего набора растровых данных. Если размер ячейки не был в явном виде задан как значение параметра, будет использоваться значение размера ячейки, указанное в параметрах среды геообработки, если же и оно не указано, будут использоваться дополнительные правила вычисления размера ячейки на основе входных данных. Более подробно см. раздел об использовании.

Analysis Cell Size
out_direction_raster
(Дополнительный)

Выходной растр Евклидова направления.

Растр направления содержит вычисленное направление в градусах, определяющее положение центра каждой ячейки по отношению к центру ближайшей ячейки источника.

Диапазон значений – от 0 до 360 градусов, где значение 0 резервируется для ячеек источников. Направление прямо на восток (вправо) определяется, как равное 90 градусам; значения увеличиваются по часовой стрелке (180 – на юг; 270 – на запад; и 360 на север).

Выходной растр будет целочисленным.

Raster Dataset
distance_method
(Дополнительный)

Задает, следует ли вычислять расстояние с помощью планарного (плоская земля) или геодезического (эллипсоид) метода.

  • PLANARРасчет расстояний выполняется на проецированной плоскости при использовании декартовой системы координат 2D. Это значение по умолчанию Короткое целое.
  • GEODESICРасчет расстояния будет производиться по эллипсоиду. Поэтому, независимо от входной или выходной проекции, результаты не меняются.
String
in_barrier_data
(Дополнительный)

Набор данных, определяющий барьеры.

Барьеры могут быть определены растром с целочисленными значениями, или со значениями с плавающей точкой, а также векторным слоем.

Raster Layer; Feature Layer
out_back_direction_raster
(Дополнительный)

Выходной растр обратного евклидова направления.

Растр обратного направления содержит рассчитанное направление в градусах. Направление определяет следующую ячейку по кратчайшему пути до ближайшего источника, избегая барьеры.

Диапазон значений – от 0 до 360 градусов, где значение 0 резервируется для ячеек источников. Направление прямо на восток (вправо) определяется, как равное 90 градусам; значения увеличиваются по часовой стрелке (180 – на юг; 270 – на запад; и 360 на север).

Тип выходного растра – float.

Raster Dataset

Значение отраженного сигнала

NameОбъяснениеТип данных
out_distance_raster

Выходной растр Евклидова расстояния.

Растр расстояния определяет для каждой ячейки Евклидово расстояние до ближайшей ячейки источника, набора ячеек источников или местоположения источника.

Выходной растр представлен числами с плавающей точкой.

Raster

Пример кода

EucDistance, пример 1 (окно Python)

В следующем скрипте Python Window показано, как использовать инструмент EuclideanDistance.

import arcpy
from arcpy import env
from arcpy.sa import *
env.workspace = "C:/sapyexamples/data"
outEucDistance = EucDistance("rec_sites.shp", 5000, 5, 
                             "c:/sapyexamples/output/EucDirOut")
outEucDistance.save("C:/sapyexamples/output/eucdist")
EucDistance, пример 2 (автономный скрипт)

Вычисляет для каждой ячейки расстояние по прямой линии до ближайшего источника.

# Name: EucDistance_Ex_02.py
# Description: Calculates for each cell the Euclidean distance to the nearest 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
inSourceData = "rec_sites.shp"
maxDistance = 4000
cellSize = 4
outDirectionRaster = "C:/sapyexamples/output/eucdirect"

# Execute EucDistance
outEucDistance = EucDistance(inSourceData, maxDistance, cellSize, outDirectionRaster)

# Save the output 
outEucDistance.save("C:/sapyexamples/output/eucdist")

Информация о лицензиях

  • Basic: Требуется Spatial Analyst
  • Standard: Требуется Spatial Analyst
  • Advanced: Требуется Spatial Analyst

Связанные разделы