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)
Parameter | Explanation | Data 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
Property | Explanation | Data 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
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")
Performs a DistanceAccumulation analysis using the VfTable class.
# 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")