This page describes simulations of trains in SUMO. To build an intermodal simulation scenario with trains, additional steps have to be take in comparison to a plain vehicular simulation.
Approaches to train modelling
Currently, no exclusive movement model for trains is implemented. Instead the existing models for vehicle movement need to be re-purposed.
Building a network for train simulation
Railways can be imported from OSM. They can also be explicitly specified using the existing vClasses.
Bidirectional track usage
Bidirectional track usage is modelled by two edges that have their geometries exactly reversed and using the attribute spreadType="center". This will result in lane geometries that are overlayed exactly. These edges are referred to as superposed (alternatively as bidirecticional rail edges).
Rail signals recognize superposed edges and automatically restrict their usage so that only one direction is accessible at a time.
When importing networks from OSM, rails tagged with railway:preferred_direction:both are automatically imported as superposed edges.
SUMO-GUI automatically shows only one of both edges to avoid duplicate drawing of cross-ties. The visualisation option show lane direction can be used to identifiy superposed edges as arrows in both directions will be show.
NETEDIT supports the visualisation option spread superposed which draws both edges with an offset and thus makes it easier to edit them.
The node type rail_crossing may be used to define railway crossings. At these nodes trains will always have the right of way and road vehicles get a red light until there is a safe gap between approaching trains.
When importing networks from OpenStreetMap, rail crossings will be imported automatically. For other input data sources the crossings may have to be specified via additional xml files or set via NETEDIT after importing.