0
A
回答
1
這是一個常見問題,但可能以前沒有回答過。不幸的是,答案在很大程度上取決於您輸入數據的質量,主要取決於您的位置更新的頻率/距離(如果每個數據有時間戳,這也會有所幫助),以及這些位置的精確度與您的街道網絡相匹配。在最好的情況下,街道網絡中每條路線的邊緣都會有位置更新,您可以通過將位置映射到街道來簡單地讀取路線。這種映射可以使用Python sumolib與相撲來完成:
import sumolib
net = sumolib.net.readNet("myNet.net.xml")
route = []
radius = 1
for x, y in coordinates:
minDist, minEdge = min([(dist, edge) for edge, dist in net.getNeighboringEdges(x_coordinate, y_coordinate, radius)])
if len(route) == 0 or route[-1] != minEdge.getID():
route.append(minEdge.getID())
也http://sumo.dlr.de/wiki/Tools/Sumolib#locate_nearby_edges_based_on_the_geo-coordinate有關附加地理轉換。
這時候有在路線的邊緣上沒有得到一個數據點擊中或失敗,如果你有一個不匹配(例如匹配它出現在「錯誤」的方向上的邊緣)。在前一種情況下,您可以使用相撲的duarouter輕鬆修復路線。
> duarouter -n myNet.net.xml -r myRoutesWithGaps.rou.xml -o myRepairedRoutes.rou.xml --repair
後一種情況很難檢測和修復,因爲它很大程度上取決於您對錯誤邊緣的定義。有幾乎明確的例子突然打到相反的方向(這仍然可能發生在實際交通中)以及許多難以確定的小彎路,並且應該有單獨的答案。
由於您要求連續輸入,因此您可能也有興趣使用TraCI以及此FAQ on constant input flow生活。
相關問題
- 1. Sumo模擬器netConvert
- 2. Sumo模擬術語
- 3. Nettiers模擬場景
- 4. 模擬器SUMO和Matlab之間的關係通過Traci4Matlab
- 5. 模擬Cocos2D替換UIKit中的場景
- 6. 使用Matlab模擬CoMP(Coorinated Multipoint)場景
- 7. 交通VHDL模擬問題
- 8. Haskell線程通信模式場景
- 9. 模擬競技場
- 10. 線程交互場景
- 11. 交通燈模擬和xbee通訊
- 12. SUMO交通建模:如何使用左手駕駛規則創建網絡?
- 13. SUMO:更改模擬時間步長和輸出選項
- 14. 在macOS Sierra上安裝SUMO模擬器(2017)
- 15. 在道路網絡的子圖上運行SUMO模擬
- 16. 在SUMO上模擬真實世界的汽車
- 17. 交通燈模擬器錯誤
- 18. 計時器在交通燈模擬
- 19. 虛擬場編輯模型
- 20. 如何模擬靜脈中的兩個簡單場景?
- 21. 在NBehave中使用多種場景的模擬
- 22. 如何模擬不同的網絡場景? (Java)
- 23. 如何模擬Beanutils.setProperty的測試用例異常場景
- 24. 如何把模擬屏幕控制到主場景?
- 25. 爲不同場景配置模擬對象的狀態
- 26. 模擬一個簡單的物理相關場景
- 27. 是否可以模擬Silverlight UI線程(重現死鎖場景)?
- 28. 模擬真實生活場景中的活動和代表
- 29. Web應用程序中的事務處理場景模擬
- 30. Windows模擬器不同於統一場景的結果
TBH,我還是這個新手。有時間戳。那麼它將如何改變這種狀況呢?謝謝。 – skw1990
時間戳和速度有助於估計行進距離,因此您知道搜索下一個邊緣時的最大範圍(假設您的最後猜測是正確的) – Michael