After having generated a network, one could take a look at it using sumogui, but no cars would be driving around. One still needs some kind of description about the vehicles. This is called the traffic demand. From now on we will use the following nomenclature: A trip is a vehicle movement from one place to another defined by the starting edge (street), the destination edge, and the departure time. A route is an expanded trip, that means, that a route definition contains not only the first and the last edge, but all edges the vehicle will pass. sumo and sumogui need routes as input for vehicle movements. There are several ways to generate routes for SUMO. The choice depends on your available input data:

Using trip definitions
As described above, each trip consists at least of the starting and the ending edge and the departure time. This is useful for when you want to create demand by hand or when writing your own scripts to import custom data. You may either use duarouter to turn your trips into routes. See Demand/Shortest_or_Optimal_Path_Routing and Demand/Dynamic_User_Assignment, or you may load the trips directly into sumo (more details).

Using flow definitions
This is mostly the same approach as using trip definitions, but one may join vehicles having the same departure and arrival edge using this method

Using Randomization
This is a quick way to get some traffic if you do not have access to any measurements but the results are highly unrealistic. See Tools/Trip#randomTrips.py

Using ODmatrices
OriginDestinationMatrices (or ODmatrices) are often available from traffic authorities. They have to be converted to trips using od2trips. See Demand/Importing_O/D_Matrices, Demand/Shortest_or_Optimal_Path_Routing and Demand/Dynamic_User_Assignment.

Using flow definitions and turning ratios
One may also leave out the destination edges for flows and use turning ratios at junctions instead. See jtrrouter.

Using detector data (observation points)
Induction loops and similar devices are commonly used by authorities to measure traffic. Using dfrouter you may uses this data to generate demand. See Demand/Routes_from_Observation_Points.

By hand
You can of course generate route XMLfiles by hand. See Definition_of_Vehicles,_Vehicle_Types,_and_Routes.

Using population statistics
The program activitygen can be used to turn population statistics into traffic demand. See Demand/Activitybased Demand Generation.

Using data from other sources
By now, the SUMOpackage contains four applications for generating routes. duarouter is responsible for importing routes or their definitions from other simulation packages and for computing routes using the shortestpath algorithm by Dijkstra. Additionally, in combination with the simulation, the duarouter can compute the dynamic user assignment formulated by C. Gawron. jtrrouter may be used if you want to model traffic statistically, using flows and turning percentages at junctions. od2trips helps you to convert ODmatrices (origin/destinationmatrices) into trips. The dfrouter computes routes from given observation point measures.