需要 Spatial Analyst 许可。
摘要
通过指定表文件,定义水平成本系数与水平相对移动角度之间的关系。 表文件标识了用于确定水平系数的水平系数图。
语法
HfTable (inTable)
参数 | 说明 | 数据类型 |
inTable | inTable 是一个 ASCII 文件,每行对应两列。第一列以度为单位标识 HRMA,第二列为 HF。每行指定一个点。两个连续的点生成 HRMA-HF 坐标系中的一条线段。角度必须按升序输入。对于所有小于第一个(最低)输入值或大于最后一个(最大)输入值的 HRMA 角度,其 HF 系数将设置为无穷大。在 ASCII 文件中,无穷大的 HF 表示为 -1。 | File |
属性
属性 | 说明 | 数据类型 |
inTable (可读写) | inTable 是一个 ASCII 文件,每行对应两列。第一列以度为单位标识 HRMA,第二列为 HF。每行指定一个点。两个连续的点生成 HRMA-HF 坐标系中的一条线段。角度必须按升序输入。对于所有小于第一个(最低)输入值或大于最后一个(最大)输入值的 HRMA 角度,其 HF 系数将设置为无穷大。在 ASCII 文件中,无穷大的 HF 表示为 -1。 | String |
代码示例
演示了如何创建 HfTable 类以及如何在 Python 窗口的 DistanceAccumulation 工具中使用该类。
import arcpy
from arcpy import env
from arcpy.sa import *
env.workspace = "C:/sapyexamples/data"
myHorizFactor = HfTable("hffile.txt")
outDistAccum = DistanceAccumulation("source.shp", "barrier.tif",
"elev.tif", "", "", "",
"horizontalRas.tif", myHorizFactor)
outDistAccum.save("C:/sapyexamples/output/distaccumhft")
使用 HfTable 类执行 DistanceAccumulation 分析。
# Name: HfTable_Ex_02.py
# Description: Uses the HfTable 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 = "sourcepts.shp"
inSurfaceRaster = "elevation.tif"
inHorizontalRaster = "horizontalRas.tif"
# Create the HfTable Object
inTable = "hffile.txt"
myHorizFactor = HfTable(inTable)
# Check out the ArcGIS Spatial Analyst extension license
arcpy.CheckOutExtension("Spatial")
# Execute PathDistance
outDistAccum = DistanceAccumulation(inSourceData,"", inSurfaceRaster,"","",
"", inHorizontalRaster, myHorizFactor)
# Save the output
outDistAccum.save("C:/sapyexamples/output/distaccumhft2")