Доступно с лицензией Spatial Analyst.
Сводка
Вычисляет оптимальный путь перемещения от исходного объекта до объекта назначения с результатом в виде линии.
Использование
Инструмент Оптимальный путь как линия создает выходной полилинейный объект, который является оптимальным путем от источника к месту назначения.
Когда входные данные объектов назначений (адресатов) представлены растром, набор ячеек адресатов состоит из всех ячеек на Входном растре или в векторных данных объектов назначения, которые имеют действительные значения. Ячейки, имеющие значение NoData, не включаются в набор источников. Нулевое значение рассматривается как истинный адресат. Растр объектов назначения может быть создан с использованием инструментов извлечения.
При использовании данных полигонального объекта в качестве входных назначений объекта следует особенно тщательно выбирать способ обработки размера выходной ячейки, если его можно охарактеризовать как грубый относительно подробных сведений во входных данных. Применяется внутренний процесс растеризации с помощью инструмента Полигон в растр, с настройкой по умолчанию для Метода присвоения значений ячейкам – Центр ячейки. Это означает, что данные, не расположенные по центру ячейки, не будут включены в промежуточные растеризованные выходные данные назначения, поэтому не будут представлены в расчётах расстояния. Например, если назначением является ряд небольших полигонов, например периметры знаний, которые невелики относительно размеру выходной ячейки, возможно, что только некоторые из них попадут по центру выходных растровых ячеек, и, видимо, большинство остальных объекты будут потеряны в анализе.
Во избежание этой ситуации в качестве промежуточного шага можно напрямую растеризовать входные объекты с помощью инструмента Объект в растр и задать параметр Поле. Затем используйте полученные выходные данные в качестве входных для того инструмента расстояний, который вам требуется. Кроме того, можно выбрать небольшой размер ячейки, чтобы получить достаточный объем данных из входных объектов.
Перед созданием оптимального пути обычно используется один из следующих инструментов для создания растра накопления расстояния и растра обратного направления: Накопление расстояния или Распределение по расстоянию. Это необходимые входные данные для создания оптимального пути.
Оптимальный созданный путь может быть путем потока, основанным на направлении потока D8. Чтобы создать оптимальный путь таким образом, укажите растр направления потока D8 в качестве входного растра для Входного растра обратного направления или направления стока. Вам также нужно указать Входной растр накопленного расстояния. Если параметр Создать сетевые пути не активирован, для задания пути Входной растр накопленного расстояния не используется. Поэтому при использовании как константного растра, так и цифровой модели рельефа (ЦМР) путь будет одинаковым; меняется только атрибутивное значение в вашем пути. Однако если параметр Создать сетевые пути включен, Входной растр накопленного расстояния должен быть Выходным растром суммарного стока. Изучите инструмент Направление потока для получения информации о растрах направления потока D8 и инструменте Суммарный сток для создания растра суммарного стока.
Выходной полигональный слой содержит поле с именем DestID и споле с именем PathCost. Поле DestID определяет, к какой точке назначения ведет каждый путь. Поле PathCost содержит общую накопленную стоимость для каждого пути. Если выходные данные записываются в файловую базу геоданных, в них содержится поле shape_length, где хранится общая длина пути с наименьшей стоимостью.
Для создания оптимального пути параметр среды Размер ячейки игнорируется, а для вычисления выходного растра используется размер ячейки Входного растра стоимостного направления. Структура растра направления может сильно измениться, если будет изменено его разрешение. Чтобы избежать ошибок, при использовании этого инструмента не следует устанавливать параметр размера ячейки.
Синтаксис
OptimalPathAsLine(in_destination_data, in_distance_accumulation_raster, in_back_direction_raster, out_polyline_features, {destination_field}, {path_type}, {create_network_paths})
Parameter | Объяснение | Тип данных |
in_destination_data | Набор растровых или векторных данных, определяющий местоположения, из которых определяется оптимальный путь до наименее затратного источника. Если входные данные являются растром, они должны состоять из ячеек с корректными значениями для назначений, а остальным ячейкам должно быть присвоено значение NoData. 0 – является допустимым значением. | Raster Layer; Feature Layer |
in_distance_accumulation_raster | Растр накопленного расстояния используется для определения оптимального пути от источников до пунктов назначения. Растр накопленного расстояния обычно создается с помощью инструментов Накопление расстояния или Распределение по расстоянию. Каждая ячейка в растре накопленного расстояния представляет минимальную суммарную стоимость перемещения по поверхности от каждой ячейки до набора исходных ячеек. | Raster Layer |
in_back_direction_raster | Растр обратного направления содержит рассчитанные направления в градусах. Направление определяет следующую ячейку по оптимальному пути до источника с наименьшей накопленной стоимостью, избегая барьеры. Диапазон значений – от 0 до 360 градусов, где значение 0 резервируется для ячеек источников. Направление прямо на восток (вправо) определяется, как равное 90 градусам; значения увеличиваются по часовой стрелке (180 – на юг; 270 – на запад; и 360 на север). | Raster Layer |
out_polyline_features | Выходной класс пространственных объектов, который является оптимальным путем или путями. | Feature Class |
destination_field (Дополнительный) | Целочисленное поле, используемое для получения значений местоположений адресатов. | Field |
path_type (Дополнительный) | Указывает ключевое слово, определяющее то, как в вычислениях оптимального пути будут интерпретированы значения и зоны во входных данных объектов назначения.
| String |
create_network_paths (Дополнительный) | Указывает, вычисляются ли полные, возможно, перекрывающиеся, пути от пунктов назначения к источникам, либо создаются неперекрывающиеся сетевые пути.
| Boolean |
Пример кода
Пример скрипта окна Python для использования функции.
import arcpy
from arcpy import env
from arcpy.sa import *
env.workspace = "C:/sapyexamples/data"
OptimalPathAsLine("observers.shp", "distaccum.tif", "backdir.tif",
"c:/sapyexamples/output/outOptimalPath01.shp")
Вычисляет маршрут с наименьшей стоимостью перемещения из источника до объекта назначения.
# Name: OptimalPathAsLine_Ex_02.py
# Description: Calculates the least-cost path from a source to
# a destination.
# 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
inDestination = "observers.shp"
inDistAccum = "accumraster.tif"
inBackDir = "backdir2.tif"
outPathFeat = "c:/sapyexamples/output.gdb/optimalfeaturepaths02"
destField = "FID"
method = "EACH_CELL"
# Check out the ArcGIS Spatial Analyst extension license
arcpy.CheckOutExtension("Spatial")
# Execute
OptimalPathAsLine(inDestination, inDistAccum, inBackDir,
outPathFeat, destField, method)
Environments
Информация о лицензиях
- Basic: Требуется Spatial Analyst
- Standard: Требуется Spatial Analyst
- Advanced: Требуется Spatial Analyst