Вычислить стоимость перемещения (Анализ растра)

Сводка

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

Иллюстрация

Пример инструмента Вычислить стоимость перемещения

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

  • Этот инструмент портала для анализа растров доступен, если вы выполнили вход в ArcGIS Enterprise Ссылка на разбор анализа в ArcGIS Enterprise портал с расширением ArcGIS Image Server Ссылка на раздел Что такое ArcGIS Image Server настроенный для Raster Analysis Ссылка на настройку и развертывание аналитики растров. При вызове инструмента сервера ArcGIS Pro являются клиентами, и обработка будет выполнятся на серверах, интегрированных с ArcGIS Enterprise. Инструмент портала использует слои портала в качестве входных данных и создает выходные данные на этом же портале.

    Параметр Входной растровый слой поддерживает следующие элементы: слой портала, URI или URL сервиса изображений, выходные данные инструмента Создать слой сервера изображений. Сходной векторный слой может быть слоем портала. Это может быть URI или URL сервиса объектов. Указанный инструмент не поддерживает локальные наборы растровых данных или слои. Хотя вы можете использовать локальные векторные данные или слои как входные данные для инструментов портала, лучше все же использовать слои портала в качестве входных данных.

  • Одним из примеров применения этого инструмента является идентификация наиболее экономного маршрута для создания новой дороге к будущей школе.

  • Когда входные данные источников – сервис изображений, набор ячеек источников состоит из всех ячеек в исходном растре, которые имеют действительные значения. Ячейки, имеющие значение NoData, не включаются в набор источников. Нулевое значение рассматривается как истинный источник.

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

  • Ячейки со значением NoData во Входном стоимостном растре расцениваются как барьеры. Любой ячейке, которой присвоено значение NoData на входной стоимостной поверхности, будет присвоено значение NoData на всех выходных растрах

  • Для сервиса изображений выходного расстояния, расстояние с наименьшей стоимостью (или минимальное суммарное стоимостное расстояние) ячейки от или до набора местоположений источников - это нижняя граница расстояний с наименьшей стоимостью от ячейки до всех местоположений источников.

  • Растр стоимости не может содержать нулевые значения, так как алгоритм представляет собой процесс с умножением. Если ваш растр стоимости содержит нулевые значения, и они представляют области наименьшей стоимости, замените нулевые значения на небольшие положительные числа (например 0,01) перед запуском инструмента Вычислить стоимость перемещения. Если области с нулевыми значениями представляют области, которые должны быть исключены из анализа, замените нулевые значения на значения NoData перед запуском инструмента Вычислить стоимость перемещения.

  • Значения по умолчанию для модификаторов Горизонтального фактора следующие:

    Keywords         Zero factor   Cut angle     Slope   Side value
    --------------   -----------   -----------   -----   ---------
    Binary           1.0            45           ~       ~
    Forward          0.5            45 (fixed)   ~       1.0
    Linear           0.5           181            1/90   ~
    Inverse linear   2.0           180           -1/90   ~
  • Значения по умолчанию для модификаторов Вертикального фактора следующие:

    Keyword                   Zero    Low    High   Slope  Power  Cos    Sec
                              factor  cut    cut                  power  power
                                      angle  angle                             
    ------------------------  ------  -----  -----  -----  -----  -----  -----
    Binary                    1.0     -30    30     ~      ~      ~      ~
    Linear                    1.0     -90    90      1/90  ~      ~      ~
    Symmetric linear          1.0     -90    90      1/90  ~      ~      ~
    Inverse linear            1.0     -45    45     -1/45  ~      ~      ~
    Symmetric inverse linear  1.0     -45    45     -1/45  ~      ~      ~
    Cos                       ~       -90    90     ~      1.0    ~      ~
    Sec                       ~       -90    90     ~      1.0    ~      ~
    Cos_sec                   ~       -90    90     ~      ~      1.0    1.0
    Sec_cos                   ~       -90    90     ~      ~      1.0    1.0
  • Характеристики начальной точки или объекта, перемещающегося от начальной точки или возвращающегося в нее, контролируются определенными параметрами. Параметр Коэффициент стоимости источника определяет режим передвижения или величину в источнике, Начальная стоимость источника задает начальную стоимость до начала движения, Степень сопротивляемости источника является динамическим сдвигом, отвечающим за влияние итоговой стоимости, симулирующим эффект усталости у путешественника, и Объем источника задает, насколько может накапливаться стоимость, прежде чем достигнет предела. Направление движения определяет, начинает ли объект движение от источника к другим местоположениям или наоборот, к источнику.

  • Если задана Начальная стоимость источника, а Направление движения выбрано как Движение от источника, исходным местоположениям на выходной поверхности стоимостного расстояния будет присвоено значение Начальной стоимости источника, иначе, им будет присвоено значение 0.

  • Если какой-либо из параметров характеристик источника указан с использованием поля, исходная характеристика будет применяться по принципу «источник-на-источник» в соответствии с информацией в данном поле для исходных данных. Если используется ключевое слово или константа, они применяются ко всем источникам.

Синтаксис

CalculateTravelCost(inputSourceRasterOrFeatures, outputDistanceName, {inputCostRaster}, {inputSurfaceRaster}, {maximumDistance}, {inputHorizontalRaster}, {horizontalFactor}, {inputVerticalRaster}, {verticalFactor}, {sourceCostMultiplier}, {sourceStartCost}, {sourceResistanceRate}, {sourceCapacity}, {sourceTravelDirection}, {outputBacklinkName}, {outputAllocationName}, {allocationField})
ParameterОбъяснениеТип данных
inputSourceRasterOrFeatures

Слой, который определяет источники для вычисления расстояний до них. Слой может быть растровым или векторным.

Raster Layer; Image Service; Feature Layer; String
outputDistanceName

Имя выходного сервиса растра расстояния.

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

String
inputCostRaster
(Дополнительный)

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

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

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

Raster Layer; Image Service; String
inputSurfaceRaster
(Дополнительный)

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

Raster Layer; Image Service; String
maximumDistance
(Дополнительный)

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

Double
inputHorizontalRaster
(Дополнительный)

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

Значения на растре должны быть целыми числами в диапазоне от 0 до 360, значение 0 градусов соответствует направлению на север, или в верхнюю часть экрана. Значения увеличиваются по часовой стрелке. Плоским участкам должно быть присвоено значение, равное -1.

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

Raster Layer; Image Service; String
horizontalFactor
(Дополнительный)

Объект Горизонтальный фактор определяет отношение между горизонтальным фактором стоимости и горизонтальным относительным углом движения.

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

В приведенных ниже пояснениях используются два сокращения: HF обозначает горизонтальный фактор, идентифицирующий определенные препятствия при продвижении от одной ячейки к другой; а HRMA обозначает относительный горизонтальный угол движения, который идентифицирует угол между направлением по горизонтали и направлением движения.

Существует несколько типов горизонтальных факторов:

  • Двоичный определяет, что если HRMA меньше порогового угла, значение HF устанавливается равным значению, связанному с нулевым фактором; в противном случае, значение равно бесконечности.
  • Вперед устанавливает, что движение возможно только вперед. HRMA должен быть больше или равен 0 и меньше 90 градусов (0 <= HRMA < 90). Если HRMA больше 0 и меньше 45 градусов, HF для ячейки задаётся равным значению, связанному с нулевым фактором. Если HRMA больше или равен 45 градусам, тогда используется модификатор бокового значения. HF для любого HRMA, больше или равного 90 градусам, задается равным бесконечности.
  • Линейный устанавливает, что HF является линейной функцией HRMA.
  • Обратный линейный задает, что HF является обратной линейной функцией HRMA.

Значение по умолчанию - бинарное.

Характеристики для горизонтальных ключевых слов:

  • Нулевой фактор устанавливает горизонтальный фактор, используемый в случаях, когда HRMA равен 0. Этот фактор определяет точку пересечения с осью y для любой из функций горизонтального фактора.
  • Пороговый угол определяет угол HRMA, при превышении которого HF будет задан равным бесконечности.
  • Уклон устанавливает наклон прямой линии, используемый с ключевыми словами горизонтального фактора Линейный и Обратный линейный. Уклон задается как отношение подъема к расстоянию (например, 45 процентов уклона – это 1/45 (значение при вводе равно 0,02222)).
  • Значение стороны устанавливает HF в тех случаях, когда HRMA больше или равен 45 градусам и меньше 90 градусов, при использовании ключевого слова горизонтального фактора Вперед.
Horizontal Factor
inputVerticalRaster
(Дополнительный)

Растр, определяющий вертикальное (z) значение для каждой ячейки.

Raster Layer; Image Service; String
verticalFactor
(Дополнительный)

Вертикальный фактор определяет отношение между вертикальным фактором стоимости и вертикальным относительным углом движения (VRMA).

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

В приведенных ниже пояснениях используются два сокращения: VF обозначает вертикальный фактор, идентифицирующий трудности преодоления разности высот, возникающие при продвижении от одной ячейки к другой; а VRMA обозначает относительный вертикальный угол движения, который идентифицирует угол уклона между анализируемой ячейкой От и ячейкой До.

Существует несколько типов вертикальных факторов:

  • Двоичный определяет, что если VRMA больше нижнего порогового угла и меньше верхнего порогового угла, значение VF устанавливается равным значению, связанному с нулевым фактором; в противном случае, значение равно бесконечности.
  • Линейный указывает на то, что VF является линейной функцией VRMA.
  • Симметричный линейный указывает на то, что VF является линейной функцией VRMA либо с положительной, либо с отрицательной стороны VRMA, соответственно; эти две линейные функции симметричны относительно оси VF (оси y).
  • Обратный линейный задает, что VF является обратной линейной функцией VRMA.
  • Симметричный обратный линейный указывает на то, что VF является обратный линейной функцией VRMA либо с положительной, либо с отрицательной стороны VRMA, соответственно; эти две линейные функции симметричны относительно оси VF (оси y).
  • Cos определяет, что VF является функцией косинуса VRMA.
  • Sec определяет, что VF является функцией секанса VRMA.
  • Cos-Sec определяет, что VF является косинусом угла VRMA, когда VRMA отрицательный, и секансом угла VRMA, когда VRMA не отрицательный.
  • Sec-Cos определяет, что VF является секансом угла VRMA, когда VRMA отрицательный, и косинусом угла VRMA, когда VRMA не отрицательный.

Значение по умолчанию - бинарное.

Характеристики для вертикальных ключевых слов:

  • Нулевой фактор устанавливает вертикальный фактор, используемый в случаях, когда VRMA равен 0. Этот фактор определяет точку пересечения с осью y для указанной функции. По определению, нулевой фактор не применим ни к одной из тригонометрических вертикальных функций (COS, SEC, COS-SEC или SEC-COS). Пересечение с осью Y устанавливается этими функциями.
  • Нижний пороговый угол определяет значение угла VRMA, ниже которого VF будет задан равным бесконечности.
  • Верхний пороговый угол определяет угол VRMA, при превышении которого VF будет задан равным бесконечности.
  • Уклон устанавливает наклон прямой линии, используемый с ключевыми словами вертикального фактора Линейный и Обратный линейный. Уклон задается как отношение подъема к расстоянию (например, 45 процентов уклона – это 1/45 (значение при вводе равно 0,02222)).
Vertical Factor
sourceCostMultiplier
(Дополнительный)

Множитель, применяемый к значениям стоимости.

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

Значения должны быть больше нуля. Значение по умолчанию равно 1.

Double; Field
sourceStartCost
(Дополнительный)

Начальная стоимость, от которой начинаются вычисления стоимости.

Позволяет задавать фиксированную стоимость, связанную с источником. Вместо начала вычисления стоимости с нуля, алгоритм стоимости начинает со значения, заданного параметром sourceStartCost.

Значения должны быть больше или равны нулю. Значение по умолчанию равно 0.

Double; Field
sourceResistanceRate
(Дополнительный)

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

Это модифицированная версия формулы начисления сложных процентов, которая используется для вычисления предполагаемой стоимости перемещения по ячейке. По мере увеличения степени сопротивления, увеличивается стоимость ячеек, посещаемых в последнюю очередь. Чем выше степень сопротивления, тем больше дополнительной стоимости добавляется для достижения следующей ячейки, которая складывается при каждом последующем передвижении. Поскольку степень сопротивления аналогична по свойствам средним темпам, а значения совокупной стоимости очень велики, рекомендуется использовать маленькие значения степени сопротивляемости (например, от 0,02 до 0,005 или даже меньше, в зависимости от совокупных значений стоимости.

Значения должны быть больше или равны нулю. Значение по умолчанию равно 0.

Double; Field
sourceCapacity
(Дополнительный)

Задает для перемещающегося объекта емкость стоимости источника.

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

Значения должны быть больше нуля. Емкость по умолчанию равна расстоянию до границы выходного растра.

Double; Field
sourceTravelDirection
(Дополнительный)

Определяет направление передвижения путешественника, если применяются горизонтальные и вертикальные факторы, степень сопротивляемости источника и начальная стоимость источника.

  • FROM_SOURCEГоризонтальный фактор, вертикальный фактор, степень сопротивляемости и начальная стоимость источника будут применены, начиная от входного источника, затем будут распространяться по другим ячейкам, не являющимися источниками. Это значение по умолчанию.
  • TO_SOURCEГоризонтальный фактор, вертикальный фактор, степень сопротивляемости и начальная стоимость источника будут применены, начиная от каждой ячейки, не являющейся источником, затем будут распространяться назад до входного источника.

Либо укажите ключевое слово FROM_SOURCE или TO_SOURCE, которое будет применяться ко всем источникам, либо укажите поле в исходных данных, содержащее эти ключевые слова, чтобы задать направление перемещения для каждого источника. Это поле должно содержать строки FROM_SOURCE или TO_SOURCE.

String
outputBacklinkName
(Дополнительный)

Имя выходного сервиса растра направления.

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

String
outputAllocationName
(Дополнительный)

Имя выходного сервиса растра распределения.

Этот растр определяет зону каждого источника (ячейки или пространственного объекта), который может быть достигнут с наименьшими суммарными затратами.

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

String
allocationField
(Дополнительный)

Поле во входном источнике, содержащее значения, определяющие каждый источник.

String

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

NameОбъяснениеТип данных
outputDistanceRaster

Выходной растр расстояния.

Растровый слой
outputBacklinkRaster

Выходной растр направления.

Растровый слой
outputAllocationRaster

Выходной растр распределения.

Растровый слой

Пример кода

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

В данном примере вычисляется стоимость перемещения от одного источника.

import arcpy
arcpy.CalculateTravelCost_ra('https://MyPortal.esri.com/server/rest/services/Hosted/reccenter/ImageServer',
                             "outDist", "inCostRas", "inSurfaceRas", "200000")
CalculateTravelCost, пример 2 (автономный скрипт)

В данном примере вычисляется стоимость перемещения от набора источников.

# Name: CalculateTravelCost_Ex_02.py
# Description: Calculates for each cell the least accumulative cost distance
#    to the nearest source over a cost  surface. 
# Requirements: ArcGIS Image Server

# Import system modules
import arcpy

# Set local variables
inSource = 'https://MyPortal.esri.com/server/rest/services/Hosted/landuse/ImageServer'
outDistName = 
inCostRast = "costraster"
inElev = "elevation"
maxDist = "50000"

inHoriz = "backlink2"
horizFactor = "FORWARD 0.5 1.0"
inVertical = "focalcost.tif"
verticalFactor = "Binary 1.0 -30 30"

sourceCostMultiplier =
sourceStartCost =
sourceResistanceRate =
sourceCapacity = 
sourceTravelDirection =

optBacklinkName = "c:/sapyexamples/output/pathbacklink"
optAlloName =
allocField = 

# Execute CalculateTravelCost
arcpy.CalculateTravelCost_ra(inSource, outDistName, inCostRast, inElev, maxDist, inHoriz, horizFactor,
                           inVertical, verticalFactor, sourceCostMultiplier, sourceStartCost,
                           sourceResistanceRate, sourceCapacity, sourceTravelDirection, optBacklinkName,
                           optAlloName, allocField)

# Execute CostDistance
outTravelCost = CalculateTravelCost(inSourceData, inCostRaster, maxDistance, outBkLinkRaster)

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

  • Basic: Требуется ArcGIS Image Server
  • Standard: Требуется ArcGIS Image Server
  • Advanced: Требуется ArcGIS Image Server

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