TravelMode
汇总
可以提供出行模式属性的读写权限。
讨论
TravelMode 对象可提供出行模式属性的读写权限。出行模式可在 网络数据集 上创建,或可在 门户网络服务 上配置并对交通模式(汽车行驶时间、步行距离、货车行驶时间、高度为 13 英尺且重量为 80,000 磅的货车的行驶时间等)进行建模。模式创建完成后,可以将其用作网络分析问题的输入以控制行驶行为。
要在网络分析中使用出行模式,您可以创建一个 TravelMode 对象并根据需要修改其属性。
GetTravelModes 函数可用于访问网络数据源上现有的 TravelMode 对象。在创建新 TravelMode 对象时,您可以将这些现有 TravelMode 对象中的一个用作模板。
注意:
尽管您可以修改从 GetTravelModes 函数中获得的 TravelMode 对象,但并不建议您这样做。对这些 TravelMode 对象进行的修改无法保存回网络数据源,且如果您在分析中使用经过修改的 TravelMode 对象,则可能会出现命名冲突。最佳的做法是,始终根据现有的出行模式创建新的出行模式,并修改新出行模式的属性。
语法
TravelMode({template_travel_mode})
| 名称 | 说明 | 数据类型 |
|---|---|---|
|
template_travel_mode (可选) |
要用作待创建对象的模板的现有 如果未指定模板或使用了值 None ,则系统将创建空白 |
Object |
属性
| 名称 | 说明 | 数据类型 |
|---|---|---|
|
attributeParameters (读取和写入) |
列出出行模式使用的参数化属性。 该属性为一个字典。 该字典关键字是由属性名称和参数名称这两个值组成的元组。 字典中每个项目的值均为参数值。 空字典表示出行模式使用网络数据集的当前默认参数。 参数化的网络属性用于对属性值的某个动态方面进行建模。 例如,可使用某个参数对高度限制为 12 英尺的隧道进行建模。 可将以英尺为单位的车辆高度指定为属性参数值。 如果车辆高度超过 12 英尺,此限制条件将评估为 要从默认值更新各个属性参数值,必须调用当前
|
Dictionary |
|
description (读取和写入) |
出行模式的简短文本描述。 |
String |
|
distanceAttributeName (读取和写入) |
指定基于距离的成本属性以便报告方向和求解车辆配送。 即使对行驶时间和步行时间建模的出行模式也会将 |
String |
|
impedance (读取和写入) |
用作阻抗的网络成本属性。 解决网络分析问题时,该成本属性将最小化。 对汽车行驶时间建模的出行模式将指示一个计算汽车遍历一条边或街段所用时间的成本属性。 相反,“步行时间”出行模式具有一个计算沿边缘或街道步行所用时间的成本属性。 将为行驶距离或步行距离出行模式设置基于距离的成本属性,例如 |
String |
|
name (读取和写入) |
出行模式的唯一名称。 |
String |
|
restrictions (读取和写入) |
使用此出行模式解决网络分析问题时使用的限制属性列表。 空列表 限制可以防止在具有特定特征的道路上行驶。 |
String |
|
simplificationTolerance (读取和写入) |
指定出行模式是否概化分析结果的几何以及概化程度。 语法为 "<value> <units>",例如: 较大的简化值会降低带宽要求并缩短渲染时间,但输出线和面要素不会很清晰,特别是当您在地图上进行放大时。 步行模式通常不会像驾车模式一样较大程度地简化输出路径。 行人路径将以更大的地图比例显示,因此路径线需要更多详细信息。 |
String |
|
timeAttributeName (读取和写入) |
指示基于时间的成本属性以便报告方向。 对基于时间的出行模式进行建模时, |
String |
|
type (读取和写入) |
指示该出行模式表示的出行类别或车辆。 以下是可能值列表:
|
String |
|
useHierarchy (读取和写入) |
指示出行模式是否在执行分析时使用等级属性。 以下是可能值列表:
|
String |
|
uTurns (读取和写入) |
指示求解程序如何处理网络遍历时在交汇点处产生的 U 形转弯。 以下是可能值列表:
|
String |
代码示例
此示例演示了如何打印 TravelMode 对象的属性。
import arcpy
network = r"C:/Data/SanFrancisco.gdb/Transportation/Streets_ND"
# Get all travel modes from the network dataset
travel_modes = arcpy.na.GetTravelModes(network)
# Print the impedance attribute and restrictions used for each travel mode
for travel_mode_name in travel_modes:
travel_mode = travel_modes[travel_mode_name]
print(travel_mode_name)
print("Impedance:", travel_mode.impedance)
print("Restrictions:", ", ".join(travel_mode.restrictions))
print("")
此示例将显示如何更新 TravelMode 属性并在分析中使用经过更新的出行模式。
import arcpy
network = r"C:/Data/SanFrancisco.gdb/Transportation/Streets_ND"
# Get all travel modes from the network dataset
travel_modes = arcpy.na.GetTravelModes(network)
# Construct a new TravelMode object from the existing Driving Time travel mode
new_travel_mode = arcpy.na.TravelMode(travel_modes["Driving Time"])
# Update the useHierarchy property to turn hierarchy off, and update the name
new_travel_mode.name = "Driving Time without Hierarchy"
new_travel_mode.useHierarchy = "NO_HIERARCHY"
# Use the new travel mode object when creating an OD cost matrix analysis layer
arcpy.na.MakeODCostMatrixAnalysisLayer(network, "OD Cost Matrix", new_travel_mode)