Доступно с лицензией Spatial Analyst.
Сводка
Вычисляет маршрут с наименьшей стоимостью перемещения от исходного объекта до объекта назначения.
Иллюстрация
Использование
Этот инструмент портала для анализа растров доступен, если вы выполнили вход в ArcGIS Enterprise портал с расширением ArcGIS Image Server настроенный для Raster Analysis . При вызове инструмента сервера ArcGIS Pro являются клиентами, и обработка будет выполнятся на серверах, интегрированных с ArcGIS Enterprise. Инструмент портала использует слои портала в качестве входных данных и создает выходные данные на этом же портале.
Параметр Входной растровый слой поддерживает следующие элементы: слой портала, URI или URL сервиса изображений, выходные данные инструмента Создать слой сервера изображений. Сходной векторный слой может быть слоем портала. Это может быть URI или URL сервиса объектов. Указанный инструмент не поддерживает локальные наборы растровых данных или слои. Хотя вы можете использовать локальные векторные данные или слои как входные данные для инструментов портала, лучше все же использовать слои портала в качестве входных данных.
Инструмент Оптимальный путь как полилиния строит выходной полилинейный сервис объектов, в котором записан маршрут или маршруты с наименьшей стоимостью перемещения из источников до ближайшего назначения по поверхности совокупной стоимости или по евклидовому расстоянию.
Если у вас есть исходные объекты, сначала конвертируйте их в набор растровых данных с помощью функции Растеризовать объекты. С помощью имеющегося Растра стоимости, используемого в качестве входного Растра функции растеризации. Это позволит убедиться в том, что объекты правильно конвертированы в сервис изображений с теми же размером ячейки, экстентом и пространственной привязкой.
Значения NoData, существующие в Исходном растре, не включаются как допустимые для этой функции. Значение 0 рассматривается как допустимое в целевом растре.
Два входных сервиса изображений требуются для запуска Растр стоимости как полилиния. То, как вы создаете эти входные данные, зависит от типа выполняемого вами анализа.
- Стоимостный анализ позволяет создать стоимостный путь. Запустите растровые функции Стоимостное направление и Стоимостное расстояние, чтобы создать необходимые вам входные данные.
- Анализ с использованием евклидова расстояния позволяет создавать прямые линии и линии вокруг барьеров. Запустите инструмент Вычислить расстояние для создания растров Евклидово направление и Евклидово расстояние. Либо запустите растровые функции Евклидово направление и Евклидово расстояние.
- Анализ стока создает пути стока. Запускает растровую функцию Направление стока с помощью опции D8. Используйте растр направления стока D8 в качестве входного для инструмента Входной растр стоимостного направления. Необходимо также указать Входной растр стоимостного расстояния; Входной растр стоимостного расстояния не используется для определения пути. Независимо от использования константного растра или цифровой модели рельефа (DEM), путь будет одинаков; меняется только атрибутивное значение на пути.
В выходном сервисе объектов есть поле DestID, в котором задается цель, к которой ведет каждая линия.
В отличие от других инструментов Анализа растра, Стоимостный путь как полилиния не будет учитывать следующие настройки среды: Выходная система координат, Экстент, Размер ячейки и Растр замыкания. Структура растра направления может сильно измениться, если будет изменено разрешение или система координат растра, что приведет к созданию некорректного пути.
Синтаксис
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 (Дополнительный) | Определяет, как в вычислениях оптимального пути будут интерпретированы значения и зоны во входных данных объектов назначения.
| String |
destinationField (Дополнительный) | Поле, значения в котором используются для получения значений местоположений адресатов. | Field |
Производные выходные данные
Name | Объяснение | Тип данных |
outputPolylineFeatures | Полининейные объекты. | Векторный слой |
Пример кода
Окно скрипта 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")
Вычисляет путь с наименьшей стоимостью от источника до места назначения.
#-------------------------------------------------------------------------------
# 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)
Environments
Информация о лицензиях
- Basic: Требуется ArcGIS Image Server
- Standard: Требуется ArcGIS Image Server
- Advanced: Требуется ArcGIS Image Server