SUMO is a free and open traffic simulation suite which is available since 2001. SUMO allows modelling of intermodal traffic systems including road vehicles, public transport and pedestrians.

  • This simulator has many options to customise the simulation, options like CO2 emissions on roads, speed limits of the roads etc
  • The data for simulation is taken from the OpenStreetMap

Steps to simulate traffic of a particular region.

Step 1: Download OSM data from Open Street Maps (<file_name>.osm)

Step 2: Run this command to get the .net file required for simulation. (Netconvert imports digital road networks from different sources and generates road networks that can be used by other tools from this package.)

netconvert --osm-files <file_name>.osm -o <file_name>.net.xml --output.street-names true --output.original-names true

Step 3: From the following link copy the additional polygons structures

Step 4: Save the data into a file and name it as ‘typemap.xml’ then run the following command. (Polyconvert imports geometrical shapes (polygons or points of interest) from different sources, converts them to a representation that may be visualized using SUMO-GUI)

polyconvert --net-file <file_name>.net.xml --osm-files <file_name>.osm --type-file typemap.xml -o <file_name>.poly.xml

python /Applications/sumo-0.23.0/tools/trip/ -n <file_name>.net.xml -e 100 -l

python /Applications/sumo-0.23.0/tools/trip/ -n <file_name>.net.xml -r <file_name>.rou.xml -e 100 -l

  • After the above steps, the routes have been generated, in the xml file you need to configure the file for the SUMO gui

Step 5: Search for the sumo.cfg file in the sumo folder and copy it to your working folder.

The configuration file should be modified with the following contents:


Step 6: To run the simulator

sumo-gui <file_name>.sumo.cfg



  • Helps one understand how each tag that we use impacts the traffic.
  • Helps in, in-depth analysis of the road network that’s established by the OSM data.
  • It by default simulates right-hand driving traffic conventions and has no options for left-hand driving conventions.

For more questions.

Comment from pratikyadav on 7 August 2015 at 07:09

great writeup

Comment from !i! on 7 August 2015 at 07:25

Thanks for sharing! I just did some experiments with the eWorld frontend and OSM. But wasn’t that amazing :-)

Comment from onion on 7 August 2015 at 07:57

Can you simulate buss traffic from osm buss routes ?

Comment from jinalfoflia on 7 August 2015 at 08:25

@pratikyadav Thanks!

@!i! Oh! Seems interesting, will surely check that out. Thank you!

@onion I haven’t tried it though, it seems to be possible to simulate bus traffic from OSM bus routes.

Comment from !i! on 7 August 2015 at 08:59

I would be interested to know, if SUMO can benefit from alle the POIs that we tag at OSM? For example can a school be detected and used within the simulation? (e.g. n % of parents drive to school during 6:00…7:00am?)

Comment from PlaneMad on 7 August 2015 at 12:07

Looks very interesting Jinal. Also found some more tutorials that could come in handy to learn how this can be used in some real world scenarios. Pretty cool software!

Comment from jinalfoflia on 10 August 2015 at 09:08

@!i! We can add the POIs by using the additional polygons, but i’m uncertain about the simulator detecting it.

We can manually simulate the area around the required POIs. (for eg. School, this can be done with some approximate numbers as to n% of parents , one can simulate the traffic scenario near a school and predict some improvements accordingly)

@PlaneMad Thank you for the tutorials!

Comment from KVLA-HRO-Mei on 14 August 2015 at 07:11

@jinalfoflia Thanks for the answer. I’m not sure, but if I remember correctly, than eWorld is able to synthesize such polygons automaticaly. Also they feature to add e.g. weather anomalies etc. But to be honest, I have no idea about the realism of such enriched simulations ;-)

Comment from bob_sim on 18 August 2015 at 19:29

Good introduction to SUMO. In your NetCONVERT-Command, you can use ‘–tls-join true’ to prevent SUMO from having red-light-stop-positions in the middel of your junction, making the traffic-flow collapse very fast.

Look for the right additional configuration here:

Comment from jinalfoflia on 20 August 2015 at 11:11

@KVLA-HRO-Mei I’ll surely check out eWorld. Thank you :)

@bob_sim This was really helpful, will surely try it to make simulation better. Thank you.

Comment from Baloo Uriza on 28 August 2015 at 18:47

OK, this is a total pisser from a Debian perspective…can’t seem to get traffic generated.

Comment from habib_tum on 14 October 2015 at 14:52

I have followed the above process and trying to generate random route using my system variable is set for python.I used manual path for in windows 7 following the above.

current_dir>python D:\source\sumo-0.21.0\tools\trip\ -n -e 100 -l

the above line worked and created trips.trips xml file. i have following files now in current_dir: gerching.osm gerching.poly typemap trips.trips

current_dir>python D:\source\sumo-0.21.0\tools\trip\ -n -r gerching.rou.xml -e 100 -l calling D:\source\sumo-0.21.0\tools\trip....\bin\duarouter -n l -t trips.trips.xml -o gerching.rou.xml –ignore-errors –begin 0 –end 50.0 – no-step-log Traceback (most recent call last): File “D:\source\sumo-0.21.0\tools\trip\”, line 209, in main(get_options()) File "D:\source\sumo-0.21.0\tools\trip\", line 205, in main File "C:\Python27\lib\", line 522, in call return Popen(*popenargs, **kwargs).wait() File "C:\Python27\lib\", line 710, in __init__ errread, errwrite) File "C:\Python27\lib\", line 958, in _execute_child startupinfo) WindowsError: [Error 2] The system cannot find the file specified

It does not create any file for the above command. How to solve it? Thanks in advance

Comment from Ankita Mithaiwala on 2 December 2015 at 08:20

I m getting error when i run python command. The error like this: Traceback (most recent call last): File “/home/ankita/Downloads/sumo-0.12.3/tools/trip/”, line 49, in net = sumonet.readNet(options.netfile) File "/home/ankita/Downloads/sumo-0.12.3/tools/trip/../lib/", line 447, in readNet parser.parse(filename) File "/usr/lib/python2.7/xml/sax/", line 107, in parse xmlreader.IncrementalParser.parse(self, source) File "/usr/lib/python2.7/xml/sax/", line 123, in parse self.feed(buffer) File "/usr/lib/python2.7/xml/sax/", line 210, in feed self._parser.Parse(data, isFinal) File "/usr/lib/python2.7/xml/sax/", line 304, in start_element self._cont_handler.startElement(name, AttributesImpl(attrs)) File "/home/ankita/Downloads/sumo-0.12.3/tools/trip/../lib/", line 363, in startElement self._currentEdge = self._net.addEdge(attrs['id'], attrs['from'], attrs['to'], prio, attrs['function']) File "/usr/lib/python2.7/xml/sax/", line 316, in __getitem__ return self._attrs[name] KeyError: 'function' can u help me to solve this error? Thank u. Reply.

Comment from Ankita Mithaiwala on 3 December 2015 at 14:29

I m unable to find sumo.cfg in sumo folder. Can any one help me?? I m currently SUMO 0.23 version. Where search sumo.cfg file??

Comment from Ankita Mithaiwala on 5 December 2015 at 05:56

Please give me solution..

Comment from ben hassine Afef on 30 May 2016 at 17:51

Hi, I try to install SUMO and when I type the command “netconvert” it is not identified by my cmd. Any A solution please .

Comment from bu_zyad on 10 October 2016 at 09:39

I got

netconvert –osm-files map.osm -o –output.street-names true –output.original-names true Error: Could not open osm-file ‘map.osm’. Error: No nodes loaded. Quitting (on error).

how to solve it?

Comment from bu_zyad on 10 October 2016 at 09:40

I got

netconvert –osm-files map.osm -o –output.street-names true –output.original-names true

Error: Could not open osm-file ‘map.osm’.

Error: No nodes loaded.

Quitting (on error).

how to solve it?

sorry it was missed up

Comment from RitaEnami on 11 December 2016 at 18:55

Thanks for sharing. Do you have any idea that how we can implement the GSM wireless traffic with SUMO?

Comment from khanali on 11 January 2018 at 11:33

Please help me.. i imported OSM Map to sumo and they correctly simulate means the vehicles runs correctly but i want to calculate vehicle start to end time during simulation from source to destination ??? so how i calculate vehicle trip time from source to destination ???

Login to leave a comment