Доступно с лицензией Spatial Analyst.
Сводка
Вычисляет оптимальный путь перемещения от исходного объекта до объекта назначения с результатом в виде растра.
Использование
Инструмент Оптимальный путь как растр создает выходной растр.
Когда входные данные объектов назначений (адресатов) представлены растром, набор ячеек адресатов состоит из всех ячеек на Входном растре или в векторных данных объектов назначения, которые имеют действительные значения. Ячейки, имеющие значение NoData, не включаются в набор источников. Нулевое значение рассматривается как истинный адресат. Растр объектов назначения может быть создан с использованием инструментов извлечения.
При использовании данных полигонального объекта в качестве входных назначений объекта следует особенно тщательно выбирать способ обработки размера выходной ячейки, если его можно охарактеризовать как грубый относительно подробных сведений во входных данных. Применяется внутренний процесс растеризации с помощью инструмента Полигон в растр, с настройкой по умолчанию для Метода присвоения значений ячейкам – Центр ячейки. Это означает, что данные, не расположенные по центру ячейки, не будут включены в промежуточные растеризованные выходные данные назначения, поэтому не будут представлены в расчётах расстояния. Например, если назначением является ряд небольших полигонов, например периметры знаний, которые невелики относительно размеру выходной ячейки, возможно, что только некоторые из них попадут по центру выходных растровых ячеек, и, видимо, большинство остальных объекты будут потеряны в анализе.
Во избежание этой ситуации в качестве промежуточного шага можно напрямую растеризовать входные объекты с помощью инструмента Объект в растр и задать параметр Поле. Затем используйте полученные выходные данные в качестве входных для того инструмента расстояний, который вам требуется. Кроме того, можно выбрать небольшой размер ячейки, чтобы получить достаточный объем данных из входных объектов.
Перед созданием оптимального пути обычно используется один из следующих инструментов для создания растра накопления расстояния и растра обратного направления: Накопление расстояния или Распределение по расстоянию. Это необходимые входные данные для создания оптимального пути.
Оптимальный созданный путь может быть путем потока, основанным на направлении потока D8. Чтобы создать оптимальный путь таким образом, укажите растр направления потока D8 в качестве входного растра для Входного растра обратного направления или направления стока. Необходимо также указать Входной растр накопленного расстояния; Входной растр накопленного расстояния не используется для определения пути. Независимо от использования константного растра или цифровой модели рельефа (DEM), путь будет одинаков; меняется только атрибутивное значение на пути. См. инструмент Направление стока для получения дополнительных сведений о растрах направления потока D8.
Значения на выходном оптимальном пути представляют собой количество путей в заданном местоположении. Во многих случаях пути следуют по одному и тому же маршруту, выходя из источника, а затем расходятся для достижения различных пунктов назначения. Например, значение один указывает, что существует только один оптимальный путь в данном местоположении, в то время как значение пять означает, что существуют пять оптимальных путей, проходящих через эту ячейку исследуемой области.
Для создания оптимального пути параметр среды Размер ячейки игнорируется, а для вычисления выходного растра используется размер ячейки Входного растра стоимостного направления. Структура растра направления может сильно измениться, если будет изменено его разрешение. Чтобы избежать ошибок, при использовании этого инструмента не следует устанавливать параметр размера ячейки.
См. раздел Среда анализа и Spatial Analyst для получения дополнительной информации о среде геообработки данного инструмента.
Синтаксис
OptimalPathAsRaster(in_destination_data, in_distance_accumulation_raster, in_back_direction_raster, {destination_field}, {path_type})
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 |
destination_field (Дополнительный) | Поле, используемое для получения значений местоположений адресатов. | Field |
path_type (Дополнительный) | Указывает ключевое слово, определяющее то, как в вычислениях оптимального пути будут интерпретированы значения и зоны во входных данных объектов назначения.
| String |
Значение отраженного сигнала
Name | Объяснение | Тип данных |
out_path_accumulation_raster | Выходной растр. | Raster |
Пример кода
Следующий скрипт окна Python демонстрирует, как использовать инструмент OptimalPathAsRaster.
import arcpy
from arcpy import env
from arcpy.sa import *
env.workspace = "C:/sapyexamples/data"
outOptimalRasPath = OptimalPathAsRaster("observers", "distAccum.tif", "backDir2", "IdField", "EACH_CELL")
outOptimalRasPath.save("c:/sapyexamples/output/bestpaths.tif")
Вычисляет маршрут с наименьшей стоимостью перемещения из источника до объекта назначения.
# Name: OptimalPathAsRaster_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"
distAccumRaster = "distAccum.tif"
backDir = "backDir2.tif"
destField = "FID"
pathType = "EACH_CELL"
# Execute CostPath
outOptimalRasPath = OptimalPathAsRaster(inDestination, distAccumRaster, backDir, destField,
pathType)
# Save the output
outOptimalRasPath.save("c:/sapyexamples/output/optimalraspath02.tif")
Environments
Информация о лицензиях
- Basic: Требуется Spatial Analyst
- Standard: Требуется Spatial Analyst
- Advanced: Требуется Spatial Analyst