Skip to main content

VfBinary

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

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

Диаграмма вертикального фактора VfBinary

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

Обсуждение

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

Объект вертикальный фактор (VF) определяет отношение между вертикальным фактором стоимости и вертикальным относительным углом движения (VRMA).

VF определяет вертикальную трудность, возникающую при переходе от одной ячейки к другой.

VRMA определяет угол наклона между ячейкой ОТ или обрабатываемой ячейкой и ячейкой ДО.

Когда VRMA больше, чем нижний пороговый угол, и меньше, чем верхний пороговый угол, VF для движения между двумя ячейками устанавливается равным значению, связанному с zeroFactor. Если VRMA больше highCutAngle или ниже lowCutAngle, VF устанавливается на бесконечность.

Синтаксис

VfBinary({zeroFactor}, {lowCutAngle}, {highCutAngle})

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

zeroFactor

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

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

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

Double

lowCutAngle

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

Значение VRMA, определяющее нижний порог, ниже которого значения VF устанавливаются равными бесконечности.

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

Double

highCutAngle

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

Значение VRMA, определяющее верхний порог, выше которого значения VF устанавливаются равными бесконечности.

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

Double

Свойства

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

zeroFactor

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

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

Double

lowCutAngle

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

Значение VRMA в градусах, определяющее нижний порог, ниже которого значения VF устанавливаются равными бесконечности.

Double

highCutAngle

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

Значение VRMA в градусах, определяющее верхний порог, выше которого значения VF устанавливаются равными бесконечности.

Double

Пример кода

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

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

import arcpy
from arcpy import env
from arcpy.sa import *
env.workspace = "C:/sapyexamples/data"
myVerticalFactor = VfBinary(1.0, -30, 30)
outDistAccum = DistanceAccumulation("Source.shp", "", "elev.tif",
                                   "cost.tif", "elev.tif",
                                    myVerticalFactor)
outDistAccum.save("C:/sapyexamples/output/distAccumVfB.tif")
VfBinary, пример 2 (автономный скрипт)

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

# Name: VfBinary_Ex_02.py
# Description: Uses the VfBinary 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 = "source.shp"
inCostRaster = "costraster.tif"
inElevation = "elev.tif"

# Create the VfBinary Object
zeroFactor = 1.0
lowCutAngle = -30
highCutAngle = 30
myVerticalFactor = VfBinary(zeroFactor, lowCutAngle, highCutAngle)

# Run DistanceAccumulation
outDistAccum = DistanceAccumulation(inSourceData, "", inElevation,
                                    inCostRaster, inElevation,
                                    myVerticalFactor)

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