netconvert can import native VISUM-network files. Their extension is ".net". If you do not have a file with this extension, but a ".ver"-file only, you have to generate the ".net"-file using VISUM by exporting it from the loaded version description (".ver"-file).
The option to load a VISUM ".net"-file into netconvert in order to convert it into a SUMO-network is named --visum-file <FILE> or --visum <FILE> for short. So, the following call to netconvert imports the road network stored in "my_visum_net.net" and stores the SUMO-network generated from this data into "my_sumo_net.net.xml":
netconvert --visum my_visum_net.net -o my_sumo_net.net.xml
Caution
If your network contains geo-coordinates (lon/lat) you must add option --proj.utm in order to project your network into the cartesian plane
Import Coverage#
The following table shows which information is parsed from a given VISUM network.
Caution
The keywords within a VISUM file are localized. By default netconvert assumes LANGUAGE DEU. You can use option --visum.language-file <FILE> to read a language mapping from DEU into another language. Mapping files for can be found in the SUMO_HOME/data/lang
folder.
Information netconvert reads from VISUM networks
Table name | Imported attributes | Description |
---|---|---|
VSYS | VSysCode (CODE) VSysMode (TYP) |
Traffic modes |
STRECKENTYP | Nr v0-IV (V0IV) Rang Kap-IV (KAPIV) |
Edge types |
KNOTEN | Nr XKoord YKoord |
Nodes |
BEZIRK | Nr NAME (unused later) Proz_Q Proz_Z XKoord YKoord |
Districts |
STRECKE (STRECKEN) | Nr VonKnot (VonKnotNr) NachKnot (NachKnotNr) Typ (TypNr) Einbahn |
Edges |
ANBINDUNG | BezNr KnotNr Proz t0-IV Typ Richtung |
District connections |
ABBIEGEBEZIEHUNG (ABBIEGER) | VonKnot (VonKnotNr) UeberKnot (UeberKnotNr) NachKnot (NachKnotNr) VSysCode (VSYSSET) |
Edge Connections |
STRECKENPOLY | VonKnot (VonKnotNr) NachKnot (NachKnotNr) INDEX XKoord YKoord |
Edge geometries |
FAHRSTREIFEN | KNOTNR STRNR FSNR RICHTTYP LAENGE |
Lane descriptions |
LSA (SIGNALANLAGE) | Nr Umlaufzeit (UMLZEIT) StdZwischenzeit (STDZWZEIT) PhasenBasiert |
Traffic lights |
KNOTENZULSA (SIGNALANLAGEZUKNOTEN) | KnotNr LsaNr |
Nodes->TLS |
LSASIGNALGRUPPE (SIGNALGRUPPE) | Nr LsaNr GzStart (GRUENANF) GzEnd (GRUENENDE) GELB |
Signal groups |
ABBZULSASIGNALGRUPPE (SIGNALGRUPPEZUABBIEGER) |
SGNR (SIGNALGRUPPENNR) LsaNr VonKnot / VONSTRNR NachKnot / NACHSTRNR UeberKnot (UeberKnotNr) LsaNr |
Edge connections->TLS |
LSAPHASE (PHASE) | Nr LsaNr GzStart (GRUENANF) GzEnd (GRUENENDE) |
Signal phases |
LSASIGNALGRUPPEZULSAPHASE | PsNr LsaNr SGNR |
Signal groups->phases |
FAHRSTREIFENABBIEGER | KNOT (KNOTNR) VONSTR (VONSTRNR) NACHSTR (NACHSTRNR) VONFSNR NACHFSNR |
Lane-to-lane descriptions |
Well, basically that's all for network import, isn't it? Well, actually not. In the following, the basic possibilities and further advices and tricks for working with these is described.
Note
"Rang" from "Streckentypen" is used as edge priority information. As streets with a lower "Rang" are normally higher priorised, an edge type's priority is computed as 100-Rang
Lane Number#
VISUM does not work with the lane numbers of streets, instead, the streets' capacities are used. This means that under circumstances the information about the edges' lane numbers are missing. Still, one can try to obtain the lane number from the given edges' capacities. An approximation is:
LANE_NUMBER = MAXIMUM_FLOW / CAPACITY_NORM
The value of CAPACITY_NORM is controlled via the option --capacity-norm <FLOAT> (default: 1800).
In the case the "ANZFAHRSTREIFEN" (lane numbers) field within the net's "STRECKEN" (edges)-table is empty, and also the types do not hold any information about the according edges' lane numbers, this conversion is done automatically. Still, we also had VISUM nets in our hands, where a capacity was given, but the lane number field was set to 1 for all edges. In this case, one has to force netconvert to ignore the lane number attribute and use the capacity. This is done by using the option --visum.recompute-laneno.
Dealing with Connectors#
VISUM as a macroscopic tool, does not regard single vehicles. As one consequence, VISUM uses "connections" through which traffic is fed from the districts into the network.
The effects on using such connectors within a microscopic simulations should be described at a different page. Here, we want to show the possibilities to change the connector attributes using netconvert.
See also#
netconvert is able to guess some information which is sometimes missing in imported networks. Below, you may find links to further information of interest.
- Most VISUM networks do not contain definitions of traffic lights positions; Still, netconvert is able to guess tls positions and to guess tls programs.
- Also, we have not seen a VISUM network where on- and off-ramps where available for highways. netconvert is able to guess on- and off-ramps.
- In addition to the network, further descriptions of lane-to-lane or edge-to-edge connections may be read.
Other possibilities of netconvert, such as projection of geo-coordinates, should not apply when working with VISUM networks.
Importing other data from VISUM#
VISUM uses O/D-matrices as a demand descriptions. There is some further information on Demand/Importing O/D Matrices.
References#
- PTV AG's VISUM-page (06.09.2011)
Missing#
- Attributes of connectors
- Importing POIs/Shapes
- what is exactly imported (how edge attributes are determined)
- other traffic modes
- Network quality