Распределение по Евклидову расстоянию (Euclidean Allocation) (Spatial Analyst)

Уровень лицензии:BasicStandardAdvanced

Резюме

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

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

Рисунок

Иллюстрация инструмента Распределение по евклид. расстоянию (Euclidean Allocation)
Euc_Alloc = EucAllocation(Source_Ras)

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

Синтаксис

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
(дополнительно)

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

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

  • Если исходные данные - растр, выходные данные будут иметь тот же размер ячеек.
  • Если входные данные источников представлены классом пространственных объектов, размер ячейки по умолчанию будет равен длине меньшей из сторон (по высоте или по ширине) экстента входных объектов во входной пространственной привязке, деленной на 250.

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

Пример кода

Пример 1 (окно Python)

В следующем скрипте Python Window показано, как использовать инструмент Распределение по Евклидову расстоянию (Euclidean Allocation).

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")
Пример 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")

Параметры среды

Связанные темы

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

ArcGIS for Desktop Basic: Требует Spatial Analyst
ArcGIS for Desktop Standard: Требует Spatial Analyst
ArcGIS for Desktop Advanced: Требует Spatial Analyst
9/11/2013