Оптимальный путь (Cost Path) (Spatial Analyst)

Уровень лицензии:BasicStandardAdvanced

Резюме

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

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

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

Синтаксис

CostPath (in_destination_data, in_cost_distance_raster, in_cost_backlink_raster, {path_type}, {destination_field})
ПараметрОбъяснениеТип данных
in_destination_data

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

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

Raster Layer | Feature Layer
in_cost_distance_raster

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

Растр стоимостного расстояния обычно создается с помощью инструментов Стоимостное расстояние (Cost Distance), Распределение по стоимостному расстоянию (Cost Allocation) или Стоимостное направление (Cost Back Link). Растр стоимостного расстояния хранит для каждой ячейки расстояние с минимальной совокупной стоимостью перемещения по поверхности стоимости из каждой ячейки до набора ячеек источников.

Raster Layer
in_cost_backlink_raster

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

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

Raster Layer
path_type
(дополнительно)

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

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

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

Входные векторные данные должны включать по крайней мере одно корректное поле таблицы атрибутов.

Field

Возвращено значение

ИмяОбъяснениеТип данных
out_raster

Выходной растр оптимального пути.

Выходной растр будет целочисленным.

Raster

Пример кода

Оптимальный путь. Пример 1 (окно Python)

На следующем скрипте Python Window показано, как использовать инструмент Оптимальный путь (Cost Path).

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")
Оптимальный путь. Пример 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"
costRaster = "costraster"
backLink = "backlink2"
method = "EACH_CELL"
destField = "FID"

# Check out the ArcGIS Spatial Analyst extension license
arcpy.CheckOutExtension("Spatial")

# Execute CostPath
outCostPath = CostPath(inDestination, costRaster, backLink, method,
                       destField)

# Save the output 
outCostPath.save("c:/sapyexamples/output/costpath02")

Параметры среды

Связанные темы

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

ArcGIS for Desktop Basic: Требует Spatial Analyst
ArcGIS for Desktop Standard: Требует Spatial Analyst
ArcGIS for Desktop Advanced: Требует Spatial Analyst
9/11/2013