VfTable

Available with Spatial Analyst license.

Summary

Defines the relationship between the vertical cost factor and the vertical relative moving angle with a vertical-factor graph identifying the vertical factor specified by a table file.

Discussion

This object is used in the Distance Accumulation and Distance Allocation Spatial Analyst tools, as well as the Path Distance, Path Distance Allocation, and Path Distance Back Link Legacy Distance tools.

The vertical factor (VF) object defines the relationship between the vertical cost factor and the vertical relative moving angle (VRMA).

VF defines the vertical difficulty encountered in moving from one cell to the next.

VRMA identifies the slope angle between the FROM or processing cell and the TO cell.

There is always a cost associated with traveling through a cell (though that cost can be very small); therefore, no negative vertical factors (VF) should be entered into the table.

All negative vertical factors at the beginning of the table are skipped until the first positive factor is encountered. The entry with the first positive factor defines the minimum vertical factor angle. Subsequent table entries are read until another negative factor is encountered, or the end of the table is reached. The last entry reached before either of these conditions was encountered defines the maximum vertical factor angle.

Syntax

VfTable (inTable)
ParameterExplanationData Type
inTable

The inTable is an ASCII file with two columns on each line. The first column identifies the VRMA in degrees, and the second, the VF. Each line specifies a point. Two consecutive points produce a line segment in the VRMA-VF coordinate system.

The VRMAs must be input in ascending order. The VF factor for any VRMA less than the first (lowest) input value or larger than the final (largest) input will be set to infinity. An infinite VF is represented by a negative value in the ASCII table.

File

Properties

PropertyExplanationData Type
inTable
(Read and Write)

The inTable is an ASCII file with two columns on each line. The first column identifies the VRMA in degrees, and the second, the VF. Each line specifies a point. Two consecutive points produce a line segment in the VRMA-VF coordinate system.

The VRMAs must be input in ascending order. The VF factor for any VRMA less than the first (lowest) input value or larger than the final (largest) input will be set to infinity.

String

Code sample

VfTable example 1 (Python window)

This code sample demonstrates how to create a VfTable class and use it in the DistanceAccumulation tool within the Python window.

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 example 2 (stand-alone script)

Performs a DistanceAccumulation analysis using the VfTable class.

# Name: VfTable_Ex_02.py
# Description: Uses the VfTable object to execute the PathDistance 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"

# Create the VfTable Object
inTable = "vffile.txt"
myVerticalFactor = VfTable(inTable)

# Execute PathDistance
outPathDist = PathDistance(inSourceData, inCostRaster, "", "", "", "",
                           myVerticalFactor)

# Save the output 
outPathDist.save("C:/sapyexamples/output/pathdistvft2")

Related topics