描述
提供对出行模式的属性和值的读取权限。GetTravelModes 函数用于获取 TravelMode 对象。
讨论
TravelMode 对象提供对出行模式以及定义出行模式的属性和值的只读权限。出行模式在网络数据集上创建并对交通模式(汽车行驶时间、步行距离、货车行驶时间、高度为 13 英尺且重量为 80,000 磅的货车的行驶时间等)进行建模。模式创建完成后,可使用图层的 ApplyTravelMode 方法将其应用于网络分析图层。通过应用出行模式,可以跳过对定义出行模式的各个属性进行定义的步骤,因为出行模式的属性值会覆盖网络分析图层上的相似属性值。
属性
属性 | 说明 | 数据类型 |
attributeParameters (只读) | 列出出行模式使用的参数化属性。该属性返回一个字典。该字典关键字是由属性名称和参数名称这两个值组成的元组。字典中每个项目的值均为参数值。 参数化的网络属性用于对属性值的某个动态方面进行建模。例如,可使用某个参数对高度限制为 12 英尺的隧道进行建模。可将以英尺为单位的车辆高度指定为属性参数值。如果车辆高度超过 12 英尺,此限制条件将评估为 True,从而限制车辆穿越隧道。类似的,桥梁还可以具有一个用来指定重量限制的参数。 空字典表示出行模式使用网络数据集的当前默认参数。 | Dictionary |
description (只读) | 出行模式的简短文本描述。 | String |
distanceAttributeName (只读) | 指定基于距离的成本属性以便报告方向和求解车辆配送。 即使对行驶时间和步行时间建模的出行模式也会将 distanceAttributeName 设置为基于距离的成本属性,例如 Meters。 | String |
impedance (只读) | 用于获取用作阻抗的网络成本属性。确定网络分析图层的解决方案时,该成本属性最小化。 对汽车行驶时间建模的出行模式将指示一个存储汽车遍历一条边或街段所用时间的成本属性。相反,“步行时间”出行模式具有一个存储沿边缘或街道步行所用时间的成本属性。将为行驶距离或步行距离出行模式设置基于距离的成本属性,例如 Meters。 | String |
name (只读) | 出行模式的唯一名称。 | String |
restrictionAttributeNames (只读) | 用于获取出行模式的限制属性列表。空列表 [] 表示出行模式没有限制属性。 | String |
simplificationTolerance (只读) | 指定出行模式是否概化分析结果的几何以及概化程度。语法为 "<value> <units>",例如:"10 Meters"。 较大的简化值会降低带宽要求并缩短渲染时间,但输出线和面要素不会很清晰,特别是当您在地图上进行放大时。步行模式通常不会像驾车模式一样较大程度地简化输出路径。行人路径将以更大的地图比例显示,因此路径线需要更多详细信息。 | String |
timeAttributeName (只读) | 指示基于时间的成本属性以便报告方向。 对基于时间的出行模式进行建模时,impedance 和 timeAttributeName 的值通常相同。但是,对基于距离的的出行模式进行建模时,timeAttributeName 值将描述该出行模式沿网络边移动所需的时间。例如,对于步行距离出行模式,timeAttributeName 将设置为存储步行时间的成本属性。 | String |
type (只读) | 指示该出行模式表示的出行类别或车辆。以下是可能值列表:
| String |
useHierarchy (只读) | 指示出行模式是否在执行分析时使用等级属性。以下是可能值列表:
| String |
uTurns (只读) | 指示求解程序如何处理网络遍历时在交汇点处产生的 U 形转弯。以下是可能值列表:
| String |
代码示例
TravelMode 示例(Python 窗口)
此示例演示了如何打印 TravelMode 对象的属性。
#Import modules
import os
import arcpy
#Define variables
workspace = "C:/data/SanDiego.gdb"
nds = os.path.join(workspace, "Transportation", "Streets_ND")
#Get the travel modes from the network dataset
travel_modes = arcpy.na.GetTravelModes(nds)
#print the impedance and restrictions used by each travel mode
for travel_mode_name in travel_modes:
travel_mode = travel_modes[travel_mode_name]
arcpy.AddMessage("'{0}' Travel Mode".format(travel_mode.name))
arcpy.AddMessage("=" * 15)
arcpy.AddMessage("Impedance: {0}".format(travel_mode.impedance))
arcpy.AddMessage("Restrictions: {0}".format(", " .join(travel_mode.restrictions)))
arcpy.AddMessage("\n")