HfForward

需要 Spatial Analyst 许可。

摘要

通过向前函数定义水平成本系数和水平相对移动角度之间的关系。 该函数规定只允许向前移动。

插图

HfForward 水平系数图
向前水平系数图。

说明

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

如果某段行程的水平相对移动角度 (HRMA) 小于 45 度,则水平系数 (HF) 将设置为与 zeroFactor 相关的值。 当 HRMA 大于或等于 45 度且小于 90 度时,HF 设置为 sideValue。 如果 HRMA 大于或等于 90 度,则将 HF 设置为无穷大。

语法

HfForward ({zeroFactor}, {sideValue})
参数说明数据类型
zeroFactor

zeroFactor 将用于确定正向函数的 y 截距。

(默认值为 0.5)

Double
sideValue

确定为大于或等于 45 度且小于 90 度的 HRMA 指定的 HF 值。在上图中,sideValue 被指定为 1。

(默认值为 1.0)

Double

属性

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

zeroFactor 将用于确定函数的 y 截距。

当 HRMA 小于交角时,zeroFactor 将被指定为水平系数。

Double
sideValue
(可读写)

确定为大于或等于 45 度且小于 90 度的 HRMA 指定的 HF 值。在上图中,sideValue 被指定为 1。

Double

代码示例

HfForward 示例 1(Python 窗口)

演示了如何创建 HfForward 类以及如何在 Python 窗口的 DistanceAccumulation 工具中使用该类。

import arcpy
from arcpy import env
from arcpy.sa import *
env.workspace = "C:/sapyexamples/data"
myHorizFactor = HfForward(0.5, 1.0)
outDistAccum = DistanceAccumulation("source.shp", "barrier.tif",
                                    "elev.tif", "", "", "",
                                    "horizontalRas.tif", myHorizFactor)
outDistAccum.save("C:/sapyexamples/output/distaccumhff")
HfForward 示例 2(独立脚本)

使用 HfForward 类执行 DistanceAccumulation 分析。

# Name: HfForward_Ex_02.py
# Description: Uses the HfForward 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 HfForward Object
zeroFactor = 0.5
sideValue = 1.0
myHorizFactor = HfForward(zeroFactor, sideValue)

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

相关主题