HfForward

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

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

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

Иллюстрация

Диаграмма горизонтального фактора HfForward
Диаграмма горизонтального фактора Вперед.

Обсуждение

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

Если угол отклонения от горизонтали (HRMA) меньше 45 градусов для участка пути, горизонтальному фактору (HF) присваивается значение, связанное с zeroFactor. Когда HRMA больше или равен 45 градусам и меньше 90 градусов, HF устанавливается равным sideValue. Если значение HRMA больше или равно 90 градусам, значение HF устанавливается равным бесконечности.

Синтаксис

HfForward ({zeroFactor}, {sideValue})
ПараметрОписаниеТип данных
zeroFactor

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

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

Double
sideValue

Определяет значение HF, которое будет присвоено углам HRMA, которые больше или равны 45 градусам и меньше 90 градусов. На диаграмме выше параметру sideValue присвоено значение 1.

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

Double

Свойства

СвойствоОписаниеТип данных
zeroFactor
(чтение и запись)

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

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

Double
sideValue
(чтение и запись)

Определяет значение HF, которое будет присвоено углам HRMA, которые больше или равны 45 градусам и меньше 90 градусов. На диаграмме выше параметру sideValue присвоено значение 1.

Double

Пример кода

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

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

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

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

# Name: HfForward_Ex_02.py
# Description: Uses the HfForward 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 HfForward Object
zeroFactor = 0.5
sideValue = 1.0
myHorizFactor = HfForward(zeroFactor, sideValue)

# 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/distaccumhfF2")

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