关于#
OSM Web Wizard 提供了最简单的入门 SUMO 的方案之一。基于选择的 openstreetmap 地图片段,您可以配置随机的交通需求,并在 sumo-gui 中运行和可视化场景。本教程将引导您逐步完成从选择地图片段、定义交通需求,到在 sumo-gui 中运行和可视化场景的全过程。
要求#
入门#
OSM Web Wizard 本质上是位于 sumo 安装根目录下 tools 目录中的一组 python 脚本。您可以通过在 tools 目录中调用以下命令来启动 OSM Web Wizard:
python osmWebWizard.py
Windows 用户也可以通过点击 所有程序 -> SUMO -> OSM Web Wizard 来调用该命令。脚本运行后,浏览器应该会打开并显示柏林市中心的地图片段。

您可以缩放和平移到感兴趣的区域。注意:如果地图片段覆盖的区域非常大,模拟可能会变慢甚至无响应。我们建议选择与初始视图类似的缩放级别。
在下一步中,您选择希望生成模拟场景的实际区域。通过点击地图右侧蓝色区域选择面板中的复选框 Select Area 来激活区域选择。

您可以通过点击并按住鼠标指针在灰色和非灰色区域的边界处来更改此区域的大小和位置。一旦对区域选择满意,就可以进入下一步。
网络生成#
从 OSM 导入基础设施到 SUMO 模拟受不同 Wizard 选项的影响
- 默认情况下,“Add Polygon” 复选框被选中,会生成道路交通模拟,但所有类型的公路和铁路也会被导入(自行车道、人行道、铁路等)
- 如果选中 “left-hand Traffic” 复选框,网络将按照左侧行车规则构建。对于大多数需要此功能的地理区域,此功能会自动启用,但如果不起作用,可以使用此选项作为补救措施。
- 如果选中 “Car-only Network” 复选框,则仅包含允许乘用车通行的道路。这可用于减小网络规模,也有助于降低交叉口的复杂性。
- 如果选中 “Import Public Transport” 复选框,则将导出 busStops 和 trainStops。此外,还将生成遵循 OSM 中定义的公共交通路线的公共汽车、有轨电车和火车(但它们将遵循合成的时间表)。
- 如果需求复选框 “Bicycles” 处于活动状态,则会在 OSM 包含此信息的道路上添加额外的自行车道。
- 如果需求复选框 “Pedestrians” 处于活动状态,则会生成人行道和人行横道。
需求生成#
需求由需求生成面板定义。您可以通过点击汽车图标来激活此面板。

SUMO 支持各种交通方式。在需求生成面板中,您可以通过点击相应的复选框来激活/停用各个交通方式。对于每种交通方式,OSM Web Wizard 会基于特定的概率分布生成随机需求,该分布受两个参数影响:
- 每次生成新车辆时,OSM Web Wizard 会随机为该车辆选择出发和到达的边。Through Traffic Factor 定义了选择模拟区域边界的边的可能性是完全位于模拟区域内部的边的多少倍。Through Traffic Factor 的值越大,意味着许多车辆在模拟区域的边界出发和到达,这对应于具有大量过境交通的场景。
- Count 参数定义了每小时每车道公里生成的车辆数。假设
- 网络包含 3 条边,总长度为 5 km
- 每条边有 2 条车道,允许当前的交通方式
- 且计数值设置为 90,
- 那么将生成 5 * 2 * 90 = 900 辆车/小时。 这转化为 randomTrips 参数 p=4,意味着每 4 秒在网络中的某处插入一辆新车。
下一步是生成并运行场景。
道路类型选择#
在 OSM Web Wizard 的 Road-Type 选项卡中,可以定义要下载和渲染的道路类型。

例如,您可以只选择高速公路、主干道、次干道和支路来模拟主要交通。这会影响 OSM 地图数据的文件大小。
默认情况下,所有道路类型都被选中,这意味着下载并渲染所有道路。 取消选中需求生成部分的 “Add Polygon” 复选框会禁用下载和渲染非道路对象(如建筑物、水道等),从而减小文件大小。
生成并运行场景#
一旦点击控制面板中的 Generate Scenario,完整的场景将自动生成。场景生成需要几秒钟或几分钟(取决于场景大小等因素)。场景生成过程完成后,sumo-gui 将启动,可以通过按下 Play 按钮开始模拟。

后续步骤#
OSM Web Wizard 将整个模拟场景的 sumo 配置和中间文件存储在本地目录中,目录名格式为 yyyy-mm-dd-hh-mm-ss。如果您的 SUMO 安装位置可写,数据将存储在 tools 目录内。否则,将创建一个新目录 ~/SUMO/yyyy-mm-dd-hh-mm-ss 来存放数据。目录内容如下所示:
➜ 2016-10-17-14-54-30 ls
build.bat osm.net.xml osm.rail.rou.alt.xml osm.tram.rou.alt.xml
osm.bicycle.rou.alt.xml osm.netccfg osm.rail.rou.xml osm.tram.rou.xml
osm.bicycle.rou.xml osm.passenger.rou.alt.xml osm.rail.trips.xml osm.tram.trips.xml
osm.bicycle.trips.xml osm.passenger.rou.xml osm.rail_urban.rou.alt.xml osm.truck.rou.alt.xml
osm.bus.rou.alt.xml osm.passenger.trips.xml osm.rail_urban.rou.xml osm.truck.rou.xml
osm.bus.rou.xml osm.pedestrian.rou.alt.xml osm.rail_urban.trips.xml osm.truck.trips.xml
osm.bus.trips.xml osm.pedestrian.rou.xml osm.ship.rou.alt.xml osm.view.xml
osm.motorcycle.rou.alt.xml osm.pedestrian.trips.xml osm.ship.rou.xml osm_bbox.osm.xml
osm.motorcycle.rou.xml osm.poly.xml osm.ship.trips.xml run.bat
osm.motorcycle.trips.xml osm.polycfg osm.sumocfg
您现在可以编辑这些文件并重新运行模拟。要了解有关 SUMO 场景文件的更多信息,请查阅其他 教程。
请注意,根据您的 SUMO 版本,其中一些文件可能会有额外的 .gz 后缀。SUMO 工具(包括 sumo-gui 和 netedit)仍然可以处理它们,但要在文本编辑器中查看或修改它们,您需要解压缩它们(例如使用 gunzip 或 7z)。
