SUMO 边类型文件
SUMO 边类型文件
文件扩展名 .typ.xml
内容类型 道路类型描述
是否开放格式?
是否 SUMO 特有?
XML 模式 types_file.xsd

一个 SUMO 边类型文件 为特定的道路类型分配某些属性的默认值。它在导入时配置 netconvert,例如,导入 SUMO XML 描述OpenStreetMap 文件ArcView 文件。类型配置保存在 XML 结构中。始终可以加载多个类型映射,并在加载附加文件时部分或完全重新定义类型。

本文首先介绍文件格式。之后,讨论 SUMO 边类型文件在特定类型地图文件上的应用,并为这些地图文件收集合理的模板。非常欢迎您为各种上下文提供额外的模板,或就现有模板展开讨论。

语法#

XML 根元素名为 types。它包含一个 type 元素的集合。一个 type 元素代表一条记录,包含以下属性:

属性名称 值类型 描述
id id (字符串) 道路类型的名称。这是唯一的强制性属性。对于 OpenStreetMap 数据,该名称可以是 highway.trunkhighway.residential。对于 ArcView 数据,道路类型的名称是一个数字。
allow 字符串 允许的车辆类别列表。类别之间用空格分隔(例如 "pedestrian bicycle")。
disallow 字符串 不允许的车辆类别列表。类别之间也用空格分隔。
discard 布尔值 如果设置为 true,则不导入该类型的边。此参数为可选,默认为 false。
numLanes 整数 一条边上的车道数。这是每个方向的默认车道数。
oneway 布尔值 如果设置为 true,则在导入期间仅创建一个方向的边(默认为 true)。(此属性对于 SUMO XML 描述没有意义,但对于 OpenStreetMap 文件等有意义。)
priority 整数 一个数字,用于确定不同道路类型之间的优先级。netconvert 根据优先级推导出交叉口的路权规则。数字从 1 开始;数字越大代表道路越重要。
speed 浮点数 默认(隐式)限速,单位为 m/s。
sidewalkWidth 浮点数 添加的人行道的默认宽度(默认为 -1,表示禁用额外的人行道)。

SUMO 车辆类别的名称如下:

  • 按所有权

    private, public_transport, public_emergency, public_authority, public_army, vip, ignoring,

  • 按尺寸

    passenger (普通汽车), hov, taxi, bus, delivery, transport, lightrail, cityrail, rail_slow, rail_fast, motorcycle, bicycle, pedestrian.

因此,SUMO 边类型文件的示例如下:

<types>
    <type id="highway.motorway" priority="13" numLanes="2" speed="44.0" />
    <type id="highway.residential" priority="4" numLanes="1" speed="13.889" />
</types>

OpenStreetMap 的模板#

SUMO 边类型文件为某些标签定义了默认值,如果在 OpenStreetMap 文件中没有为特定道路给出显式值,则使用这些默认值。因此,OpenStreetMap 标签 maxspeedlanesoneway 会覆盖这些默认值。如果地图标记正确,这些标签应仅在其值等于隐式假定的值时才被省略。在本节中,收集了包含 OpenStreetMap 在各种上下文中这些隐式值的 SUMO 边类型文件。以下 OpenStreetMap 页面有助于找出以下属性的隐式值:

正确的值很难找到,因为它们至少部分取决于立法(例如 maxspeed);这些值因国家/地区而异。进一步的上下文信息,例如道路是否在城市边界内或外,也可能决定默认值。下面给出了针对各种上下文的 SUMO 边类型文件,使用国家/地区作为主要排序标准。列表和文件仅包含与 SUMO 边对应的路径类型;不考虑节点和区域类型(如 highway=services)。非常欢迎您为各种上下文提供额外的模板,或就现有模板展开讨论。

德国#

在德国,限速的立法区分了城市边界内的道路和城市边界外的道路、有中央隔离带的道路和没有中央隔离带的道路,以及特殊道路,如生活区街道和步行区。这与道路的重要性没有直接联系。然而,在 OpenStreetMap 中,高速公路默认应具有这种中央隔离带 [1]。因此,限速值仅在乡村和城市上下文之间变化,但在道路类型之间不变化,高速公路、生活区街道和步行区除外。接下来给出了两个 SUMO 边类型文件,有关详细值,请查看文件。参考文献在下表中提及。乡村类型映射是在转换没有显式类型映射的 OpenStreetMap 网络时的默认映射。

id 评论
highway.motorway 高速公路。无立法限速:44.4 只是一个合理的默认值。[2][3] 在单向标签方面有点相反。
highway.motorway_link 连接路通常从属于通往主干道的道路(例如二级或三级道路)
highway.trunk 类似于高速公路 [4] [5]。车道、限速和单向应明确标记。
highway.trunk_link 连接路通常从属于通往主干道的道路(例如二级或三级道路)
highway.primary 联邦公路 [6] [7]
highway.primary_link 连接路通常从属于通往主干道的道路(例如二级或三级道路)
highway.secondary 州道、国道或主要的县道 [8] [9]
highway.secondary_link 连接路通常从属于通往主干道的道路(例如三级道路)
highway.tertiary 县道、主要的乡镇连接道路或次要的州道/道 [10] [11]
highway.tertiary_link 连接路通常从属于通往主干道的道路(例如三级道路)。
highway.unclassified 低于三级,仍然互连,不在住宅区 [12] [13] [14] [15]
highway.residential 通往住宅区的道路,可能不应在城镇外 [16] [17]
highway.living_street 交通安宁区(步行速度)。如果离开该街道,必须让行 [18]
highway.pedestrian 步行区。仅限行人。(自行车必须推行。) [19] [20]
highway.service 无明确的监管限速。通常在离开此类街道时必须让行,因为它不属于移动交通道路网络的一部分。 [21]
highway.services 带有加油站等额外服务的休息区。通常在离开此类街道时必须让行,因为它不属于移动交通道路网络的一部分。 [22]
highway.bus_guideway 仅限公共汽车。 [23]
highway.track 用于农业交通,通常不被普通车辆使用。 [24]
highway.path 通常“不适用于机动车辆”。 [25]
highway.cycleway 在德国,“仅允许自行车通行”。 [26]
highway.footway 在德国用于指定的人行道。(自行车必须明确标记。) [27] [28]
highway.bridleway 用于行人、马匹,有时也用于自行车。 [29]
highway.steps
highway.step
highway.stairs
台阶通常用于行人。 [30]
railway.rail 典型的全尺寸火车
railway.tram 有轨电车
railway.light_rail 轻轨 [31]
railway.subway 地铁 [32]
railway.preserved 历史火车 [33] [34]

OpenStreetMap 中附加交通模式的模板#

还有一些额外的模板,应在导入行人基础设施(人行道)、自行车道、船舶运动和特殊铁路时加载,并附带一些注释:

如果您的铁路有两条轨道但在 OSM 中映射为单条路径,您可能希望加载: <SUMO_HOME>/data/typemap/osmNetconvertBidiRail.typ.xml

id 评论
railway.narrow_gauge 较小的轨距。分配给 SUMO 类别 lightrail。 [35]
railway.monorail “火车在单根轨道上运行”。分配给 SUMO 类别 lightrail。 [36]
railway.funicular “缆索驱动的倾斜铁路”。分配给 SUMO 类别 cityrail。 [37] [38]

关于铁路类型的数据很少。最重要的文件可能是 Eisenbahn-Bau- und Betriebsordnung (EBO),但即使这样也没有太大帮助。因此,给出的值大多是个人观点,除非有参考文献。非常欢迎提供更多参考文献。

OpenDrive 的模板#

默认类型映射是 <SUMO_HOME>/data/typemap/opendriveNetconvert.typ.xml

还有一些额外的模板,应在导入行人基础设施(人行道)和/或自行车道时加载: