"randomTrips.py" generates a set of random trips for a given network (option "-n"). It does so by choosing source and destination edge either uniformly at random or weighted by length (option "-l"), by number of lanes (option "-L") or both. The resulting trips are stored in an xml file (option "-o", default trips.trips.xml) suitable for the DUAROUTER which is called automatically if the "-r" option (with a filename for the resulting route file) is given. The trips are distributed evenly in an interval defined by begin (option "-b", default 0) and end time (option "-e", default 3600) in seconds. The number of trips is defined by the repetition rate (option "-p", default 1) in seconds. Every trip has an id consisting of a prefix (option "--prefix", default "") and a running number. Example call:
<SUMO_HOME>/tools/trip/randomTrips.py -n input_net.net.xml -e 50 -l
The script does not check whether the chosen destination may be reached from the source. This task is performed by the router. If the network is not fully connected some of the trips may be discarded.
The option --min-distance <FLOAT> ensures a minimum straight-line distance (in meter) between start and end edges of a trip. The script will keep sampling from the edge distribution until enough trips with sufficient distance are found.
The option --fringe-factor <FLOAT> increases the probability that trips will start/end at the fringe of the network. If the value 10 is given, edges that have no successor or no predecessor will be 10 times more likely to be chosen as start- or endpoint of a trip. This is useful when modelling through-traffic which starts and ends at the outside of the simulated area.
For additional ways to influence edge probabilities call
generating vehicles with additional parameters
With the option --trip-parameters <STRING>, additional parameters can be given to the generated vehicles (note, usage of the quoting characters).
<SUMO_HOME>/tools/trip/randomTrips.py -n input_net.net.xml --trip-parameters="departLane=\"best\" departSpeed=\"max\" departPos=\"random\""
This would make the random vehicles be distributed randomly on their starting edges and inserted with high speed on a reasonable lane.
If the generated vehicles should have a specific vehicle type, an additional-file needs to be prepared:
<additional> <vType id="myType" maxSpeed="27" vClass="passenger"/> </additional>
Then load this file (assume it was saved as type.add.xml) with the option --additional-file
<SUMO_HOME>/tools/trip/randomTrips.py -n input_net.net.xml --trip-parameters="type=\"myType\"" --additional-file type.add.xml --vclass passenger
Note the use of the option --vclass which ensures that random start- and arrival-edges allow a specific vehicle class.
To generate random pedestrian traffic instead of vehicular traffic, the option --pedestrians may be used. It is recommended to combined this with the option --max-distance to avoid walks of excessive length. See Simulation/Pedestrians for addition information on the simulation of pedestrians.
Using option weights-output-prefix foo will cause three files (foo.src.xml, foo.dst.xml, foo.via.xml) to be generated which contain the used edge probabilities. Any of these files can be loaded in SUMO-GUI for visualization, i.e. using the options --weight-file foo.src.xml --weight-attribute value. In SUMO-GUI lane-coloring by loaded weight must be selected to make the data visible.
Files in this format can be loaded to specify explicit edge probabilities for being a source/destination/via edge. To obtain trips from a specific location to random destinations you may provide a modified .src.xml file which only contains a value for the desired start location. Then load that file using the option --weights-prefix foo.src.xml
When loading weights, missing edges will default to probability 0 and missing files (i.e. missing foo.dst.xml) will default to normal randomization.
This script generates a trip file from a route file by stripping all route information except for start and end edge. It has a single parameter which is the route file and prints the trip file to stdout. Example: