前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >SUMO学习笔记(3)

SUMO学习笔记(3)

作者头像
嘘、小点声
发布2021-05-13 17:11:31
1.4K0
发布2021-05-13 17:11:31
举报
文章被收录于专栏:嘘、小点声嘘、小点声

网格环境

https://sumo.dlr.de/docs/Tutorials/Manhattan.html

使用netgenerate软件生成net网络。

编写如下netgcfg文件,内容如下,生成10*10的网格环境

代码语言:javascript
复制
<?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文件,即为网格环境

代码语言:javascript
复制
netgenerate -c 111.netgcfg

复制Eclipse/Sumo/tools/下的randomTrips.py文件到工作目录。执行以下命令,获取flows.xml文件

代码语言:javascript
复制
python randomTrips.py -n net.net.xml -o flows.xml --begin 0 --end 1 --flows 100 --jtrrouter

使用jtrrouter软件生成路由文件,编写以下jtrrcfg文件

代码语言:javascript
复制
<?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

代码语言:javascript
复制
jtrrouter -c 111.jtrrcfg

然后编写可视化文件如下,即可进行仿真

代码语言:javascript
复制
<?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。内容如下:

代码语言:javascript
复制
<?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>
代码语言:javascript
复制
<?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>
代码语言:javascript
复制
<?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后缀文件,得到网络文件

代码语言:javascript
复制
netconvert -n 111.nod.xml -e 111.edg.xml -x 111.con.xml -o 111.net.xml

编写可视化文件,后缀为sumocfg,内容如下

代码语言:javascript
复制
<?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的文件,用于输出信息,内容如下

代码语言:javascript
复制
<e1Detector id="0" lane="4i_0" pos="450" freq="30" file="111.out" friendlyPos="x"/>

之后是重点内容,python程序,该程序首先会生成后缀为rou.xml的文件。

该文件生成的路由文件,包含了从东->西,西->东,北->南行进的车辆。

在控制过程中,当北->南的车辆存在则优先通行。通行过程使用交通信号控制。

代码语言:javascript
复制
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

点、边、连接文件:

代码语言:javascript
复制
 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手动生成的文件和配置文件最后得到的结果不一致)

代码语言:javascript
复制
 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>

路由文件

代码语言:javascript
复制
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>

可视化文件

代码语言:javascript
复制
 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后缀的行人路由文件

代码语言:javascript
复制
  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控制则生效

代码语言:javascript
复制
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

代码语言:javascript
复制
  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>
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2021-05-11 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 网格环境
  • 交通信号控制
  • 行人通行控制
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档