| SUMO 边类型文件 | |
|---|---|
| 文件扩展名 | .typ.xml |
| 内容类型 | 道路类型描述 |
| 是否开放格式? | 是 |
| 是否 SUMO 特有? | 是 |
| XML 模式 | types_file.xsd |
一个 SUMO 边类型文件 为特定的道路类型分配某些属性的默认值。它在导入时配置 netconvert,例如,导入 SUMO XML 描述、OpenStreetMap 文件 或 ArcView 文件。类型配置保存在 XML 结构中。始终可以加载多个类型映射,并在加载附加文件时部分或完全重新定义类型。
本文首先介绍文件格式。之后,讨论 SUMO 边类型文件在特定类型地图文件上的应用,并为这些地图文件收集合理的模板。非常欢迎您为各种上下文提供额外的模板,或就现有模板展开讨论。
语法#
XML 根元素名为 types。它包含一个 type 元素的集合。一个 type 元素代表一条记录,包含以下属性:
| 属性名称 | 值类型 | 描述 |
|---|---|---|
| id | id (字符串) | 道路类型的名称。这是唯一的强制性属性。对于 OpenStreetMap 数据,该名称可以是 highway.trunk 或 highway.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 标签 maxspeed、lanes 和 oneway 会覆盖这些默认值。如果地图标记正确,这些标签应仅在其值等于隐式假定的值时才被省略。在本节中,收集了包含 OpenStreetMap 在各种上下文中这些隐式值的 SUMO 边类型文件。以下 OpenStreetMap 页面有助于找出以下属性的隐式值:
-
allow/disallow
-
numLanes
Map features, Editing standards and conventions, Key:lanes, Key:highway and Tagging scheme by country.
-
priority
-
oneway
-
speed
Key:maxspeed, OSM tags for routing/Maxspeed, Key:source:maxspeed and Key:traffic_sign. Wikipedia lists the Speed limits by country.
正确的值很难找到,因为它们至少部分取决于立法(例如 maxspeed);这些值因国家/地区而异。进一步的上下文信息,例如道路是否在城市边界内或外,也可能决定默认值。下面给出了针对各种上下文的 SUMO 边类型文件,使用国家/地区作为主要排序标准。列表和文件仅包含与 SUMO 边对应的路径类型;不考虑节点和区域类型(如 highway=services)。非常欢迎您为各种上下文提供额外的模板,或就现有模板展开讨论。
德国#
在德国,限速的立法区分了城市边界内的道路和城市边界外的道路、有中央隔离带的道路和没有中央隔离带的道路,以及特殊道路,如生活区街道和步行区。这与道路的重要性没有直接联系。然而,在 OpenStreetMap 中,高速公路默认应具有这种中央隔离带 [1]。因此,限速值仅在乡村和城市上下文之间变化,但在道路类型之间不变化,高速公路、生活区街道和步行区除外。接下来给出了两个 SUMO 边类型文件,有关详细值,请查看文件。参考文献在下表中提及。乡村类型映射是在转换没有显式类型映射的 OpenStreetMap 网络时的默认映射。
- <SUMO_HOME>/data/typemap/osmNetconvert.typ.xml
- <SUMO_HOME>/data/typemap/osmNetconvertUrbanDe.typ.xml
| 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 中附加交通模式的模板#
还有一些额外的模板,应在导入行人基础设施(人行道)、自行车道、船舶运动和特殊铁路时加载,并附带一些注释:
- <SUMO_HOME>/data/typemap/osmNetconvertPedestrians.typ.xml
- <SUMO_HOME>/data/typemap/osmNetconvertBicycle.typ.xml
- <SUMO_HOME>/data/typemap/osmNetconvertShips.typ.xml
- <SUMO_HOME>/data/typemap/osmNetconvertExtraRail.typ.xml
如果您的铁路有两条轨道但在 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。
还有一些额外的模板,应在导入行人基础设施(人行道)和/或自行车道时加载:
