所有笔记
工具教程2025年5月9 分钟阅读2,300

SUMO 仿真:从路网构建到信号优化的一次实践

为什么从路网开始

在 SUMO 中,一切仿真都始于一张路网。路网的质量决定了后续配时、需求、结果分析的可信度。我习惯用 OSM 作为起点,但 OSM 是为导航而生,不是为仿真而生——它包含大量无关的细节,又缺少仿真需要的车道数与转向连接。

netconvert 的取舍

bash
netconvert --osm-files area.osm.xml \ --geometry.remove --roundabouts.guess \ --ramps.guess --junctions.join \ --tls.guess-signals --tls.join \ -o net.net.xml

几个关键开关的含义:

  • --geometry.remove:合并共线的多余节点
  • --ramps.guess:猜测匝道,避免主干道被错误降级
  • --junctions.join:把复杂交叉口合并为单一节点

一个易踩的坑

OSM 中的车道数经常缺失,netconvert 会按道路等级默认推导。但这与真实情况往往差一个量级。我的做法是用 Python 脚本结合街景抽样校验,再写回 *.edg.xml

仿真的第一原则:垃圾进,垃圾出。路网校验值得花两倍的时间。

下一步

路网就绪后,下一步是需求。我会在下一篇笔记里讲如何用 OD 矩阵与 duarouter 生成符合早晚高峰形态的流量。

工具教程交通工程研究笔记