Note to self:
Sumo (Simulation of Urban Mobility) simulation 101 — a series
Hereafter, read SUMO as Sumo for the ease of reading.
Sumo is an open source, urban mobility simulation software tool developed by Institute of Transportation Systems, DLR Germany. The software facilitates evaluation of infrastructural and/or policy changes before implementing with in real life. Sumo allows explicit modelling of intermodal traffic scenarios including public transport, vehicles and pedestrians. It allows import of maps in different formats, schedules (for public transport, traffic lights, etc.), GUI for visualization. Read more about different map formats that can be imported in Sumo here. Currently, I am working with Sumo and I intend to write as I learn for others who might stumble upon the same path.
This chapter focuses on random trips generation for a particular network. In the next chapter, I focus on how to create origin-destination matrix (O/D matrix) for a city area with the given data of traffic flow and vehicle distribution. Developing a basic simulation model with random trips is discussed in the lecture series here. I recommend going through these lectures if you have just started with Sumo.
The intention of this chapter is to discuss the details which are not highlighted in the video tutorials. We will go step-by-step in building the model and discuss what these steps would mean.
Installation: Python is a pre-requisite for Sumo installation. Sumo can be described as largely an XML-based, command line tool. This makes it easy for a user to read and understand general schema of file and how they interact with each other. The tool is based on libraries/packages which are used to perform certain functions. For instance, NETCONVERT package (or library?) is used to convert maps in different formats to Sumo-native XML network file. Or there are different scripts in Python which are used to perform certain tasks. For instance, the script randomtrips.py is used to create routes and then trips for a given number of vehicles.
Beginning with a network (or a map) in Sumo: A network can be created or imported within the software. Manually creating networks is both cumbersome and time-consuming so it is beneficial only in the beginning to understand the software, but later it would be much more useful to import maps. Creating maps from scratch is discussed in the tutorials above. However, it only discusses importing network from OpenStreetMap. There are different formats ( OpenStreetMap, VISUM, VISSIM, NavTeq) which can be converted to Sumo-native XML descriptions using network importer called Netconvert.
netconvert — matsim myMATsimNetwork.xml -o mySUMOnetwork.net.xml
netconvert — visum my_visum_net.net -o my_sumo_net.net.xml
netconvert — opendrive myOpenDriveNetwork.xodr -o mySUMOnetwork.net.xml
netconvert — vissim-file=<VISSIM_FILE> — output-file=MySUMOFile.net.xml
netconvert — shapefile-prefix my_shape_files
netconvert — osm-files