Получить поле типа соединения и другие?

Я пытаюсь внедрить некоторые "широковещательные" методы вещания, в частности eSBR и NJL. Я хотел бы отфильтровать список junctionID, чтобы иметь возможность работать с наилучшим возможным сценарием (некоторые пересечения являются точками генератора автомобилей, и поэтому я хотел бы удалить их из моего списка). В большинстве случаев отбрасываемый тип соединения является "нерегулируемым", но, похоже, вены ничего не реализуют, чтобы получить это поле. Я спрашиваю вас, не упустил ли я что-то (может быть, я сам должен внедрить новый, используя CMD_GET для сумо), или есть лучший способ выполнить эту задачу. Заранее спасибо.

2 ответа

Решение

Тип соединения является статическим свойством сети, поэтому вы можете просто проанализировать сетевой XML-файл и сохранить все типы соединения. Для этого уже есть код на python, но, возможно, это не поможет в контексте вен. Но чтобы понять, вот оно:

import sumolib
net = sumolib.net.readNet("my.net.xml")
types = {}
for junction in net.getNodes():
    types[junction.getID()] = junction.getType()

Вены действительно не реализует геттер TraCI для типа соединения. Кроме того, согласно документации (которую вы должны загрузить, так как вики уже не работает в течение нескольких дней), нет даже команды TraCI, поддерживающей поиск типа соединения.

Следовательно, вам необходимо реализовать команду поиска в TraCI, а также в Veins.

Другие вопросы по тегам