1.路网
使用sumo的netedit工具,以坐标(0,0)为中心,简单构建3车道网格地图并保存,如下。
2.车站设置
点击下图中黑色方框中的按钮,再点击对应车道设置车站。
回到inspect模式,点击车站修改属性,如修改startpos和endpos修改车站位置和长度,在lines中添加线路名。这里一小路段长度为200,startpos和endpos设为95和105。
保存车站设置如下,再次编辑时也需要load additionals。
3.公交车自定义
创建文本文件*.rou.xml进行编辑。
1.线路设置
先定义车辆类型和线路如下,route id为线路名,edges包含线路经过边的id。
<routes>
<vType id="bus" vClass="bus" length="12.0" accel="1.0" decel="5.0" sigma="0.5" maxSpeed="30.0" />
<route id="bus10" edges="gneE29 gneE64 gneE66 gneE68 gneE53 gneE35 gneE31 gneE30" />
<route id="bus11" edges="gneE41 gneE62 gneE63 gneE52 gneE54 gneE69 gneE67 gneE65" />
<route id="bus20" edges="gneE37 gneE47 gneE48 gneE49 gneE58 gneE33 gneE46 gneE24" />
<route id="bus21" edges="gneE22 gneE43 gneE44 gneE45 gneE57 gneE34 gneE50 gneE27" />
<route id="bus30" edges="gneE21 gneE37 gneE73 gneE70 gneE53 gneE76 gneE77 gneE58 gneE56 gneE32 gneE29 gneE23" />
<route id="bus31" edges="gneE40 gneE41 gneE42 gneE55 gneE57 gneE78 gneE75 gneE54 gneE72 gneE74 gneE22 gneE36" />
2. 车辆设置
depart为出发时间,color为颜色,duration为停留时间。
<vehicle id="bus1001" type="bus" route="bus10" depart="0" departLane="0" departSpeed="0" color="0,255,0">
<stop busStop="busStop_gneE29_0_9" duration="5" />
<stop busStop="busStop_gneE64_0_1" duration="5" />
<stop busStop="busStop_gneE66_0_2" duration="5" />
<stop busStop="busStop_gneE68_0_3" duration="5" />
<stop busStop="busStop_gneE53_0_4" duration="5" />
<stop busStop="busStop_gneE35_0_14" duration="5" />
<stop busStop="busStop_gneE31_0_12" duration="5" />
<stop busStop="busStop_gneE30_0_10" duration="5" />
</vehicle>
本文中的模拟建了6条线路,每条线路20辆车,该文本文件结束如下。
<vehicle id="bus3120" type="bus" route="bus31" depart="380" departLane="0" departSpeed="0" color="255,192,203">
<stop busStop="busStop_gneE40_0_35" duration="5" />
<stop busStop="busStop_gneE42_0_47" duration="5" />
<stop busStop="busStop_gneE55_0_45" duration="5" />
<stop busStop="busStop_gneE78_0_43" duration="5" />
<stop busStop="busStop_gneE75_0_41" duration="5" />
<stop busStop="busStop_gneE72_0_39" duration="5" />
<stop busStop="busStop_gneE74_0_37" duration="5" />
<stop busStop="busStop_gneE36_0_33" duration="5" />
</vehicle>
</routes>
4.仿真效果
建立*.sumocfg文件,编辑如下,修改net-file value,route-files value,additional-files value。
<configuration>
<input>
<net-file value="bus.net.xml"/>
<route-files value="bus1.rou.xml"/>
<additional-files value="bus_poly.xml"/>
</input>
<processing>
<ignore-route-errors value="true"/>
</processing>
<routing>
<device.rerouting.adaptation-steps value="180"/>
</routing>
<report>
<verbose value="true"/>
<duration-log.statistics value="true"/>
<no-step-log value="true"/>
</report>
<gui_only>
<gui-settings-file value="osm.view.xml"/>
</gui_only>
</configuration>
打开sumo-gui,模拟结果如下。