Путевое расстояние (Spatial Analyst)

Доступно с лицензией Spatial Analyst.

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

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

Инструмент Накопление расстояния предоставляет улучшенную функциональность или производительность.

Более подробно о работе инструментов путевого расстояния

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

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

  • Входные данные источников могут быть представлены классом объектов или растром.

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

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

  • При использовании данных объекта в качестве входных исходных данных следует особенно тщательно выбирать способ обработки размера выходной ячейки, если его можно охарактеризовать как грубый относительно подробных сведений во входных данных. Процесс внутренней растеризации по умолчанию использует тот же параметр Типа присвоения значений ячейкам, что и инструмент Объекты в растр, и соответствует методу Центр ячейки. Это означает, что данные, не расположенные по центру ячейки, не будут включены в промежуточные растеризованные исходные выходные данные, поэтому они не будут представлены в расчетах расстояния. Например, если источником является ряд небольших полигонов (например периметры знаний), которые невелики относительно размера выходной ячейки, возможно, что только некоторые из них попадут по центру выходных растровых ячеек, и, видимо, большинство остальных объекты будут потеряны в анализе.

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

  • Ячейки со значением NoData ведут себя как барьеры в инструментах путевого расстояния. Стоимостное расстояние для ячеек, расположенных позади ячеек со значением NoData, вычисляется с учетом совокупной стоимости, необходимой для обхода барьера из значений NoData. Любой ячейке, которой присвоено значение NoData на любом из входных растров, на всех выходных растрах также будет присвоено значение 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.

  • Этот инструмент поддерживает параллельную обработку. Если ваш компьютер имеет несколько процессоров или процессор с несколькими ядрами, то его производительность будет более высокой, особенно на больших наборах данных. Раздел справки Параллельная обработка в Spatial Analyst содержит более подробные сведения об этой возможности и способах ее настройки.

    При использовании параллельной обработки, для управления обрабатываемыми фрагментами записываются временные данные. По умолчанию, папка temp находится на локальном диске C:. Вы можете управлять расположением этой папки, настроив Переменную системной среды с именем TempFolders и указав путь к папке, которая будет использоваться (например, E:\RasterCache). Если у вас права администратора на вашей машине, вы можете также использовать ключ регистрации (например, [HKEY_CURRENT_USER\SOFTWARE\ESRI\ArcGISPro\Raster]).

    По умолчанию, этот инструмент будет использовать 50 процентов доступных ядер. Если входные данные меньше, чем 5,000 на 5,000 ячеек, может использоваться меньше ядер. Можно задавать число используемых инструментом ядер в среде Коэффициент параллельной обработки.

  • См. раздел Среда анализа и Spatial Analyst для получения дополнительной информации о среде геообработки данного инструмента.

Параметры

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

Входные местоположения источников.

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

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

Raster Layer; Feature Layer
Входной растр стоимости
(Дополнительный)

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

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

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

Raster Layer
Входной растр поверхности
(Дополнительный)

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

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

Raster Layer
Входной растр горизонтального фактора
(Дополнительный)

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

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

Raster Layer
Горизонтальный фактор
(Дополнительный)

Задает отношение между коэффициентом горизонтальной стоимости и горизонтальным углом относительного перемещения (HRMA).

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

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

Для Горизонтального фактора доступны следующие опции:

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

Модификаторы для горизонтального фактора:

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

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

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

Raster Layer
Вертикальный фактор
(Дополнительный)

Определяет отношение между фактором вертикальной стоимости и вертикальным углом относительного перемещения (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 не отрицательный.
  • Таблица – файл таблицы будет применяться для определения диаграммы вертикального фактора, используемых для определения различных VF.

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

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

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

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

Значение по умолчанию равно расстоянию до границы выходного растра.

Double
Выходной растр направления
(Дополнительный)

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

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

Если маршрут должен пройти через правую соседнюю ячейку, ячейке будет присвоено значение 1, значение 2 будет присвоено нижней правой диагональной ячейке, и так далее по часовой стрелке. Значение 0 резервируется для ячеек источников.

Позиции направления
Raster Dataset
Множитель для применения к стоимости
(Дополнительный)

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

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

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

Double; Field
Начальная стоимость
(Дополнительный)

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

Позволяет задавать фиксированную стоимость, связанную с источником. Алгоритм стоимости будет начинать с указанного значения для Начальной стоимости, а не с нуля.

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

Double; Field
Оценка стабильности накопленной стоимости
(Дополнительный)

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

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

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

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

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

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

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

Double; Field
Направление движения
(Дополнительный)

Указывает направление движения при применении горизонтального и вертикального фактора, а также коэффициента сопротивляемости источника.

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

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

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

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

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

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

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

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

Выходной растр представлен числами с плавающей точкой.

Raster

PathDistance(in_source_data, {in_cost_raster}, {in_surface_raster}, {in_horizontal_raster}, {horizontal_factor}, {in_vertical_raster}, {vertical_factor}, {maximum_distance}, {out_backlink_raster}, {source_cost_multiplier}, {source_start_cost}, {source_resistance_rate}, {source_capacity}, {source_direction})
ИмяОписаниеТип данных
in_source_data

Входные местоположения источников.

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

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

Raster Layer; Feature Layer
in_cost_raster
(Дополнительный)

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

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

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

Raster Layer
in_surface_raster
(Дополнительный)

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

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

Raster Layer
in_horizontal_raster
(Дополнительный)

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

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

Raster Layer
horizontal_factor
(Дополнительный)

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

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

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

Объект представлен в следующих формах:

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

  • HfBinary({zeroFactor}, {cutAngle})

    Если HRMA меньше порогового угла, значение HF устанавливается равным значению, связанному с нулевым фактором; в противном случае, значение равно бесконечности.

  • HfForward({zeroFactor}, {sideValue})

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

  • HfLinear({zeroFactor}, {cutAngle}, {slope})

    HF является линейной функцией HRMA.

  • HfInverseLinear({zeroFactor}, {cutAngle}, {slope})

    HF является обратной линейной функцией HRMA.

  • HfTable(inTable)

    Файл таблицы будет использоваться для определения диаграммы горизонтального фактора, используемых для определения HFs.

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

  • zeroFactor – горизонтальный фактор, используемый в случаях, когда HRMA равен 0. Этот фактор определяет точку пересечения с осью y для любой из функций горизонтального фактора.
  • cutAngle – угол HRMA, при превышении которого HF будет задан равным бесконечности.
  • slope – наклон прямой линии, используемый с ключевыми словами горизонтального фактора HfLinear и HfInverseLinear. Уклон задается как отношение подъема к расстоянию (например, 45 процентов уклона – это 1/45 (значение при вводе равно 0,02222)).
  • sideValue – HF в тех случаях, когда HRMA больше или равен 45 градусам и меньше 90 градусов, при использовании ключевого слова горизонтального фактора HfForward.
  • inTable – имя таблицы, задающей HF.

Horizontal Factor
in_vertical_raster
(Дополнительный)

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

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

Raster Layer
vertical_factor
(Дополнительный)

Объект Vertical factor определяет отношение между фактором вертикальной стоимости и вертикальным углом относительного перемещения (VRMA).

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

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

Объект представлен в следующих формах:

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

  • VfBinary({zeroFactor}, {lowCutAngle}, {highCutAngle})

    Если VRMA больше нижнего порогового угла и меньше верхнего порогового угла, значение VF устанавливается равным значению, связанному с нулевым фактором; в противном случае, значение равно бесконечности.

  • VfLinear({zeroFactor}, {lowCutAngle}, {highCutAngle}, {slope})

    VF является линейной функцией VRMA.

  • VfInverseLinear({zeroFactor}, {lowCutAngle}, {highCutAngle}, {slope})

    VF является обратной линейной функцией VRMA.

  • VfSymLinear({zeroFactor}, {lowCutAngle}, {highCutAngle}, {slope})

    VF является линейной функцией VRMA либо с положительной, либо с отрицательной стороны VRMA, соответственно; эти две линейные функции симметричны относительно оси VF (оси y).

  • VfSymInverseLinear({zeroFactor}, {lowCutAngle}, {highCutAngle}, {slope})

    VF является обратной линейной функцией VRMA либо с положительной, либо с отрицательной стороны VRMA, соответственно; эти две линейные функции симметричны относительно оси VF (оси y).

  • VfCos({lowCutAngle}, {highCutAngle}, {cosPower})

    VF является функцией косинуса VRMA.

  • VfSec({lowCutAngle}, {highCutAngle}, {secPower})

    VF является функцией секанса VRMA.

  • VfCosSec({lowCutAngle}, {highCutAngle}, {cosPower}, {secPower})

    VF является косинусом угла VRMA, когда VRMA отрицательный, и секансом угла VRMA, когда VRMA не отрицательный.

  • VfSecCos({lowCutAngle}, {highCutAngle}, {secPower}, {cos_power})

    VF является секансом угла VRMA, когда VRMA отрицательный, и косинусом угла VRMA, когда VRMA не отрицательный.

  • VfTable(inTable)

    Файл таблицы будет применяться для определения диаграммы вертикального фактора, используемых для определения различных VF.

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

  • zeroFactor – вертикальный фактор, используемый в случаях, когда VRMA равен 0. Этот фактор определяет точку пересечения с осью y для указанной функции. По определению, нулевой фактор не применим ни к одной из тригонометрических вертикальных функций (Cos, Sec, Cos-Sec или Sec-Cos). Пересечение с осью Y устанавливается этими функциями.
  • lowCutAngle – значение угла VRMA, ниже которого VF будет задан равным бесконечности.
  • highCutAngle – значение угла VRMA, выше которого VF будет задан равным бесконечности.
  • slope – наклон прямой линии, используемый с параметрами VfLinear и VfInverseLinear. Уклон задается как отношение подъема к расстоянию (например, 45 процентов уклона – это 1/45 (значение при вводе равно 0,02222)).
  • inTable – имя таблицы, задающей VF.
Vertical Factor
maximum_distance
(Дополнительный)

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

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

Значение по умолчанию равно расстоянию до границы выходного растра.

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

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

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

Если маршрут должен пройти через правую соседнюю ячейку, ячейке будет присвоено значение 1, значение 2 будет присвоено нижней правой диагональной ячейке, и так далее по часовой стрелке. Значение 0 резервируется для ячеек источников.

Позиции направления
Raster Dataset
source_cost_multiplier
(Дополнительный)

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Указывает направление движения при применении горизонтального и вертикального фактора, а также коэффициента сопротивляемости источника.

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

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

String; Field

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

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

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

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

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

Выходной растр представлен числами с плавающей точкой.

Raster

Пример кода

Путевое расстояние. Пример 1 (окно Python)

В следующем скрипте окна Python показано, как используется инструмент PathDistance.

import arcpy
from arcpy import env
from arcpy.sa import *
env.workspace = "C:/sapyexamples/data"
outPathDist = PathDistance("observers.shp", "costraster", "elevation", "hfraster",
                            HfForward(0.5, 1.0), "elevation", VfBinary(1.0, -30, 30),  
                            "", "c:/sapyexamples/output/backlinkpath", "Multiplier", "StartCost", "Resistance", 500000)
outPathDist.save("c:/sapyexamples/output/pathdistout")
Путевое расстояние. Пример 2 (автономный скрипт)

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

# Name: PathDistance_Ex_02.py
# Description: Calculates, for each cell, the least accumulative 
#              cost distance to the nearest source, while accounting 
#              for surface distance and horizontal and vertical 
#              cost factors.  
# 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
inSource = "observers.shp"
inCostRast = "costraster"
inElev = "elevation"

# The horizontal factor
inHoriz = "backlink2"
# Create the HfForward Object
zeroFactor = 0.5
sideValue = 1.0
myHorizFactor = HfForward(zeroFactor, sideValue)

#The vertical factor
inVertical = "focalcost.tif"
# Create the VfBinary Object
zeroFactor = 1.0
lowCutAngle = -30
highCutAngle = 30
myVerticalFactor = VfBinary(zeroFactor, lowCutAngle, highCutAngle)

maxDist = 50000
optBacklinkOut = "c:/sapyexamples/output/pathbacklink"

# Execute PathDistance
outPathDist = PathDistance(inSource, inCostRast, inElev, inHoriz, 
                           myHorizFactor, inVertical, myVerticalFactor, 
                           maxDist, optBacklinkOut)

# Save the output 
outPathDist.save("c:/sapyexamples/output/pathdistout02")

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