Путь с наименьшей стоимостью (AllSource)

Краткая информация

Находит кратчайший путь между начальной и конечной точками на стоимостной поверхности.

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

  • Значения параметров Входная начальная точка и Входная конечная точка должны находиться в пределах значения параметра Входная поверхность стоимости. Использования точек, находящихся вне экстента поверхности, приведут к пустым выходным данным.

  • Использование нескольких точек в качестве значения Входной начальной точки значительно увеличит время обработки.

  • Использование нескольких точек в качестве значения Входной конечной точки может привести к появлению более двух выходных линейных объектов.

  • Никакие значения данных в параметре Входная стоимость поверхности не считаются препятствиями, и полученный путь будет проходить вокруг этих областей. Если не удается найти путь вокруг ячеек No Data на стоимостной поверхности, решение может оказаться невозможным, и необходимо предпринять дополнительные шаги для изменения стоимостной поверхности.

  • Запустите инструмент со значением параметра Входная стоимость поверхности в системе координат проекции, такой как универсальная поперечная проекция Меркатора (UTM).

  • У параметра Нулевая стоимость обрабатывается, как опция Маленькое положительное оценивается по размеру входного растра стоимости и максимальному значению стоимости по сравнению с пределами точности алгоритма расчета пути. Это делается для того, чтобы снизить вероятность возникновения тупиков при создании выходного пути. Небольшое положительное значение оценивается как

    max(height_of_cost_raster, width_of_cost_raster) * max_cost_value / 100000
    .

  • Новые поля StartID и DestID добавляются к значению параметра Выходной класс объектов пути. Эти поля представляют начальную и конечную точки, между которыми проходят линии.

  • Начальная и конечная точки будут скопированы в выходное местоположение и будут содержать имя значения Выходной класс объектов пути с добавлением _start и _end.

Параметры

ПодписьОписаниеТип данных
Входная стоимостная поверхность

Входной растр, который будет использоваться для определения стоимости перемещения от начальной до конечной точки. Значения No Data пересекаться не будут.

Raster Layer
Входная начальная точка

Объект входной начальной точки. Использование нескольких начальных точек может значительно увеличить время обработки.

Feature Set
Входная конечная точка

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

Feature Set
Выходной класс объектов пути

Выходной класс объектов пути.

Feature Class
Нулевая стоимость обрабатывается, как
(Дополнительный)

Определяет, как будут обрабатываться нулевые значения параметра Входная стоимостная поверхность.

  • Маленькое положительноеВсе нули будут заменены на маленькие положительные значения. Это позволит перемещаться по ячейкам. Это значение по умолчанию
  • No dataВсе нули будут изменены на значения null. Ячейки не будут пересечены и будут избегаться.
String

Производные выходные данные

ПодписьОписаниеТип данных
Выходная начальная точка

Начальная точка с назначенным символом.

Feature Class
Выходная конечная точка

Отображенная символами конечная точка.

Feature Class

arcpy.intelligence.LeastCostPath(in_cost_surface, in_start_point, in_end_point, out_path_feature_class, {handle_zeros})
ИмяОписаниеТип данных
in_cost_surface

Входной растр, который будет использоваться для определения стоимости перемещения от начальной до конечной точки. Значения No Data пересекаться не будут.

Raster Layer
in_start_point

Объект входной начальной точки. Использование нескольких начальных точек может значительно увеличить время обработки.

Feature Set
in_end_point

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

Feature Set
out_path_feature_class

Выходной класс объектов пути.

Feature Class
handle_zeros
(Дополнительный)

Определяет, как будут обрабатываться нулевые значения в параметре in_cost_surface.

  • SMALL_POSITIVEВсе нули будут заменены на маленькие положительные значения. Это позволит перемещаться по ячейкам. Это значение по умолчанию
  • NO_DATAВсе нули будут изменены на значения null. Ячейки не будут пересечены и будут избегаться.
String

Производные выходные данные

ИмяОписаниеТип данных
out_start_point

Начальная точка с назначенным символом.

Feature Class
out_end_point

Отображенная символами конечная точка.

Feature Class

Пример кода

LeastCostPath, пример 1 (окно Python)

Пример скрипта окна Python для использования функции LeastCostPath в режиме прямого запуска.

import arcpy
import os
arcpy.LeastCostPath_intelligence(r"c:\workspace\terrain.gdb\mob_cost_surf", 
                                 r"c:\workspace\startinglocation.shp",
                                 r"c:\workspace\endinglocation.shp",
                                 os.path.join(arcpy.env.scratchWorkspace, "bestpath"),
                                 "SMALL_POSITIVE")
LeastCostPath, пример 2 (автономный скрипт)

Следующий скрипт Python демонстрирует использование функции LeastCostPath в качестве автономного скрипта.

# Name: LeastCostPath_Example2.py
# Description: Generate the least cost path between an input and output point 
#              based on a cost surface.

# Import system modules
import arcpy
import os

# Set local variables
in_cost_surface = r"c:\workspace\terrain.gdb\mob_cost_surf" 
in_start_point = r"c:\workspace\startinglocation.shp" 
in_end_point = r"c:\workspace\endinglocation.shp"
out_path_feature_class = os.path.join(arcpy.env.scratchWorkspace, "bestpath")
handle_zeros = "SMALL_POSITIVE"

# Run LeastCostPath
arcpy.intelligence.LeastCostPath(in_cost_surface, in_start_point, 
                                 in_end_point, out_path_feature_class,
                                 handle_zeros)

# Report status
if arcpy.Exists(out_path_feature_class): 
    print("Path segments {}".format(arcpy.management.GetCount(out_path_feature_class)[0]))
else: 
    print("Empty output")

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

Этот инструмент не использует параметры среды геообработки

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

  • Basic: Обязательно Spatial Analyst
  • Standard: Обязательно Spatial Analyst
  • Advanced: Обязательно Spatial Analyst

Связанные разделы