首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何获取特定范围内的车辆数量

如何获取特定范围内的车辆数量
EN

Stack Overflow用户
提问于 2018-02-28 12:20:11
回答 1查看 700关注 0票数 1

在VANET中,我试图模拟一个场景,在这个场景中,如果道路被封锁,那么在特定的时间后,汽车会广播一条消息,其中包括被封锁的roadId和周围100米的车辆数量。

在TraCIDemo11p应用程序中,当汽车停下来超过10秒时,它会将节点颜色更改为红色(以显示事故),并向其他汽车发送一条包含阻塞道路id的消息,所有这些都是在handlePositionUpdate方法中完成的:

代码语言:javascript
运行
复制
findHost()->getDisplayString().updateWith("r=16,red");
sentMessage = true;

WaveShortMessage* wsm = new WaveShortMessage();
populateWSM(wsm);
wsm->setWsmData(mobility->getRoadId().c_str());

//host is standing still due to crash
if (dataOnSch) {
    startService(Channels::SCH2, 42, "Traffic Information Service");
    //started service and server advertising, schedule message to self to send later
    scheduleAt(computeAsynchronousSendingTime(1,type_SCH),wsm);
}
else {
    //send right away on CCH, because channel switching is disabled
    sendDown(wsm);
}

100m的限制可以通过更新.ini文件中的maxInterfDist值来设置

代码语言:javascript
运行
复制
*.connectionManager.maxInterfDist = 100m

现在我的问题是如何获得车辆的数量和100米的面积,我有一个想法,这将使用TraCI和最有可能使用LaneAreaDetector's getJamLengthVehicle,但我不知道这将如何在静脉中完成,他们是否有任何等效的方法或我在寻找错误的方向?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-02-28 22:47:42

您可以使用TraCIScenarioManager::getManagedHosts方法获取OMNeT++模拟中所有车辆的列表。从那里,计算任意两个主机之间的距离应该很简单(它们在OMNeT++画布上的位置等于它们的位置,以米为单位测量)。

票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/49021921

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档