SUMO 中的边总是有一个 ID。它存储在标签的id="..."
属性中。<edge>
如果您将网络从其他数据格式(例如,OpenStreetMap)转换为 SUMO 的 XML 表示,您可以选择尝试使用与边缘表示的道路名称非常相似的 ID(这是您提到的选项)。默认是分配一个数字 ID。
除了在文本编辑器中打开道路网络 XML 文件外,您还可以通过在 SUMO GUI 中打开网络并右键单击边缘(或通过在 GUI 中启用边缘 ID 的呈现)来找到边缘 ID。
请注意,根据您模拟的应用程序,您需要确保在您指定的感兴趣区域 (ROI) 中没有“间隙”。当车辆不再在 ROI 中时,其对应的节点将从网络模拟中移除。即使同一辆车后来进入另一个(或相同的)ROI,也会创建一个全新的节点。这在将边缘指定为 ROI(通过roiRoads
参数)时尤为重要。请记住,SUMO 不仅使用边来表示街道,而且还表示交叉路口的车道。如果您不指定这些内部边缘,您的 ROI 将在每个交点处有小间隙。
另请注意,在 OMNeT++ 5.0 之前,IDE 中 .ini 文件的语法突出显示将(错误地)显示包含#
字符的字符串,就好像它是注释一样。这只是语法高亮的问题。模拟将按预期运行。例如,在 Veins 4.4 示例中将roiRoads
参数设置"-5445204#1 :252726232_7 -5445204#2"
为如下...
...将导致 Veins 模拟,其中仅模拟以下三个边缘之一上的汽车:
- 在通向下方交叉点的边缘上;或者
- 在穿过下方交叉点的边缘;或者
- 在离开下方交叉点的边缘。