Доступно с лицензией Spatial Analyst.
Краткая информация
Определяет отношение между горизонтальным фактором стоимости и углом отклонения от горизонтали с помощью линейной функции. Функция указывает, что горизонтальный фактор связан линейным отношением с углом отклонения от горизонтали.
Иллюстрация
Обсуждение
Этот объект используется в инструментах Накопление расстояния и Распределение по расстоянию Spatial Analyst, а также в устаревших инструментах расстояния Путевое расстояние, Распределение по путевому расстоянию и Путевое направление.
Горизонтальные факторы (HF) задаются прямой линией в системе координат угла отклонения от горизонтали (HRMA)-HF. Линия пересекает ось y, соответствующую HF, в значении, равном zeroFactor. Угол наклона линии может быть задан с применением модификатора slope. Если уклон не задан, значение по умолчанию равно 0,5/45 или 1/90 (задается в виде 0,01111).
Синтаксис
HfLinear ({zeroFactor}, {cutAngle}, {slope})
Параметр | Описание | Тип данных |
zeroFactor | Фактор zeroFactor будет использоваться для определения местоположения точки пересечения с осью y для линейной функции. (Значение по умолчанию — 0.5) | Double |
cutAngle | Параметр cutAngle задает пороговое значение угла HRMA, выше которого горизонтальные факторы становятся равными бесконечности. (Значение по умолчанию — 181.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 |
Пример кода
Иллюстрирует создание класса HfLinear и его использование в инструменте DistanceAccumulation в окне Python.
import arcpy
from arcpy import env
from arcpy.sa import *
env.workspace = "C:/sapyexamples/data"
myHorizFactor = HfLinear(0.5, 181.0, 0.01111)
outDistAccum = DistanceAccumulation("source.shp", "barrier.tif",
"elev.tif", "", "", "",
"horizontalRas.tif", myHorizFactor)
outDistAccum.save("C:/sapyexamples/output/distaccumhfL")
Выполняет анализ DistanceAccumulation с использованием класса HfLinear.
# Name: HfLinear_Ex_02.py
# Description: Uses the HfLinear 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 HfLinear Object
zeroFactor = 0.5
cutAngle = 181.0
slope = 0.01111
myHorizFactor = HfLinear(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/distaccumhfl2")