兩行程式碼玩轉SUMO!
阿新 • • 發佈:2019-01-01
兩行程式碼玩轉SUMO!
這篇部落格很簡單,但是內容很豐富
如何生成如下所示的研究型路網結構?
只需要開啟ubuntu終端輸入如下程式碼即可,grid.number代表路口數量,grid.length代表路段長度,default.speed代表路段允許車速,最後便可在當前資料夾輸出為一個名為MySUMOFile(名字自己定)的路網檔案。
netgenerate --grid --grid.number=10 --grid.length=400 --default.speed 15 --output-file=MySUMOFile.net.xml
之後使用sumo自帶的隨機車流生成工具randomTrips.py(我把它放在~/software/sumo-0.30.0/tools/,記得改成自己的路徑)即可針對此路網生成隨機交通流檔案rou.xml。
~/software/sumo-0.30.0/tools/randomTrips.py -n MySUMOFile.net.xml -b 0 -e 2000 --period 0.1 --intermediate 50 --trip-attributes="type=\"myType\"" --additional-file type.add.xml --edge-permission passenger -r MySUMOFile.rou.xml
下面開始解釋:
-b 代表開始時間,-e代表結束時間,–period 0.1間隔0.1
所以有–intermediate 50
--trip-attributes ="type=\"myType\"" --additional-file type.add.xml
代表使用type.add.xml這個附加檔案對交通流裡的車輛做出更細緻的規定
add.xml檔案示例如下:
<additional>
<vType id="myType" maxSpeed="27" vClass="passenger"/>
</additional>
當使用選項–vehicle-class時,應該為選項–edge-permission設定相同的值,所以有
--edge-permission passenger