VfTable

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

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

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

Обсуждение

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

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

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

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

За перемещение через ячейку всегда приходится платить (хотя эта стоимость может быть очень небольшой); поэтому в таблицу не следует вносить отрицательные вертикальные факторы (VF).

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

Синтаксис

VfTable (inTable)
ПараметрОписаниеТип данных
inTable

Таблица inTable представляет собой ASCII-файл с двумя столбцами на каждой строке. Первый столбец определяет VRMA в градусах, второй – VF. Каждая линия определяет точку. Две последовательных точки производят сегмент линии в системе координат VRMA-VF.

Значения VRMA должны вводиться в порядке возрастания. Значение вертикального фактора для каждого угла VRMA, меньшего, чем первое (самое низкое) входное значение, или большего, чем последнее (самое большое) входное значение, устанавливается равным бесконечности. Бесконечный VF в ASCII-таблице представлен отрицательным значением.

File

Свойства

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

inTable – это ASCII-файл с двумя столбцами в каждой строке. Первый столбец определяет VRMA в градусах, второй – VF. Каждая линия определяет точку. Две последовательных точки производят сегмент линии в системе координат VRMA-VF.

Значения VRMA должны вводиться в порядке возрастания. Значение вертикального фактора для каждого угла VRMA, меньшего, чем первое (самое низкое) входное значение, или большего, чем последнее (самое большое) входное значение, устанавливается равным бесконечности.

String

Пример кода

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

В этом примере кода показано, как создать класс VfTable и использовать его в инструменте Накопление расстояния в окне Python.

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

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

# Name: VfTable_Ex_02.py
# Description: Uses the VfTable 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 VfTable Object
inTable = "vffile.txt"
myVerticalFactor = VfTable(inTable)

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

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

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

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