HfBinary

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

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

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

Иллюстрация

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

Обсуждение

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

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

Синтаксис

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

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

(Нулевой фактор zeroFactor присваивается в качестве горизонтального фактора, когда величина угла HRMA меньше, чем cutAngle.)

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

Double
cutAngle

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

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

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

Double

Свойства

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

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

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

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

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

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

Double

Пример кода

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

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

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

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

# Name: HfBinary_Ex_02.py
# Description: Uses the HFBinary 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 HfBinary Object
zeroFactor = 1.0
cutAngle = 45.0
myHorizFactor = HfBinary(zeroFactor, cutAngle)

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

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

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