HfInverseLinear

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

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

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

Иллюстрация

Диаграмма горизонтального фактора 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)

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

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

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

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