VfTable

需要 Spatial Analyst 许可。

摘要

通过表文件指定的垂直系数来定义垂直成本系数和垂直相对移动角度之间的关系。

说明

此对象用于距离累积距离分配 Spatial Analyst 工具,以及路径距离路径距离分配路径距离回溯链接旧的距离工具。

垂直系数 (VF) 对象用于定义垂直成本系数和垂直相对移动角度 (VRMA) 之间的关系。

VF 定义从一个像元移至下一像元时所遇到的垂直阻力。

VRMA 标识“起始”像元或处理像元与“终止”像元之间的坡度角度。

穿过像元始终会产生相关成本(尽管该成本可能非常小);因此,不应在表中输入负垂直系数 (VF)。

跳过表格开头的所有负垂直系数,直到出现第一个正系数。 使用具有第一个正系数的条目,定义最小垂直系数角度。 读取后续表条目,直到出现另一个负系数,或到达表的末尾。 使用满足上述任一条件所到达的最后一个条目,定义最大垂直系数角度。

语法

VfTable (inTable)
参数说明数据类型
inTable

inTable 是一个 ASCII 文件,每行对应两列。第一列以度为单位标识 VRMA,第二列为 VF。每行指定一个点。两个连续的点生成 VRMA-VF 坐标系中的一条线段。

VRMA 必须按升序输入。对于所有小于第一个(最低)输入值或大于最后一个(最大)输入值的 VRMA,其 VF 系数将设置为无穷大。在 ASCII 表中,无穷大的 VF 用负值表示。

File

属性

属性说明数据类型
inTable
(可读写)

inTable 是一个 ASCII 文件,每行对应两列。第一列以度为单位标识 VRMA,第二列为 VF。每行指定一个点。两个连续的点生成 VRMA-VF 坐标系中的一条线段。

VRMA 必须按升序输入。对于所有小于第一个(最低)输入值或大于最后一个(最大)输入值的 VRMA,其 VF 系数将设置为无穷大。

String

代码示例

VfTable 示例 1(Python 窗口)

此代码示例演示了如何创建 VfTable 类以及如何在 Python 窗口的 DistanceAccumulation 工具中使用该类。

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(独立脚本)

使用 VfTable 类执行 DistanceAccumulation 分析。

# 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")

相关主题