Skip to main content

HfInverseLinear

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

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

Диаграмма горизонтального фактора HfInverseLinear

Диаграмма обратного линейного горизонтального фактора.

Обсуждение

Этот объект используется в инструментах Накопление расстояния и Распределение по расстоянию Spatial Analyst, а также в устаревших инструментах расстояния Путевое расстояние, Распределение по путевому расстоянию и Путевое направление.

Горизонтальные факторы (HF) определяются обратными значениями для прямой линии в системе координат угла отклонения от горизонтали (HRMA)-HF. Линия пересекает ось y, соответствующую HF, в значении, равном zeroFactor. Угол наклона линии может быть задан с помощью модификатора уклон. Если slope не задан, значение по умолчанию равно -2/180 или -1/90 (задается как значение -0.01111).

Синтаксис

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

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

zeroFactor

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

Фактор zeroFactor будет использоваться для определения местоположения точки пересечения с осью y для обратной линейной функции.

(Значение по умолчанию — 2.0)

Double

cutAngle

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

Параметр cutAngle задает пороговое значение угла HRMA, выше которого горизонтальные факторы становятся равными бесконечности.

(Значение по умолчанию — 180.0)

Double

slope

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

Определяет уклон прямой линии в системе координат "HRMA-HF". Значение уклона задается в виде подъема над протяженностью. Например, 30-градусный уклон обозначается 1/30, задается в виде 0,03333 (подъем/протяженность: 1 горизонтальный фактор HF по оси y / 30 градусов по оси x); 90-градусный уклон обозначается 0,011111.

(Значение по умолчанию — -0.011111)

Double

Свойства

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

zeroFactor

(Чтение / Запись)

Фактор zeroFactor будет использоваться для определения точки пересечения с осью y для данной функции.

Фактор zeroFactor присваивается в качестве горизонтального фактора когда значение HRMA меньше значения порогового угла.

Double

cutAngle

(Чтение / Запись)

Параметр cutAngle задает пороговое значение угла HRMA, выше которого горизонтальные факторы становятся равными бесконечности.

Когда величина угла HRMA меньше, чем cutAngle, при задании нулевого фактора и если величина угла HRMA превышает cutAngle, то присваивается значение бесконечности.

Double

slope

(Чтение / Запись)

Определяет уклон прямой линии в системе координат "HRMA-HF". Значение уклона задается в виде подъема над протяженностью. Например, 30-градусный уклон обозначается 1/30, задается в виде 0,03333 (подъем/протяженность: 1 горизонтальный фактор HF по оси y / 30 градусов по оси x).

Double

Пример кода

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

Иллюстрирует создание класса HfInverseLinear и его использование в инструменте DistanceAccumulation в окне Python.

import arcpy
from arcpy import env
from arcpy.sa import *
env.workspace = "C:/sapyexamples/data"
myHorizFactor = HfInverseLinear(2.0, 181.0, -0.01111)
outPathDist = PathDistance("source.shp", "costraster", "", "", myHorizFactor)
outPathDist.save("C:/sapyexamples/output/pathdisthfil")

import arcpy
from arcpy import env
from arcpy.sa import *
env.workspace = "C:/sapyexamples/data"
myHorizFactor = HfInverseLinear(2.0, 181.0, -0.01111)
outDistAccum = DistanceAccumulation("source.shp", "barrier.tif",
                                    "elev.tif", "", "", "",
                                    "horizontalRas.tif", myHorizFactor)
outDistAccum.save("C:/sapyexamples/output/distaccumhfil")
HfInverseLinear, пример 2 (автономный скрипт)

Выполняет анализ DistanceAccumulation с использованием класса HfInverseLinear.

# Name: HfInverseLinear_Ex_02.py
# Description: Uses the HfInverseLinear object to run the
#              DistanceAccumulation tool.
# 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
inSourceData = "sourcepts.shp"
inSurfaceRaster = "elevation.tif"
inHorizontalRaster = "horizontalRas.tif"

# Create the HfInverseLinear Object
zeroFactor = 2.0
cutAngle = 181.0
slope = -0.01111
myHorizFactor = HfInverseLinear(zeroFactor, cutAngle, slope)

# Run PathDistance
outDistAccum = DistanceAccumulation(inSourceData,"", inSurfaceRaster,"","",
                                    "", inHorizontalRaster, myHorizFactor)

# Save the output
outDistAccum.save("C:/sapyexamples/output/distaccumhfil2")