网格环境
https://sumo.dlr.de/docs/Tutorials/Manhattan.html
使用netgenerate软件生成net网络。
编写如下netgcfg文件,内容如下,生成10*10的网格环境
<?xml version="1.0" encoding="UTF-8"?> <!-- generated on Mon Mar 25 08:13:01 2019 by Eclipse SUMO netgenerate Version v1_0_1+0645-93703db --> <configuration xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="http://sumo.dlr.de/xsd/netgenerateConfiguration.xsd"> <grid_network> <grid value="true"/> <grid.number value="10"/> </grid_network> <junctions> <no-turnarounds value="true"/> </junctions> </configuration>
使用命令,生成名为net.net.xml文件,即为网格环境
netgenerate -c 111.netgcfg
复制Eclipse/Sumo/tools/下的randomTrips.py文件到工作目录。执行以下命令,获取flows.xml文件
python randomTrips.py -n net.net.xml -o flows.xml --begin 0 --end 1 --flows 100 --jtrrouter
使用jtrrouter软件生成路由文件,编写以下jtrrcfg文件
<?xml version="1.0" encoding="UTF-8"?> <!-- generated on Mon Mar 25 08:12:46 2019 by Eclipse SUMO jtrrouter Version v1_0_1+0645-93703db --> <configuration xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="http://sumo.dlr.de/xsd/jtrrouterConfiguration.xsd"> <input> <net-file value="net.net.xml"/> <route-files value="flows.xml"/> </input> <output> <output-file value="routes.xml"/> </output> <processing> <turn-defaults value="25,50,25"/> <accept-all-destinations value="true"/> <allow-loops value="true"/> </processing> </configuration>
使用以下命令从net.net.xml文件和flows.xml文件中生成路由文件routes.xml
jtrrouter -c 111.jtrrcfg
然后编写可视化文件如下,即可进行仿真
<?xml version="1.0" encoding="UTF-8"?> <!-- generated on Mon Mar 25 08:16:37 2019 by Eclipse SUMO Version v1_0_1+0645-93703db --> <configuration xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="http://sumo.dlr.de/xsd/sumoConfiguration.xsd"> <input> <net-file value="net.net.xml"/> <route-files value="routes.xml"/> </input> <report> <no-step-log value="true"/> </report> </configuration>
交通信号控制
https://sumo.dlr.de/docs/Tutorials/TraCI4Traffic_Lights.html
编写点、边、和连接三个文件,后缀分别为:nod.xml、edg.xml、con.xml。内容如下:
<?xml version="1.0" encoding="UTF-8"?> <nodes xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="http://sumo.dlr.de/xsd/nodes_file.xsd"> <node id="0" x="0.0" y="0.0" type="traffic_light"/> <node id="1" x="-500.0" y="0.0" type="priority"/> <node id="2" x="+500.0" y="0.0" type="priority"/> <node id="3" x="0.0" y="-500.0" type="priority"/> <node id="4" x="0.0" y="+500.0" type="priority"/> <node id="51" x="-510.0" y="0.0" type="priority"/> <node id="52" x="+510.0" y="0.0" type="priority"/> <node id="53" x="0.0" y="-510.0" type="priority"/> <node id="54" x="0.0" y="+510.0" type="priority"/> </nodes>
<?xml version="1.0" encoding="UTF-8"?> <edges xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="http://sumo.dlr.de/xsd/edges_file.xsd"> <edge id="1i" from="1" to="0" priority="78" numLanes="1" speed="19.444" /> <edge id="1o" from="0" to="1" priority="46" numLanes="1" speed="11.111" /> <edge id="2i" from="2" to="0" priority="78" numLanes="1" speed="19.444" /> <edge id="2o" from="0" to="2" priority="46" numLanes="1" speed="11.111" /> <edge id="3i" from="3" to="0" priority="78" numLanes="1" speed="19.444" /> <edge id="3o" from="0" to="3" priority="46" numLanes="1" speed="11.111" /> <edge id="4i" from="4" to="0" priority="78" numLanes="1" speed="19.444" /> <edge id="4o" from="0" to="4" priority="46" numLanes="1" speed="11.111" /> <edge id="51i" from="1" to="51" priority="78" numLanes="1" speed="19.444" /> <edge id="51o" from="51" to="1" priority="46" numLanes="1" speed="11.111" /> <edge id="52i" from="2" to="52" priority="78" numLanes="1" speed="19.444" /> <edge id="52o" from="52" to="2" priority="46" numLanes="1" speed="11.111" /> <edge id="53i" from="3" to="53" priority="78" numLanes="1" speed="19.444" /> <edge id="53o" from="53" to="3" priority="46" numLanes="1" speed="11.111" /> <edge id="54i" from="4" to="54" priority="78" numLanes="1" speed="19.444" /> <edge id="54o" from="54" to="4" priority="46" numLanes="1" speed="11.111" /> </edges>
<?xml version="1.0" encoding="iso-8859-1"?> <connections xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="http://sumo.dlr.de/xsd/connections_file.xsd"> <connection from="1i" to="2o"/> <connection from="2i" to="1o"/> <connection from="3i" to="4o"/> <connection from="4i" to="3o"/> </connections>
然后使用如下命令生成net.xml后缀文件,得到网络文件
netconvert -n 111.nod.xml -e 111.edg.xml -x 111.con.xml -o 111.net.xml
编写可视化文件,后缀为sumocfg,内容如下
<?xml version="1.0" encoding="UTF-8"?> <configuration xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="http://sumo.dlr.de/xsd/sumoConfiguration.xsd"> <input> <net-file value="111.net.xml"/> <route-files value="111.rou.xml"/> <additional-files value="111.det.xml"/> </input> <time> <begin value="0"/> </time> <report> <verbose value="true"/> <no-step-log value="true"/> </report> </configuration>
编写后缀为det.xml的文件,用于输出信息,内容如下
<e1Detector id="0" lane="4i_0" pos="450" freq="30" file="111.out" friendlyPos="x"/>
之后是重点内容,python程序,该程序首先会生成后缀为rou.xml的文件。
该文件生成的路由文件,包含了从东->西,西->东,北->南行进的车辆。
在控制过程中,当北->南的车辆存在则优先通行。通行过程使用交通信号控制。
from __future__ import absolute_import from __future__ import print_function import os import sys import optparse import random # we need to import python modules from the $SUMO_HOME/tools directory if 'SUMO_HOME' in os.environ: tools = os.path.join(os.environ['SUMO_HOME'], 'tools') sys.path.append(tools) else: sys.exit("please declare environment variable 'SUMO_HOME'") from sumolib import checkBinary # noqa import traci # noqa def generate_routefile(): random.seed(42) # make tests reproducible N = 3600 # number of time steps # demand per second from different directions pWE = 1. / 10 pEW = 1. / 11 pNS = 1. / 30 with open("111.rou.xml", "w") as routes: print("""<routes> <vType id="typeWE" accel="0.8" decel="4.5" sigma="0.5" length="5" minGap="2.5" maxSpeed="16.67" guiShape="passenger"/> <vType id="typeNS" accel="0.8" decel="4.5" sigma="0.5" length="7" minGap="3" maxSpeed="25" guiShape="bus"/> <route id="right" edges="51o 1i 2o 52i" /> <route id="left" edges="52o 2i 1o 51i" /> <route id="down" edges="54o 4i 3o 53i" />""", file=routes) vehNr = 0 for i in range(N): if random.uniform(0, 1) < pWE: print(' <vehicle id="right_%i" type="typeWE" route="right" depart="%i" />' % ( vehNr, i), file=routes) vehNr += 1 if random.uniform(0, 1) < pEW: print(' <vehicle id="left_%i" type="typeWE" route="left" depart="%i" />' % ( vehNr, i), file=routes) vehNr += 1 if random.uniform(0, 1) < pNS: print(' <vehicle id="down_%i" type="typeNS" route="down" depart="%i" color="1,0,0"/>' % ( vehNr, i), file=routes) vehNr += 1 print("</routes>", file=routes) # The program looks like this # <tlLogic id="0" type="static" programID="0" offset="0"> # the locations of the tls are NESW # <phase duration="31" state="GrGr"/> # <phase duration="6" state="yryr"/> # <phase duration="31" state="rGrG"/> # <phase duration="6" state="ryry"/> # </tlLogic> def run(): """execute the TraCI control loop""" step = 0 # we start with phase 2 where EW has green traci.trafficlight.setPhase("0", 2) while traci.simulation.getMinExpectedNumber() > 0: traci.simulationStep() if traci.trafficlight.getPhase("0") == 2: # we are not already switching if traci.inductionloop.getLastStepVehicleNumber("0") > 0: # there is a vehicle from the north, switch traci.trafficlight.setPhase("0", 3) else: # otherwise try to keep green for EW traci.trafficlight.setPhase("0", 2) step += 1 traci.close() sys.stdout.flush() def get_options(): optParser = optparse.OptionParser() optParser.add_option("--nogui", action="store_true", default=False, help="run the commandline version of sumo") options, args = optParser.parse_args() return options # this is the main entry point of this script if __name__ == "__main__": options = get_options() # this script has been called from the command line. It will start sumo as a # server, then connect and run if options.nogui: sumoBinary = checkBinary('sumo') else: sumoBinary = checkBinary('sumo-gui') # first, generate the route file for this simulation generate_routefile() # this is the normal way of using traci. sumo is started as a # subprocess and then the python script connects and runs traci.start([sumoBinary, "-c", "111.sumocfg", "--tripinfo-output", "tripinfo.xml"]) run()
行人通行控制
https://sumo.dlr.de/docs/Tutorials/TraCIPedCrossing.html
点、边、连接文件:
1 <?xml version="1.0" encoding="UTF-8"?> 2 <nodes version="0.13" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="http://sumo.dlr.de/xsd/nodes_file.xsd"> 3 <location netOffset="0.00,0.00" convBoundary="-100.00,-50.00,100.00,50.00" origBoundary="-10000000000.00,-10000000000.00,10000000000.00,10000000000.00" projParameter="!"/> 4 5 <node id="C" x="0.00" y="0.00" type="traffic_light"/> 6 <node id="E" x="100.00" y="0.00" type="unregulated"/> 7 <node id="N" x="0.00" y="50.00" type="unregulated"/> 8 <node id="S" x="0.00" y="-50.00" type="unregulated"/> 9 <node id="W" x="-100.00" y="0.00" type="unregulated"/> 10 </nodes> 11 12 <?xml version="1.0" encoding="UTF-8"?> 13 <edges version="0.13" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="http://sumo.dlr.de/xsd/edges_file.xsd"> 14 <edge id="CE" from="C" to="E" priority="1" numLanes="2" disallow="pedestrian" speed="13.89"/> 15 <edge id="CW" from="C" to="W" priority="1" numLanes="2" disallow="pedestrian" speed="13.89"/> 16 <edge id="EC" from="E" to="C" priority="1" numLanes="2" disallow="pedestrian" speed="13.89"/> 17 <edge id="WC" from="W" to="C" priority="1" numLanes="2" disallow="pedestrian" speed="13.89"/> 18 19 <edge id="NC" from="N" to="C" priority="1" numLanes="1" allow="pedestrian" speed="5.00" spreadType="center" width="3.00"/> 20 <edge id="CS" from="C" to="S" priority="1" numLanes="1" allow="pedestrian" speed="5.00" spreadType="center" width="3.00"/> 21 </edges> 22 23 <?xml version="1.0" encoding="UTF-8"?> 24 <connections version="0.13" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="http://sumo.dlr.de/xsd/connections_file.xsd"> 25 <crossing node="C" edges="CE EC" width="6"/> 26 </connections>
网络生成文件(使用netconvert手动生成的文件和配置文件最后得到的结果不一致)
1 <?xml version="1.0" encoding="UTF-8"?> 2 3 <configuration xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="http://sumo.dlr.de/xsd/netconvertConfiguration.xsd"> 4 <input> 5 <node-files value="111.nod.xml"/> 6 <edge-files value="111.edg.xml"/> 7 <connection-files value="111.con.xml"/> 8 </input> 9 <output> 10 <output-file value="111.net.xml"/> 11 </output> 12 <junctions> 13 <no-turnarounds value="true"/> 14 </junctions> 15 </configuration>
路由文件
1 <routes> 2 <flow id="EW" begin="0" end="3600" probability="0.1" from="EC" to="CW"/> 3 <flow id="WE" begin="0" end="3600" probability="0.1" from="WC" to="CE"/> 4 </routes>
可视化文件
1 <?xml version="1.0" encoding="UTF-8"?> 2 3 <configuration xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="http://sumo.dlr.de/xsd/sumoConfiguration.xsd"> 4 5 <input> 6 <net-file value="111.net.xml"/> 7 <route-files value="111.rou.xml,111.trip.xml"/> 8 <additional-files value="111.tll.xml"/> 9 </input> 10 11 <report> 12 <verbose value="true"/> 13 <no-step-log value="true"/> 14 </report> 15 16 <gui_only> 17 <gui-settings-file value="viewsettings.xml"/> 18 </gui_only> 19 20 </configuration>
python文件,生成网络文件,控制行人通行信号,生成trip.xml后缀的行人路由文件
1 """ 2 Tutorial for traffic light control via the TraCI interface. 3 This scenario models a pedestrian crossing which switches on demand. 4 """ 5 from __future__ import absolute_import 6 from __future__ import print_function 7 8 import os 9 import sys 10 import optparse 11 import subprocess 12 13 14 # the directory in which this script resides 15 THISDIR = os.path.dirname(__file__) 16 17 18 # we need to import python modules from the $SUMO_HOME/tools directory 19 # If the the environment variable SUMO_HOME is not set, try to locate the python 20 # modules relative to this script 21 if 'SUMO_HOME' in os.environ: 22 tools = os.path.join(os.environ['SUMO_HOME'], 'tools') 23 sys.path.append(tools) 24 else: 25 sys.exit("please declare environment variable 'SUMO_HOME'") 26 import traci # noqa 27 from sumolib import checkBinary # noqa 28 import randomTrips # noqa 29 30 # minimum green time for the vehicles 31 MIN_GREEN_TIME = 15 32 # the first phase in tls plan. see '111.tll.xml' 33 VEHICLE_GREEN_PHASE = 0 34 PEDESTRIAN_GREEN_PHASE = 2 35 # the id of the traffic light (there is only one). This is identical to the 36 # id of the controlled intersection (by default) 37 TLSID = 'C' 38 39 # pedestrian edges at the controlled intersection 40 WALKINGAREAS = [':C_w0', ':C_w1'] 41 CROSSINGS = [':C_c0'] 42 43 44 def run(): 45 """execute the TraCI control loop""" 46 # track the duration for which the green phase of the vehicles has been 47 # active 48 greenTimeSoFar = 0 49 50 # whether the pedestrian button has been pressed 51 activeRequest = False 52 53 # main loop. do something every simulation step until no more vehicles are 54 # loaded or running 55 while traci.simulation.getMinExpectedNumber() > 0: 56 traci.simulationStep() 57 58 # decide wether there is a waiting pedestrian and switch if the green 59 # phase for the vehicles exceeds its minimum duration 60 if not activeRequest: 61 activeRequest = checkWaitingPersons() 62 if traci.trafficlight.getPhase(TLSID) == VEHICLE_GREEN_PHASE: 63 greenTimeSoFar += 1 64 if greenTimeSoFar > MIN_GREEN_TIME: 65 # check whether someone has pushed the button 66 67 if activeRequest: 68 # switch to the next phase 69 traci.trafficlight.setPhase( 70 TLSID, VEHICLE_GREEN_PHASE + 1) 71 # reset state 72 activeRequest = False 73 greenTimeSoFar = 0 74 75 sys.stdout.flush() 76 traci.close() 77 78 79 def checkWaitingPersons(): 80 """check whether a person has requested to cross the street""" 81 82 # check both sides of the crossing 83 for edge in WALKINGAREAS: 84 peds = traci.edge.getLastStepPersonIDs(edge) 85 # check who is waiting at the crossing 86 # we assume that pedestrians push the button upon 87 # standing still for 1s 88 for ped in peds: 89 if (traci.person.getWaitingTime(ped) == 1 and 90 traci.person.getNextEdge(ped) in CROSSINGS): 91 numWaiting = traci.trafficlight.getServedPersonCount(TLSID, PEDESTRIAN_GREEN_PHASE) 92 print("%s: pedestrian %s pushes the button (waiting: %s)" % 93 (traci.simulation.getTime(), ped, numWaiting)) 94 return True 95 return False 96 97 98 def get_options(): 99 """define options for this script and interpret the command line""" 100 optParser = optparse.OptionParser() 101 optParser.add_option("--nogui", action="store_true", 102 default=False, help="run the commandline version of sumo") 103 options, args = optParser.parse_args() 104 return options 105 106 107 # this is the main entry point of this script 108 if __name__ == "__main__": 109 # load whether to run with or without GUI 110 options = get_options() 111 112 # this script has been called from the command line. It will start sumo as a 113 # server, then connect and run 114 if options.nogui: 115 sumoBinary = checkBinary('sumo') 116 else: 117 sumoBinary = checkBinary('sumo-gui') 118 119 net = '111.net.xml' 120 # build the multi-modal network from plain xml inputs 121 subprocess.call([checkBinary('netconvert'), 122 '-c', os.path.join('', '111.netccfg'), 123 '--output-file', net], 124 stdout=sys.stdout, stderr=sys.stderr) 125 126 127 # generate the pedestrians for this simulation 128 randomTrips.main(randomTrips.get_options([ 129 '--net-file', net, 130 '--output-trip-file', '111.trip.xml', 131 '--seed', '42', # make runs reproducible 132 '--pedestrians', 133 '--prefix', 'ped', 134 # prevent trips that start and end on the same edge 135 '--min-distance', '1', 136 '--trip-attributes', 'departPos="random" arrivalPos="random"', 137 '--binomial', '4', 138 '--period', '35'])) 139 140 traci.start([sumoBinary, '-c', os.path.join('', '111.sumocfg')]) 141 run()
原始信号文件tll.xml,当不使用python控制则生效
1 <tlLogics version="0.13" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="http://sumo.dlr.de/xsd/tllogic_file.xsd"> 2 3 <tlLogic id="C" type="static" programID="custom" offset="0"> 4 <phase duration="100000" state="GGGGr"/> <!-- do not switch vehicle phase automatically --> 5 <phase duration="4" state="yyyyr"/> 6 <phase duration="10" state="rrrrG"/> 7 <phase duration="10" state="rrrrr"/> <!-- give pedestrians time to clear the intersection --> 8 </tlLogic> 9 </tlLogics>
viewsettings.xml
1 <viewsettings> 2 <scheme name="custom_2"> 3 <opengl antialiase="0" dither="0"/> 4 <background backgroundColor="51,128,51" showGrid="0" gridXSize="100.00" gridYSize="100.00"/> 5 <edges laneEdgeMode="0" scaleMode="0" laneShowBorders="1" showLinkDecals="1" showRails="1" hideConnectors="1" widthExaggeration="1.00" 6 edgeName_show="0" edgeName_size="50.00" edgeName_color="orange" 7 internalEdgeName_show="0" internalEdgeName_size="40.00" internalEdgeName_color="128,64,0" 8 cwaEdgeName_show="0" cwaEdgeName_size="50.00" cwaEdgeName_color="magenta" 9 streetName_show="0" streetName_size="55.00" streetName_color="yellow"> 10 <colorScheme name="uniform"> 11 <entry color="black" name="road"/> 12 <entry color="grey" name="sidewalk"/> 13 <entry color="192,66,44" name="bike lane"/> 14 <entry color="0,0,0,0" name="green verge"/> 15 <entry color="150,200,200" name="waterway"/> 16 </colorScheme> 17 <colorScheme name="by selection (lane-/streetwise)"> 18 <entry color="grey" name="unselected"/> 19 <entry color="0,80,180" name="selected"/> 20 </colorScheme> 21 <colorScheme name="by permission code" interpolated="1"> 22 <entry color="240,240,240" threshold="0.00"/> 23 <entry color="10,10,10" threshold="32.00"/> 24 <entry color="166,147,26" threshold="128.00"/> 25 <entry color="40,100,40" threshold="256.00"/> 26 <entry color="192,66,44" threshold="524288.00"/> 27 <entry color="grey" threshold="1048576.00"/> 28 <entry color="80,80,80" threshold="1049600.00"/> 29 <entry color="150,200,200" threshold="4194304.00"/> 30 <entry color="64,0,86" threshold="31719423.00"/> 31 <entry color="black" threshold="32505855.00"/> 32 <entry color="green" threshold="33554431.00"/> 33 </colorScheme> 34 <colorScheme name="by allowed speed (lanewise)" interpolated="1"> 35 <entry color="red" threshold="0.00"/> 36 <entry color="yellow" threshold="8.33"/> 37 <entry color="green" threshold="15.28"/> 38 <entry color="cyan" threshold="22.22"/> 39 <entry color="blue" threshold="33.33"/> 40 <entry color="magenta" threshold="41.67"/> 41 </colorScheme> 42 <colorScheme name="by current occupancy (lanewise, brutto)" interpolated="1"> 43 <entry color="blue" threshold="0.00"/> 44 <entry color="red" threshold="0.95"/> 45 </colorScheme> 46 <colorScheme name="by current occupancy (lanewise, netto)" interpolated="1"> 47 <entry color="blue" threshold="0.00"/> 48 <entry color="red" threshold="0.95"/> 49 </colorScheme> 50 <colorScheme name="by first vehicle waiting time (lanewise)" interpolated="1"> 51 <entry color="blue" threshold="0.00"/> 52 <entry color="cyan" threshold="30.00"/> 53 <entry color="green" threshold="100.00"/> 54 <entry color="yellow" threshold="200.00"/> 55 <entry color="red" threshold="300.00"/> 56 </colorScheme> 57 <colorScheme name="by lane number (streetwise)" interpolated="1"> 58 <entry color="red" threshold="0.00"/> 59 <entry color="blue" threshold="5.00"/> 60 </colorScheme> 61 <colorScheme name="by CO2 emissions" interpolated="1"> 62 <entry color="green" threshold="0.00"/> 63 <entry color="red" threshold="0.27"/> 64 </colorScheme> 65 <colorScheme name="by CO emissions" interpolated="1"> 66 <entry color="red" threshold="0.00"/> 67 <entry color="green" threshold="0.00"/> 68 </colorScheme> 69 <colorScheme name="by PMx emissions" interpolated="1"> 70 <entry color="red" threshold="0.00"/> 71 <entry color="green" threshold="0.00"/> 72 </colorScheme> 73 <colorScheme name="by NOx emissions" interpolated="1"> 74 <entry color="red" threshold="0.00"/> 75 <entry color="green" threshold="0.00"/> 76 </colorScheme> 77 <colorScheme name="by HC emissions" interpolated="1"> 78 <entry color="red" threshold="0.00"/> 79 <entry color="green" threshold="0.00"/> 80 </colorScheme> 81 <colorScheme name="by fuel consumption" interpolated="1"> 82 <entry color="green" threshold="0.00"/> 83 <entry color="red" threshold="0.07"/> 84 </colorScheme> 85 <colorScheme name="by noise emissions (Harmonoise)" interpolated="1"> 86 <entry color="green" threshold="0.00"/> 87 <entry color="red" threshold="100.00"/> 88 </colorScheme> 89 <colorScheme name="by global travel time" interpolated="1"> 90 <entry color="green" threshold="0.00"/> 91 <entry color="red" threshold="100.00"/> 92 </colorScheme> 93 <colorScheme name="by global speed percentage" interpolated="1"> 94 <entry color="red" threshold="0.00"/> 95 <entry color="yellow" threshold="50.00"/> 96 <entry color="green" threshold="100.00"/> 97 </colorScheme> 98 <colorScheme name="by given length/geometrical length" interpolated="1"> 99 <entry color="black" threshold="0.00"/> 100 <entry color="red" threshold="0.25"/> 101 <entry color="yellow" threshold="0.50"/> 102 <entry color="179,179,179" threshold="1.00"/> 103 <entry color="green" threshold="2.00"/> 104 <entry color="blue" threshold="4.00"/> 105 </colorScheme> 106 <colorScheme name="by angle"> 107 <entry color="yellow"/> 108 </colorScheme> 109 <colorScheme name="by loaded weight" interpolated="1"> 110 <entry color="green" threshold="0.00"/> 111 <entry color="red" threshold="100.00"/> 112 </colorScheme> 113 <colorScheme name="by priority" interpolated="1"> 114 <entry color="red" threshold="-20.00"/> 115 <entry color="yellow" threshold="0.00"/> 116 <entry color="green" threshold="20.00"/> 117 </colorScheme> 118 <colorScheme name="by height at start" interpolated="1"> 119 <entry color="blue" threshold="-10.00"/> 120 <entry color="red" threshold="0.00"/> 121 <entry color="yellow" threshold="50.00"/> 122 <entry color="green" threshold="100.00"/> 123 <entry color="magenta" threshold="200.00"/> 124 </colorScheme> 125 <colorScheme name="by height at segment start" interpolated="1"> 126 <entry color="blue" threshold="-10.00"/> 127 <entry color="red" threshold="0.00"/> 128 <entry color="yellow" threshold="50.00"/> 129 <entry color="green" threshold="100.00"/> 130 <entry color="magenta" threshold="200.00"/> 131 </colorScheme> 132 <colorScheme name="by inclination" interpolated="1"> 133 <entry color="blue" threshold="-0.30"/> 134 <entry color="green" threshold="-0.10"/> 135 <entry color="grey" threshold="0.00"/> 136 <entry color="yellow" threshold="0.10"/> 137 <entry color="red" threshold="0.30"/> 138 </colorScheme> 139 <colorScheme name="by inclination at segment start" interpolated="1"> 140 <entry color="blue" threshold="-0.30"/> 141 <entry color="green" threshold="-0.10"/> 142 <entry color="grey" threshold="0.00"/> 143 <entry color="yellow" threshold="0.10"/> 144 <entry color="red" threshold="0.30"/> 145 </colorScheme> 146 <colorScheme name="by average speed" interpolated="1"> 147 <entry color="red" threshold="0.00"/> 148 <entry color="yellow" threshold="8.33"/> 149 <entry color="green" threshold="15.28"/> 150 <entry color="cyan" threshold="22.22"/> 151 <entry color="blue" threshold="33.33"/> 152 <entry color="magenta" threshold="41.67"/> 153 </colorScheme> 154 <colorScheme name="by average relative speed " interpolated="1"> 155 <entry color="red" threshold="0.00"/> 156 <entry color="yellow" threshold="0.25"/> 157 <entry color="green" threshold="0.50"/> 158 <entry color="cyan" threshold="0.75"/> 159 <entry color="blue" threshold="1.00"/> 160 <entry color="magenta" threshold="1.25"/> 161 </colorScheme> 162 <scalingScheme name="default"> 163 <entry color="1.00" name="uniform"/> 164 </scalingScheme> 165 <scalingScheme name="by selection (lane-/streetwise)"> 166 <entry color="0.50" name="unselected"/> 167 <entry color="5.00" name="selected"/> 168 </scalingScheme> 169 <scalingScheme name="by allowed speed (lanewise)" interpolated="1"> 170 <entry color="0.00" threshold="0.00"/> 171 <entry color="10.00" threshold="41.67"/> 172 </scalingScheme> 173 <scalingScheme name="by current occupancy (lanewise, brutto)" interpolated="1"> 174 <entry color="0.00" threshold="0.00"/> 175 <entry color="10.00" threshold="0.95"/> 176 </scalingScheme> 177 <scalingScheme name="by current occupancy (lanewise, netto)" interpolated="1"> 178 <entry color="0.00" threshold="0.00"/> 179 <entry color="10.00" threshold="0.95"/> 180 </scalingScheme> 181 <scalingScheme name="by first vehicle waiting time (lanewise)" interpolated="1"> 182 <entry color="0.00" threshold="0.00"/> 183 <entry color="10.00" threshold="300.00"/> 184 </scalingScheme> 185 <scalingScheme name="by lane number (streetwise)" interpolated="1"> 186 <entry color="1.00" threshold="0.00"/> 187 <entry color="10.00" threshold="5.00"/> 188 </scalingScheme> 189 <scalingScheme name="by CO2 emissions" interpolated="1"> 190 <entry color="0.00" threshold="0.00"/> 191 <entry color="10.00" threshold="0.27"/> 192 </scalingScheme> 193 <scalingScheme name="by CO emissions" interpolated="1"> 194 <entry color="10.00" threshold="0.00"/> 195 <entry color="0.00" threshold="0.00"/> 196 </scalingScheme> 197 <scalingScheme name="by PMx emissions" interpolated="1"> 198 <entry color="10.00" threshold="0.00"/> 199 <entry color="0.00" threshold="0.00"/> 200 </scalingScheme> 201 <scalingScheme name="by NOx emissions" interpolated="1"> 202 <entry color="10.00" threshold="0.00"/> 203 <entry color="0.00" threshold="0.00"/> 204 </scalingScheme> 205 <scalingScheme name="by HC emissions" interpolated="1"> 206 <entry color="10.00" threshold="0.00"/> 207 <entry color="0.00" threshold="0.00"/> 208 </scalingScheme> 209 <scalingScheme name="by fuel consumption" interpolated="1"> 210 <entry color="0.00" threshold="0.00"/> 211 <entry color="10.00" threshold="0.07"/> 212 </scalingScheme> 213 <scalingScheme name="by noise emissions (Harmonoise)" interpolated="1"> 214 <entry color="0.00" threshold="0.00"/> 215 <entry color="10.00" threshold="100.00"/> 216 </scalingScheme> 217 <scalingScheme name="by global travel time" interpolated="1"> 218 <entry color="0.00" threshold="0.00"/> 219 <entry color="10.00" threshold="100.00"/> 220 </scalingScheme> 221 <scalingScheme name="by global speed percentage" interpolated="1"> 222 <entry color="0.00" threshold="0.00"/> 223 <entry color="10.00" threshold="100.00"/> 224 </scalingScheme> 225 <scalingScheme name="by given length/geometrical length" interpolated="1"> 226 <entry color="0.00" threshold="0.00"/> 227 <entry color="10.00" threshold="10.00"/> 228 </scalingScheme> 229 <scalingScheme name="by loaded weight" interpolated="1"> 230 <entry color="-1000.00" threshold="-1000.00"/> 231 <entry color="0.00" threshold="0.00"/> 232 <entry color="1000.00" threshold="1000.00"/> 233 </scalingScheme> 234 <scalingScheme name="by priority" interpolated="1"> 235 <entry color="0.50" threshold="-20.00"/> 236 <entry color="1.00" threshold="0.00"/> 237 <entry color="5.00" threshold="20.00"/> 238 </scalingScheme> 239 <scalingScheme name="by average speed" interpolated="1"> 240 <entry color="0.00" threshold="0.00"/> 241 <entry color="10.00" threshold="41.67"/> 242 </scalingScheme> 243 <scalingScheme name="by average relative speed" interpolated="1"> 244 <entry color="0.00" threshold="0.00"/> 245 <entry color="0.50" threshold="0.50"/> 246 <entry color="2.00" threshold="1.00"/> 247 <entry color="10.00" threshold="2.00"/> 248 </scalingScheme> 249 <colorScheme name="uniform (streetwise)"> 250 <entry color="black"/> 251 </colorScheme> 252 <colorScheme name="by selection (streetwise)"> 253 <entry color="grey" name="unselected"/> 254 <entry color="0,80,180" name="selected"/> 255 </colorScheme> 256 <colorScheme name="by purpose (streetwise)"> 257 <entry color="0,0,0,0" name="normal"/> 258 <entry color="128,0,128" name="connector"/> 259 <entry color="blue" name="internal"/> 260 </colorScheme> 261 <colorScheme name="by allowed speed (streetwise)" interpolated="1"> 262 <entry color="red" threshold="0.00"/> 263 <entry color="yellow" threshold="8.33"/> 264 <entry color="green" threshold="15.28"/> 265 <entry color="cyan" threshold="22.22"/> 266 <entry color="blue" threshold="33.33"/> 267 <entry color="magenta" threshold="41.67"/> 268 </colorScheme> 269 <colorScheme name="by current occupancy (streetwise)" interpolated="1"> 270 <entry color="blue" threshold="0.00"/> 271 <entry color="red" threshold="0.95"/> 272 </colorScheme> 273 <colorScheme name="by current speed (streetwise)" interpolated="1"> 274 <entry color="red" threshold="0.00"/> 275 <entry color="blue" threshold="41.67"/> 276 </colorScheme> 277 <colorScheme name="by current flow (streetwise)" interpolated="1"> 278 <entry color="blue" threshold="0.00"/> 279 <entry color="red" threshold="5000.00"/> 280 </colorScheme> 281 <colorScheme name="by relative speed (streetwise)" interpolated="1"> 282 <entry color="red" threshold="0.00"/> 283 <entry color="blue" threshold="1.00"/> 284 </colorScheme> 285 <scalingScheme name="uniform"> 286 <entry color="1.00"/> 287 </scalingScheme> 288 <scalingScheme name="by selection (streetwise)"> 289 <entry color="0.50" name="unselected"/> 290 <entry color="5.00" name="selected"/> 291 </scalingScheme> 292 <scalingScheme name="by allowed speed (streetwise)" interpolated="1"> 293 <entry color="0.00" threshold="0.00"/> 294 <entry color="10.00" threshold="41.67"/> 295 </scalingScheme> 296 <scalingScheme name="by current occupancy (streetwise)" interpolated="1"> 297 <entry color="0.00" threshold="0.00"/> 298 <entry color="10.00" threshold="0.95"/> 299 </scalingScheme> 300 <scalingScheme name="by current speed (streetwise)" interpolated="1"> 301 <entry color="0.00" threshold="0.00"/> 302 <entry color="10.00" threshold="41.67"/> 303 </scalingScheme> 304 <scalingScheme name="by current flow (streetwise)" interpolated="1"> 305 <entry color="0.00" threshold="0.00"/> 306 <entry color="20.00" threshold="5000.00"/> 307 </scalingScheme> 308 <scalingScheme name="by relative speed (streetwise)" interpolated="1"> 309 <entry color="0.00" threshold="0.00"/> 310 <entry color="20.00" threshold="1.00"/> 311 </scalingScheme> 312 </edges> 313 <vehicles vehicleMode="8" vehicleQuality="2" vehicle_minSize="0.00" vehicle_exaggeration="1.00" vehicle_constantSize="0" showBlinker="1" 314 vehicleName_show="0" vehicleName_size="50.00" vehicleName_color="204,153,0"> 315 <colorScheme name="given vehicle/type/route color"> 316 <entry color="yellow"/> 317 </colorScheme> 318 <colorScheme name="uniform"> 319 <entry color="yellow"/> 320 </colorScheme> 321 <colorScheme name="given/assigned vehicle color"> 322 <entry color="yellow"/> 323 </colorScheme> 324 <colorScheme name="given/assigned type color"> 325 <entry color="yellow"/> 326 </colorScheme> 327 <colorScheme name="given/assigned route color"> 328 <entry color="yellow"/> 329 </colorScheme> 330 <colorScheme name="depart position as HSV"> 331 <entry color="yellow"/> 332 </colorScheme> 333 <colorScheme name="arrival position as HSV"> 334 <entry color="yellow"/> 335 </colorScheme> 336 <colorScheme name="direction/distance as HSV"> 337 <entry color="yellow"/> 338 </colorScheme> 339 <colorScheme name="by speed" interpolated="1"> 340 <entry color="red" threshold="0.00"/> 341 <entry color="yellow" threshold="8.33"/> 342 <entry color="green" threshold="15.28"/> 343 <entry color="cyan" threshold="22.22"/> 344 <entry color="blue" threshold="33.33"/> 345 <entry color="magenta" threshold="41.67"/> 346 </colorScheme> 347 <colorScheme name="by waiting time" interpolated="1"> 348 <entry color="blue" threshold="0.00"/> 349 <entry color="cyan" threshold="30.00"/> 350 <entry color="green" threshold="100.00"/> 351 <entry color="yellow" threshold="200.00"/> 352 <entry color="red" threshold="300.00"/> 353 </colorScheme> 354 <colorScheme name="by time since lane change" interpolated="1"> 355 <entry color="189,189,179" threshold="-180.00"/> 356 <entry color="yellow" threshold="-20.00"/> 357 <entry color="red" threshold="-1.00"/> 358 <entry color="179,179,179" threshold="0.00"/> 359 <entry color="blue" threshold="1.00"/> 360 <entry color="cyan" threshold="20.00"/> 361 <entry color="179,189,189" threshold="180.00"/> 362 </colorScheme> 363 <colorScheme name="by max speed" interpolated="1"> 364 <entry color="red" threshold="0.00"/> 365 <entry color="yellow" threshold="8.33"/> 366 <entry color="green" threshold="15.28"/> 367 <entry color="cyan" threshold="22.22"/> 368 <entry color="blue" threshold="33.33"/> 369 <entry color="magenta" threshold="41.67"/> 370 </colorScheme> 371 <colorScheme name="by CO2 emissions" interpolated="1"> 372 <entry color="green" threshold="0.00"/> 373 <entry color="red" threshold="5.00"/> 374 </colorScheme> 375 <colorScheme name="by CO emissions" interpolated="1"> 376 <entry color="green" threshold="0.00"/> 377 <entry color="red" threshold="0.05"/> 378 </colorScheme> 379 <colorScheme name="by PMx emissions" interpolated="1"> 380 <entry color="green" threshold="0.00"/> 381 <entry color="red" threshold="0.01"/> 382 </colorScheme> 383 <colorScheme name="by NOx emissions" interpolated="1"> 384 <entry color="green" threshold="0.00"/> 385 <entry color="red" threshold="0.12"/> 386 </colorScheme> 387 <colorScheme name="by HC emissions" interpolated="1"> 388 <entry color="green" threshold="0.00"/> 389 <entry color="red" threshold="0.02"/> 390 </colorScheme> 391 <colorScheme name="by fuel consumption" interpolated="1"> 392 <entry color="green" threshold="0.00"/> 393 <entry color="red" threshold="0.01"/> 394 </colorScheme> 395 <colorScheme name="by noise emissions (Harmonoise)" interpolated="1"> 396 <entry color="green" threshold="0.00"/> 397 <entry color="red" threshold="100.00"/> 398 </colorScheme> 399 <colorScheme name="by reroute number" interpolated="1"> 400 <entry color="red" threshold="0.00"/> 401 <entry color="yellow" threshold="1.00"/> 402 <entry color="white" threshold="10.00"/> 403 </colorScheme> 404 <colorScheme name="by selection"> 405 <entry color="179,179,179" name="unselected"/> 406 <entry color="0,102,204" name="selected"/> 407 </colorScheme> 408 <colorScheme name="by offset from best lane" interpolated="1"> 409 <entry color="red" threshold="-3.00"/> 410 <entry color="yellow" threshold="-1.00"/> 411 <entry color="179,179,179" threshold="0.00"/> 412 <entry color="cyan" threshold="1.00"/> 413 <entry color="blue" threshold="3.00"/> 414 </colorScheme> 415 <colorScheme name="by acceleration" interpolated="1"> 416 <entry color="red" threshold="-4.50"/> 417 <entry color="yellow" threshold="-0.10"/> 418 <entry color="179,179,179" threshold="0.00"/> 419 <entry color="cyan" threshold="0.10"/> 420 <entry color="blue" threshold="2.60"/> 421 </colorScheme> 422 <colorScheme name="by time gap" interpolated="1"> 423 <entry color="179,179,179" threshold="-1.00"/> 424 <entry color="yellow" threshold="0.00"/> 425 <entry color="cyan" threshold="1.00"/> 426 <entry color="blue" threshold="2.00"/> 427 </colorScheme> 428 <colorScheme name="random"> 429 <entry color="yellow"/> 430 </colorScheme> 431 </vehicles> 432 <persons personMode="4" personQuality="2" person_minSize="1.00" person_exaggeration="1.00" person_constantSize="0" 433 personName_show="1" personName_size="70.00" personName_color="yellow"> 434 <colorScheme name="given person/type color"> 435 <entry color="yellow"/> 436 </colorScheme> 437 <colorScheme name="uniform"> 438 <entry color="yellow"/> 439 </colorScheme> 440 <colorScheme name="given/assigned person color"> 441 <entry color="yellow"/> 442 </colorScheme> 443 <colorScheme name="given/assigned type color"> 444 <entry color="yellow"/> 445 </colorScheme> 446 <colorScheme name="by speed" interpolated="1"> 447 <entry color="red" threshold="0.00"/> 448 <entry color="yellow" threshold="0.69"/> 449 <entry color="green" threshold="1.39"/> 450 <entry color="blue" threshold="2.78"/> 451 </colorScheme> 452 <colorScheme name="by mode" interpolated="1"> 453 <entry color="yellow" threshold="0.00"/> 454 <entry color="blue" threshold="1.00"/> 455 <entry color="red" threshold="2.00"/> 456 <entry color="green" threshold="3.00"/> 457 </colorScheme> 458 <colorScheme name="by waiting time" interpolated="1"> 459 <entry color="blue" threshold="0.00"/> 460 <entry color="cyan" threshold="30.00"/> 461 <entry color="green" threshold="100.00"/> 462 <entry color="yellow" threshold="200.00"/> 463 <entry color="red" threshold="300.00"/> 464 </colorScheme> 465 <colorScheme name="by selection"> 466 <entry color="179,179,179" name="unselected"/> 467 <entry color="0,102,204" name="selected"/> 468 </colorScheme> 469 <colorScheme name="by angle"> 470 <entry color="yellow"/> 471 </colorScheme> 472 <colorScheme name="random"> 473 <entry color="yellow"/> 474 </colorScheme> 475 </persons> 476 <containers containerMode="0" containerQuality="2" container_minSize="1.00" container_exaggeration="1.00" container_constantSize="0" 477 containerName_show="1" containerName_size="70.00" containerName_color="yellow"> 478 <colorScheme name="given person/type color"> 479 <entry color="yellow"/> 480 </colorScheme> 481 <colorScheme name="uniform"> 482 <entry color="yellow"/> 483 </colorScheme> 484 <colorScheme name="given/assigned person color"> 485 <entry color="yellow"/> 486 </colorScheme> 487 <colorScheme name="given/assigned type color"> 488 <entry color="yellow"/> 489 </colorScheme> 490 <colorScheme name="by speed" interpolated="1"> 491 <entry color="red" threshold="0.00"/> 492 <entry color="yellow" threshold="0.69"/> 493 <entry color="green" threshold="1.39"/> 494 <entry color="blue" threshold="2.78"/> 495 </colorScheme> 496 <colorScheme name="by mode" interpolated="1"> 497 <entry color="yellow" threshold="0.00"/> 498 <entry color="blue" threshold="1.00"/> 499 <entry color="red" threshold="2.00"/> 500 <entry color="green" threshold="3.00"/> 501 </colorScheme> 502 <colorScheme name="by waiting time" interpolated="1"> 503 <entry color="blue" threshold="0.00"/> 504 <entry color="cyan" threshold="30.00"/> 505 <entry color="green" threshold="100.00"/> 506 <entry color="yellow" threshold="200.00"/> 507 <entry color="red" threshold="300.00"/> 508 </colorScheme> 509 <colorScheme name="by selection"> 510 <entry color="179,179,179" name="unselected"/> 511 <entry color="0,102,204" name="selected"/> 512 </colorScheme> 513 <colorScheme name="by angle"> 514 <entry color="yellow"/> 515 </colorScheme> 516 <colorScheme name="random"> 517 <entry color="yellow"/> 518 </colorScheme> 519 </containers> 520 <junctions junctionMode="0" drawLinkTLIndex="0" drawLinkJunctionIndex="0" 521 junctionName_show="0" junctionName_size="50.00" junctionName_color="0,255,128" 522 internalJunctionName_show="0" internalJunctionName_size="50.00" internalJunctionName_color="0,204,128" 523 showLane2Lane="0" drawShape="1"> 524 <colorScheme name="uniform"> 525 <entry color="black"/> 526 <entry color="150,200,200" name="waterway"/> 527 </colorScheme> 528 <colorScheme name="by selection"> 529 <entry color="grey" name="unselected"/> 530 <entry color="0,80,180" name="selected"/> 531 </colorScheme> 532 <colorScheme name="by type"> 533 <entry color="green" name="traffic_light"/> 534 <entry color="0,128,0" name="traffic_light_unregulated"/> 535 <entry color="yellow" name="priority"/> 536 <entry color="red" name="priority_stop"/> 537 <entry color="blue" name="right_before_left"/> 538 <entry color="cyan" name="allway_stop"/> 539 <entry color="grey" name="district"/> 540 <entry color="magenta" name="unregulated"/> 541 <entry color="black" name="dead_end"/> 542 <entry color="orange" name="rail_signal"/> 543 </colorScheme> 544 </junctions> 545 <additionals addMode="0" add_minSize="1.00" add_exaggeration="1.00" add_constantSize="0" addName_show="0" addName_size="50.00" addName_color="255,0,128"/> 546 <pois poi_minSize="0.00" poi_exaggeration="1.00" poi_constantSize="0" poiName_show="0" poiName_size="50.00" poiName_color="255,0,128"/> 547 <polys poly_minSize="0.00" poly_exaggeration="1.00" poly_constantSize="0" polyName_show="0" polyName_size="50.00" polyName_color="255,0,128"/> 548 <legend showSizeLegend="1"/> 549 </scheme> 550 <delay value="50.00"/> 551 </viewsettings>