我使用相扑 0.21.0, omnet ++ 4.6,静脉 3.0 我成功地将我的交通移动性模拟(相扑)与网络模拟(omnet ++)联系起来。 在相扑文件中有车辆路线的流动,
<vType accel="2.0" decel="2.0" id="CarA" length="5.0" maxSpeed="15.0" minGap="2.5" sigma="0" vClass="passenger"/>
<vType accel="2.0" color="0,1,0" decel="2.0" guiShape="bus" id="BUS" length="10" maxSpeed="12.0" minGap="2.5" sigma="0" speedDev="0.1" speedFactor="1.2" vClass="bus"/>
`<flow begin="0" id="Bus1001" period="510" type="BUS" departSpeed="12" departLane="0">
<route edges="D1"/>
<stop busStop="busstop1" duration="8.470000284081323"/>
</flow>
<flow begin="0" color="0,0,1" id="car0" period="30" type="CarA" departSpeed="15" departLane="1">
<route edges="D1"/>
</flow>`
有2种类型的车辆BUS和CarA。
我想使用相扑车辆ID 作为omnet ++中的节点ID,并区分车辆和公交车。
我读到了关于添加getExternalId()
的内容,但我找不到任何明确和详细的解释,它是如何工作的,以及如何在omnet ++中添加这些代码
答案 0 :(得分:2)
类TraCIMobility提供了一个获取外部id的函数(即SUMO id)。
示例应用程序TraCIDemo11p显示了如何在应用程序中获得移动性。那么剩下要做的就是调用traci->getExternalId()
,它将id作为字符串返回。
请注意,这个答案适用于Veins 3.0。对于较新版本,它的工作方式类似。