TripInfo

Instantiating within the Simulation#

The simulation is forced to generate this output using the option --tripinfo-output <FILE> on the command line/within a configuration. This output contains the information about each vehicle's departure time, the time the vehicle wanted to start at (which may be lower than the real departure time) and the time the vehicle has arrived. The information is generated for each vehicle as soon as the vehicle arrived at its destination and is removed from the network.

Generated Output#

The format is as following:

<tripinfos>
    <tripinfo id="<VEHICLE_ID>" \
            depart="<DEPARTURE_TIME>" departLane="<DEPARTURE_LANE_ID>" \
            departPos="<DEPARTURE_POSITION>" departSpeed="<DEPARTURE_SPEED>" \
            departDelay="<DEPARTURE_DELAY>" \
            arrival="<ARRIVAL_TIME>" arrivalLane="<DEPARTURE_LANE_ID>" \
            arrivalPos="<ARRIVAL_POSITION>" arrivalSpeed="<ARRIVAL_SPEED>" \
            duration="<TRAVEL_TIME>" routeLength="<ROUTE_LENGTH>" \
            waitingTime="<SECONDS_WAITING_FOR_TRAFFIC>"
            waitingCount="<NUMBER_OF_WAITING_EPISODES>" \
            rerouteNo="<REROUTE_NUMBER>" \
            devices="<DEVICE_LIST>" vtype="<VEHICLE_TYPE_ID>"/>

    ... information about further vehicles ...

</tripinfos>

Please note that, in contrary to the example above, for each time step, all those values are reported in one line. An entry is written each time a vehicle has arrived at his destination. In prior to this, the written values would not be known.

Name Type Description
id (vehicle) id The name of the vehicle that is described by this entry
depart (simulation) seconds The real departure time (the time the vehicle was inserted into the network)
departLane (lane) id The id of the lane the vehicle started its journey
departPos m The position on the lane the vehicle started its journey
departSpeed m/s The speed with which the vehicle started its journey
departDelay (simulation) seconds The time the vehicle had to wait before it could start his journey
arrival (simulation) seconds The time the vehicle reached his destination at
arrivalLane (lane) id The id of the lane the vehicle was on when reaching his destination
arrivalPos m The position on the lane the vehicle was when reaching the destination
arrivalSpeed m/s The speed the vehicle had when reaching the destination
duration (simulation) seconds The time the vehicle needed to accomplish the route
routeLength m The length of the vehicle's route
waitingTime s The time in which the vehicle speed was below or equal 0.1 m/s (scheduled stops do not count)
waitingCount # The number of times the vehicle speed went below or equal 0.1 m/s
stopTime s The time in which the vehicle was taking a planned stop
timeLoss seconds The time lost due to driving below the ideal speed. (ideal speed includes the individual speedFactor; slowdowns due to intersections etc. will incur timeLoss, scheduled stops do not count)
rerouteNo # The number the vehicle has been rerouted
devices [ID]* List of devices the vehicle had. Each device is separated from the others by a ';'.
vtype ID The type of the vehicle
speedFactor float The individual speed factor of the vehicle (possibly drawn from a speed distribution at the start of the simulation)
vaporized bool Whether the vehicle was removed from the simulation before reaching its destination

Devices#

Single devices may choose to add further output to the tripinfo file. This is currently the case for the "emissions" device which is instantiated using one of the options --device.emissions.probability <FLOAT> or --device.emissions.explicit <ID>[,<ID>]*. The written emissions depend on the chosen emission class of the vehicle (see Definition of Vehicles, Vehicle Types, and Routes and Models/Emissions). The output contains the sum of all emissions/consumption generated/consumed by the vehicle during its journey.

This adds the following line:

<tripinfos>
    <tripinfo id="<VEHICLE_ID>" ... vtype="<VEHICLE_TYPE_ID>">
        <emissions CO_abs="..." CO2_abs="..." HC_abs="..." PMx_abs="..." NOx_abs="..." fuel_abs="..."/>
    </tripinfo>
    ... information about further vehicles ...

</tripinfos>

with units as following

Name Type Description
CO_abs mg The complete amount of CO emitted by the vehicle during the trip
CO2_abs mg The complete amount of CO2 emitted by the vehicle during the trip
HC_abs mg The complete amount of HC emitted by the vehicle during the trip
PMx_abs mg The complete amount of PMx emitted by the vehicle during the trip
NOx_abs mg The complete amount of NOx emitted by the vehicle during the trip
fuel_abs mg The complete amount of fuel the vehicle used during the trip
electricity_abs Wh The complete amount of electricity the vehicle used during the trip

Output for vehicles that have not arrived at simulation end#

By default, tripinfo-output is only written on vehicle arrival. This means vehicles that have not arrived at simulation end (i.e. due to option --end) generate no output. To change this, the option --tripinfo-output.write-unfinished can be used.

Output only for selected vehicles or vehicle types#

By default all vehicles will generated tripinfo-output. By assigning a tripinfo device to selected vehicles or types, this can be changed.

Example: Setting SUMO-option --device.tripinfo.probability false will disable the device for all vehicles by default. The following definition overrides this default end enables the device for busses:

<vType id="bus">
  <param key="has.tripinfo.device" value="true"/>
</vType>

Person and Container Output#

If the simulation contains persons or containers, the following elements will be added to the output:

<personinfo id="person0" depart="0.00">
 <walk depart="0.00" arrival="47.00" arrivalPos="55.00"/>
 <ride waitingTime="74.00" vehicle="train0" depart="121.00" arrival="140.00" arrivalPos="92.00"/>
 <stop duration="20.00" arrival="160.00" arrivalPos="45.00" actType="singing"/>
</personinfo>
<containerinfo id="container0" depart="0.00">
  <tranship depart="0.00" arrival="54.00" arrivalPos="55.00"/>
  <transport waitingTime="103.00" vehicle="train0" depart="157.00" arrival="176.00" arrivalPos="92.00"/>
  <stop duration="20.00" arrival="196.00" arrivalPos="40.00" actType="waiting"/>
</containerinfo>

The <personinfo> / <containerinfo> attributes have the following meaning:

Name Type Description
id (vehicle) id The name of the person / container described by this entry
depart (simulation) seconds The departure time

The attributes within the stages have the following meaning:

Name Type Description
depart (simulation) seconds The departure time for this stage. For <ride>,<transport>, this is the time where the vehicle is entered. (-1 if the vehicl wasn't entered)
arrival (simulation) seconds The arrival time for this stage N.B. In stop stages this is the time at which the stage ends i.e. after the duration time period (-1 if the stage did not start)
arrivalPos m The arrival position on the destination edge for this stage
duration (simulation) seconds For walking and stopping, this is time spent in that stage. For a riding stage, this only is the time spent inside the vehicle. (-1 if the stage did not start or the person did not enter the vehicle)
actType string The activity description of a stop
waitingTime (simulation) seconds The time spent waiting for a vehicle
routeLength m the distance travelled in that stage
timeLoss s the time lost due to travelling at speed below the maximum speed in that stage. For a <ride> this is the timeLoss of the vehicle during the ride
maxSpeed s the maximum speed permitted in that stage

Aggregated Output#

Aggregated output for key tripinfo-output attributes can be obtained by setting the option --statistic-output.

For further aggregation see attributeStats.py and Tools/Xml#xml2csv.py.

Visualization Examples#

The TripInfo output can be used as input for several visualization tools shipped with SUMO. Some example plots are shown below.

Depart delays over time#

Generated with plotXMLAttributes.py.

Histogram of the number of stops#

Generated with plot_tripinfo_distributions.py.