Вычислить расстояние (Анализ растра)

Сводка

Вычисляет евклидово расстояние от одного или нескольких источников.

Иллюстрация

Иллюстрация инструмента Вычислить расстояние

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

  • Этот инструмент портала для анализа растров доступен, если вы выполнили вход в ArcGIS Enterprise Ссылка на разбор анализа в ArcGIS Enterprise портал с расширением ArcGIS Image Server Ссылка на раздел Что такое ArcGIS Image Server настроенный для Raster Analysis Ссылка на настройку и развертывание аналитики растров. Когда инструмент запускается, ArcGIS Pro выступает в качестве клиента, и обработка проходит на серверах, интегрированных с ArcGIS Enterprise. Инструмент портала использует слои портала в качестве входных данных и создает выходные данные на этом же портале.

    Параметр Входной растровый слой поддерживает слой портала, URI или URL сервиса изображений или выходные данные инструмента Создать слой сервера изображений. Входной векторный слой может быть слоем портала или URI либо URL сервиса объектов. Указанный инструмент не поддерживает локальные наборы растровых данных или слои. Хотя вы можете использовать локальные векторные данные или слои как входные данные для инструментов портала, лучше все же использовать слои портала в качестве входных данных.

  • Одним из примеров использования этого инструмента является нахождение расстояния до любого местоположения в ближайшем городе.

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

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

Синтаксис

arcpy.ra.CalculateDistance(inputSourceRasterOrFeatures, outputDistanceName, {maximumDistance}, {outputCellSize}, {outputDirectionName}, {outputAllocationName}, {allocationField}, {distanceMethod}, {inputBarrierRasterOrFeatures}, {outputBackDirectionName})
ParameterОбъяснениеТип данных
inputSourceRasterOrFeatures

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

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

Для векторного слоя тип входных данных может быть точка, линия или полигон.

Raster Layer; Image Service; Feature Layer; String
outputDistanceName

Имя выходного сервиса растра расстояния.

String
maximumDistance
(Дополнительный)

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

Единицами измерения могут быть километры, метры, мили или футы.

Единицы измерения по умолчанию – метры.

Linear Unit
outputCellSize
(Дополнительный)

Задает размер ячейки и единицы измерения выходного растра.

Единицами измерения могут быть километры, метры, мили или футы.

Единицы измерения по умолчанию – метры.

Linear Unit
outputDirectionName
(Дополнительный)

Имя выходного сервиса растра путевого листа.

String
outputAllocationName
(Дополнительный)

Имя выходного сервиса растра распределения.

String
allocationField
(Дополнительный)

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

String
distanceMethod
(Дополнительный)

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

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

Набор данных, которым задаются барьеры.

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

Raster Layer; Image Service; Feature Layer; String
outputBackDirectionName
(Дополнительный)

Имя выходного растрового сервиса направления стока.

String

Производные выходные данные

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

Выходной растр расстояния.

Растровый слой
outputDirectionRaster

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

Растровый слой
outputBackDirectionRaster

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

Растровый слой
outputAllocationRaster

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

Растровый слой

Пример кода

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

В данном примере вычисляется евклидово расстояние от одного источника.

import arcpy
arcpy.CalculateDistance_ra('https://MyPortal.esri.com/server/rest/services/Hosted/myPoints/FeatureServer/0',
                           "outDistance", "5000", "10", "outDirection", "outAllocation", "siting")
CalculateDistance, пример 2 (автономный скрипт)

В данном примере вычисляется евклидово расстояние от набора источников.

# Name: CalculateDistance_Ex_02.py
# Description: Calculates for each cell the Euclidean distance, direction and allocation
#              to the nearest source.
# Requirements: ArcGIS Image Server

# Import system modules
import arcpy

# Set local variables
inSourceData = 'https://MyPortal.esri.com/server/rest/services/Hosted/reccenter/ImageServer'
outDistanceName = "eucdistance"
maxDistance = "4000"
cellSize = "10"
outDirectionName = "eucdirect"
outAllocationName = "eurallocation"
allocationField = "dataid"


# Execute EucDistance
arcpy.CalculateDistance_ra(inSourceData, outDistanceName, maxDistance, cellSize, outDirectionName,
                           outAllocationName, allocationField)

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

  • Basic: Требуется ArcGIS Image Server
  • Standard: Требуется ArcGIS Image Server
  • Advanced: Требуется ArcGIS Image Server

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