Инструмент Оптимальный путь строит выходной растр, в котором записан маршрут или маршруты с наименьшей стоимостью перемещения из выбранных местоположений до ближайшей ячейки источника по поверхности совокупной стоимости, в терминах стоимостного расстояния.
Обычно для создания входного растра стоимостного расстояния и стоимостного направления требуется запустить один или несколько инструментов взвешенной стоимости (Стоимостное расстояние, Стоимостное направление или Распределение по стоимостному расстоянию), чтобы потом запустить инструмент Оптимальный путь. Эти данные являются обязательными входными растрами для инструмента Оптимальный путь.
Каждому пути с наименьшей стоимостью присваивается значение, встречающееся в процессе сканирования. Конечной ячейке оптимального маршрута в исходном растре источников (с использованием которого получены растры стоимостного расстояния и стоимостного направления) присваивается значение, равное единице, первому маршруту присваивается значение, равное трем, второму – четырем, и так далее. Значение, равное двум, резервируется для объединяемых участков путей, которые являются фрагментами общего оптимального пути.
Когда входные данные объектов назначений (адресатов) представлены растром, набор ячеек адресатов состоит из всех ячеек на входном растре или в векторных данных объектов назначения, которые имеют действительные значения. Ячейки, имеющие значение NoData, не включаются в набор источников. Нулевое значение рассматривается как истинное назначение. Растр объектов назначения может быть создан с использованием инструментов извлечения.
Если входные данные источника являются объектом, по умолчанию используется первое доступное поле. Если доступных полей нет, используется поле ObjectID (например, OID или FID, в зависимости от типа входных данных объекта).
При использовании данных полигонального объекта в качестве входных назначений объекта следует особенно тщательно выбирать способ обработки размера выходной ячейки, если его можно охарактеризовать как грубый относительно подробных сведений во входных данных. Процесс внутренней растеризации использует механизм инструмента Полигон в растр, и в качестве настройки по умолчанию для параметра Тип назначения ячейки будет использован Центр ячейки. Это означает, что данные, не расположенные по центру ячейки, не будут включены в промежуточные растеризованные выходные данные назначения, поэтому не будут представлены в расчётах расстояния. Например, если назначением является ряд небольших полигонов, например периметры знаний, которые невелики относительно размеру выходной ячейки, возможно, что только некоторые из них попадут по центру выходных растровых ячеек, и, видимо, большинство остальных объекты будут потеряны в анализе.
Во избежание этой ситуации в качестве промежуточного шага можно напрямую растеризовать входные объекты с помощью инструмента Объект в растр и задать параметр Поле. Затем используйте полученные выходные данные в качестве входных для того инструмента расстояний, который вам требуется. Кроме того, можно выбрать небольшой размер ячейки, чтобы получить достаточный объем данных из входных объектов.
Если несколько путей сливаются и в дальнейшем идут вместе к источнику по одному маршруту, сегменту, на протяжении которого два пути идут вместе, присваивается значение 2. Объединенному сегменту пути нельзя присвоить значение одного из путей, если этот сегмент принадлежит обоим маршрутам.
Инструмент Оптимальный путь игнорирует параметр среды Размер ячейки и будет использовать размер ячейки Входного растра стоимостного направления для выходного растра. Структура растра направления может сильно измениться, если будет изменено его разрешение. Чтобы избежать ошибок, при использовании этого инструмента не следует устанавливать параметр размера ячейки.
Оптимальный путь может использоваться для определения пути потока, основанного на направлении потока D8. Чтобы использовать Оптимальный путь таким образом, укажите растр направления стока D8 в качестве Входного растра стоимостного направления. Необходимо также указать Входной растр стоимостного расстояния; Входной растр стоимостного расстояния не используется для определения пути. Независимо от использования константного растра или цифровой модели рельефа (ЦМР), путь будет одинаков; меняется только атрибутивное значение на пути. См. инструмент Направление стока для получения дополнительных сведений о растрах направления стока D8.
Если входные данные назначений представляют собой векторные данные, то они должны включать по крайней мере одно корректное поле таблицы атрибутов.
Если формат выходного растра .crf, этот инструмент поддерживает параметр среды хранения растровых изображений Пирамида. Пирамиды будут созданы в выходных данных по умолчанию. Для любого другого формата вывода этот параметр среды не поддерживается, и пирамиды создаваться не будут.
Растр или набор пространственных данных, определяющие ячейки, из которых вычисляется путь с наименьшей стоимостью перемещения до источника, расположенного ближе всего по стоимости перемещения.
Если входные данные представлены растром, они состоят из ячеек, имеющих действительные значения (ноль является действительным значением), а остальным ячейкам должно быть присвоено значение NoData.
Raster Layer; Feature Layer
Входной растр стоимостного расстояния
Имя растра стоимостного расстояния, используемого для определения маршрута с наименьшей стоимостью перемещения из положений ячеек входного растра адресатов до источника.
Растр стоимостного расстояния обычно создается с помощью инструментов Стоимостное расстояние, Распределение по стоимостному расстоянию или Стоимостное направление. Растр стоимостного расстояния хранит для каждой ячейки расстояние с минимальной совокупной стоимостью перемещения по поверхности стоимости из каждой ячейки до набора ячеек источников.
Raster Layer
Входной растр стоимостного направления
Имя растра стоимостного направления, используемого для определения пути возвращения к источнику по маршруту с наименьшей стоимостью перемещения.
Для каждой ячейки на растре направления значение определяет соседнюю ячейку, которая является следующей ячейкой на пути с наименьшей стоимостью перемещения из ячейки до единственной ячейки источника или набора ячеек источников.
Raster Layer
Тип пути
(Дополнительный)
Ключевое слово, определяющее то, как в вычислениях оптимального пути будут интерпретированы значения и зоны во входных данных объектов назначения.
Каждая ячейка—В выходном растре определяется и сохраняется путь с наименьшей стоимостью для каждой ячейки, имеющей действительные значения во входных данных объектов назначения. С этой опцией каждая ячейка во входных данных объектов назначения рассматривается по отдельности, и путь с наименьшей стоимостью перемещения вычисляется для каждой ячейки назначения.
Каждая зона—В выходном растре определяется и сохраняется путь с наименьшей стоимостью для каждой зоны входных данных объектов назначения. С этой опцией путь с наименьшей стоимостью перемещения для каждой зоны начинается в ячейке с наименьшим весом стоимостного расстояния в зоне.
Один наилучший—Для всех ячеек во входных данных назначений путь с наименьшей стоимостью вычисляется из ячейки, лежащей на пути с наименьшей стоимостью перемещения до ячеек источников и имеющей минимальное значение стоимости.
String
Поле назначения
(Дополнительный)
Значения, используемые для получения значений местоположений адресатов.
Входные векторные данные должны включать по крайней мере одно корректное поле таблицы атрибутов.
Field
Использование направления стока для растра направлений
(Дополнительный)
Определяет, будет ли входной растр направления обрабатываться как растр направления стока. Растры направления стока должны содержать целочисленные значения в диапазоне от 0 до 255.
Не отмечено – Входной растр стоимостного направления будет прерываться по-разному в зависимости от диапазона значений и от того, является он целочисленным или с плавающими значениями. Для диапазона значений 0-8 значения Входного растра стоимостного направления будет рассматриваться как растр направления. Для целочисленных значений от 0 до 255 значения Входного растра стоимостного направления будет рассматриваться как растр направления стока. Для значений в диапазоне от 0 до 360 и чисел с плавающей точкой значения Входного растра стоимостного направления будет рассматриваться как растр обратного направления.
Отмечено - Растр, заданный в качестве параметра Входного растра стоимостного направления, будет рассматриваться, как растр направления стока. Это является необходимым, если значение растра направления стока не превышает 8.
Растр или набор пространственных данных, определяющие ячейки, из которых вычисляется путь с наименьшей стоимостью перемещения до источника, расположенного ближе всего по стоимости перемещения.
Если входные данные представлены растром, они состоят из ячеек, имеющих действительные значения (ноль является действительным значением), а остальным ячейкам должно быть присвоено значение NoData.
Raster Layer; Feature Layer
in_cost_distance_raster
Имя растра стоимостного расстояния, используемого для определения маршрута с наименьшей стоимостью перемещения из положений ячеек входного растра адресатов до источника.
Растр стоимостного расстояния обычно создается с помощью инструментов Стоимостное расстояние, Распределение по стоимостному расстоянию или Стоимостное направление. Растр стоимостного расстояния хранит для каждой ячейки расстояние с минимальной совокупной стоимостью перемещения по поверхности стоимости из каждой ячейки до набора ячеек источников.
Raster Layer
in_cost_backlink_raster
Имя растра стоимостного направления, используемого для определения пути возвращения к источнику по маршруту с наименьшей стоимостью перемещения.
Для каждой ячейки на растре направления значение определяет соседнюю ячейку, которая является следующей ячейкой на пути с наименьшей стоимостью перемещения из ячейки до единственной ячейки источника или набора ячеек источников.
Raster Layer
path_type
(Дополнительный)
Ключевое слово, определяющее то, как в вычислениях оптимального пути будут интерпретированы значения и зоны во входных данных объектов назначения.
EACH_CELL—В выходном растре определяется и сохраняется путь с наименьшей стоимостью для каждой ячейки, имеющей действительные значения во входных данных объектов назначения. С этой опцией каждая ячейка во входных данных объектов назначения рассматривается по отдельности, и путь с наименьшей стоимостью перемещения вычисляется для каждой ячейки назначения.
EACH_ZONE—В выходном растре определяется и сохраняется путь с наименьшей стоимостью для каждой зоны входных данных объектов назначения. С этой опцией путь с наименьшей стоимостью перемещения для каждой зоны начинается в ячейке с наименьшим весом стоимостного расстояния в зоне.
BEST_SINGLE—Для всех ячеек во входных данных назначений путь с наименьшей стоимостью вычисляется из ячейки, лежащей на пути с наименьшей стоимостью перемещения до ячеек источников и имеющей минимальное значение стоимости.
String
destination_field
(Дополнительный)
Значения, используемые для получения значений местоположений адресатов.
Входные векторные данные должны включать по крайней мере одно корректное поле таблицы атрибутов.
Field
force_flow_direction_convention
(Дополнительный)
Определяет, будет ли входной растр направления обрабатываться как растр направления стока. Растры направления стока должны содержать целочисленные значения в диапазоне от 0 до 255.
INPUT_RANGE—Значение in_cost_backlink_raster будет прерываться в зависимости от диапазона значений и от того, являются ли значения целочисленными или числами с плавающей точкой. Для диапазона значений 0-8 значение in_cost_backlink_raster будет рассматриваться как растр направления. Для значений в диапазоне от 0 до 255 значение in_cost_backlink_raster будет рассматриваться в качестве растра направления стока. Для значений в диапазоне от 0 до 360 и чисел с плавающей точкой значение in_cost_backlink_raster будет рассматриваться в качестве растра обратного направления.
FLOW_DIRECTION—Растр, заданный в качестве параметра in_cost_backlink_raster, будет рассматриваться как растр направления стока. Это является необходимым, если значение растра направления стока не превышает 8.
Boolean
Возвращаемое значение
Имя
Описание
Тип данных
out_raster
Выходной растр оптимального пути.
Выходной растр будет целочисленным.
Raster
Пример кода
CostPath, пример 1 (окно Python)
На следующем скрипте Python Window показано, как использовать инструмент Оптимальный путь.
import arcpy
from arcpy import env
from arcpy.sa import *
env.workspace = "C:/sapyexamples/data"
outCostPath = CostPath("observers", "costraster", "backlink2", "EACH_CELL")
outCostPath.save("c:/sapyexamples/output/costpath")
CostPath, пример 2 (автономный скрипт)
Вычисляет путь с наименьшей стоимостью от источника до места назначения.
# Name: CostPath_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"
costDistanceRaster = "costdistraster"
backLink = "backlink2"
method = "EACH_CELL"
destField = "FID"
# Execute CostPath
outCostPath = CostPath(inDestination, costDistanceRaster, backLink, method,
destField)
# Save the output
outCostPath.save("c:/sapyexamples/output/costpath02")