Получить поле типа соединения и другие?
Я пытаюсь внедрить некоторые "широковещательные" методы вещания, в частности 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.