Оптимальный путь как полилиния (Анализ растра)

Сводка

Вычисляет маршрут с наименьшей стоимостью перемещения от исходного объекта до объекта назначения.

Более подробно о создании пути с наименьшей стоимостью

Иллюстрация

Иллюстрация к инструменту Оптимальный путь как полилиния

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

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

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

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

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

  • Значения NoData, существующие в Исходном растре, не включаются как допустимые для этой функции. Значение 0 рассматривается как допустимое в целевом растре.

  • Два входных сервиса изображений требуются для запуска Растр стоимости как полилиния. То, как вы создаете эти входные данные, зависит от типа выполняемого вами анализа.

    • Стоимостный анализ позволяет создать стоимостный путь. Запустите растровые функции Стоимостное направление и Стоимостное расстояние, чтобы создать необходимые вам входные данные.
    • Анализ с использованием евклидова расстояния позволяет создавать прямые линии и линии вокруг барьеров. Запустите инструмент Вычислить расстояние для создания растров Евклидово направление и Евклидово расстояние. Либо запустите растровые функции Евклидово направление и Евклидово расстояние.
    • Анализ стока создает пути стока. Запускает растровую функцию Направление стока с помощью опции D8. Используйте растр направления стока D8 в качестве входного для инструмента Входной растр стоимостного направления. Необходимо также указать Входной растр стоимостного расстояния; Входной растр стоимостного расстояния не используется для определения пути. Независимо от использования константного растра или цифровой модели рельефа (ЦМР), путь будет одинаков; меняется только атрибутивное значение на пути.
  • В выходном сервисе объектов есть поле DestID, в котором задается цель, к которой ведет каждая линия.

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

Синтаксис

arcpy.ra.CostPathAsPolyline(inputDestinationRasterOrFeatures, inputCostDistanceRaster, inputCostBacklinkRaster, outputPolylineName, {pathType}, {destinationField})
ParameterОбъяснениеТип данных
inputDestinationRasterOrFeatures

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

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

Raster Layer; Image Service; Feature Layer; String
inputCostDistanceRaster

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

Raster Layer; Image Service; String
inputCostBacklinkRaster

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

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

Raster Layer; Image Service; String
outputPolylineName

Выходной сервис объектов, в котором хранится путь наименьшей стоимости.

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

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

  • BEST_SINGLEДля всех ячеек входных данных адресатов путь с наименьшей стоимостью перемещения вычисляется из ячейки, лежащей на маршруте с наименьшей стоимостью перемещения до ячеек источников и имеющей минимальное значение стоимости.
  • EACH_ZONEВ выходном растре определяется и сохраняется маршрут с наименьшей стоимостью перемещения для каждой зоны входных данных объектов назначения. С этой опцией маршрут с наименьшей стоимостью перемещения для каждой зоны начинается в ячейке с наименьшим весом стоимостного расстояния в зоне.
  • EACH_CELLВ выходном растре определяется и сохраняется маршрут с наименьшей стоимостью перемещения для каждой ячейки, имеющей действительные значения во входных данных объектов назначения. С этой опцией каждая ячейка входных данных объектов назначения рассматривается по отдельности, и путь с наименьшей стоимостью перемещения вычисляется от каждой ячейки назначения.
String
destinationField
(Дополнительный)

Поле, значения в котором используются для получения значений местоположений адресатов.

Field

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

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

Полининейные объекты.

Векторный слой

Пример кода

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

Окно скрипта Python и демонстрация выполнения функции CostPathAsPoyline.

import arcpy

arcpy.CostPathAsPolyline_ra(
    "https://myserver/rest/services/destination/ImageServer", 
    "https://myserver/rest/services/costsurface/ImageServer", 
    "https://myserver/rest/services/direction/ImageServer", 
    "outpath", "BEST_SINGLE")
CostPathAsPolyline, пример 2 (автономный скрипт)

Вычисляет путь с наименьшей стоимостью от источника до места назначения.

#-------------------------------------------------------------------------------
# Name: CostPathAsPolyline_Ex_02.py
# Description: Calculates the least-cost path from a source to a destination.
# Requirements: ArcGIS Image Server

# Import system modules
import arcpy

# Set local variables
inputDestinationLayer =
    'https://MyPortal.esri.com/server/rest/services/Hosted/destination/ImageServer'
inputCostLayer =
    'https://MyPortal.esri.com/server/rest/services/Hosted/costraster/ImageServer'
inputDirectionLayer = 
    'https://MyPortal.esri.com/server/rest/services/Hosted/direction/ImageServer'
outputName = 'outTravelPaths'
pathType = 'BEST_SINGLE'

arcpy.CostPathAsPolyline_ra(inputDestinationLayer, inputCostLayer,
                            inputDirectionLayer, outputName, pathType)

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

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

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