VfBidirHikingTime

需要 Spatial Analyst 许可。

摘要

通过双向徒步旅行函数定义垂直成本系数和垂直相对移动角度之间的关系。

插图

距离函数图像的 VfBidirHikingTime 垂直系数

说明

双向徒步旅行函数使用最佳路径确定在往返徒步旅行路线上沿一个方向徒步旅行的平均时间。 垂直系数基于托布勒徒步旅行函数的倒数,但它使用平均值,且结果是以小时为单位的配速。 公式将根据地图单位进行调整。

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

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

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

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

当 VRMA 大于切削角上限且小于切削角下限时,在两个像元之间移动的 VF 设置为源自函数的值。 如果 VRMA 大于 highCutAngle 值或小于 lowCutAngle 值,则 VF 设置为无穷大。

托布勒徒步旅行函数的公式如下:

托布勒徒步旅行函数

VfHikingTime 的公式(即托布勒徒步旅行函数的倒数)如下所示:

配速或徒步旅行时间函数

VfBidirHikingTime 的公式是使用正角度和负角度得出的平均徒步旅行时间:

双向徒步旅行函数

其中 d 是用于计算坡度的角度。

注:

有关托布勒徒步旅行函数的其他信息,请参阅地理处理工具帮助中的使用垂直系数调整遇到的距离和以下资源:

  • Tobler, Waldo. 1993. 地理分析与模型三篇论文:非各向同性地理建模;地理学的几何特征的猜测;全球空间分析 (93-1)。 检索自 https://escholarship.org/uc/item/05r820mz

语法

VfBidirHikingTime ({lowCutAngle}, {highCutAngle})
参数说明数据类型
lowCutAngle

The VRMA degree defining the lower threshold, below which (less than) the VFs are set to infinity.

(默认值为 -70.0)

Double
highCutAngle

The VRMA degree defining the upper threshold, beyond which (larger than) the VFs are set to infinity.

(默认值为 70.0)

Double

属性

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

用于定义阈值下限的 VRMA 度数,如果低于(小于)该值,则将 VF 设置为无穷大。

Double
highCutAngle
(可读写)

用于定义阈值上限的 VRMA 度数,如果高于(大于)该值,则将 VF 设置为无穷大。

Double

代码示例

VfBidirHikingTime 示例 1(Python 窗口)

此代码示例演示了如何创建 VfBidirHikingTime 类并在 Python 窗口中的距离累积工具中使用它。

import arcpy
from arcpy import env
from arcpy.sa import *
env.workspace = "C:/sapyexamples/data"
myVerticalFactor = VfBidirHikingTime(-30, 30)
outDistAccum = DistanceAccumulation("Source.shp", "", "elev.tif",
                                   "cost.tif", "elev.tif",
                                    myVerticalFactor)
outDistAccum.save("C:/sapyexamples/output/distAccumVfBH.tif")
VfBidirHikingTime 示例 2(独立脚本)

使用距离累积工具和 VfBidirHikingTime 类执行距离累积分析。

# Name: VfBidirHikingTime_Ex_02.py
# Description: Uses the VfBidirHikingTime 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 VfBidirHikingTime Object
lowCutAngle = -30
highCutAngle = 30
myVerticalFactor = VfBidirHikingTime(lowCutAngle, highCutAngle)

# Check out the ArcGIS Spatial Analyst extension license
arcpy.CheckOutExtension("Spatial")

# Run DistanceAccumulation
outDistAccum = DistanceAccumulation(inSourceData, "", inElevation,
                                    inCostRaster, inElevation,
                                    myVerticalFactor)

# Save the output 
outDistAccum.save("C:/sapyexamples/output/distaccumvfBH2.tif")

相关主题