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
If your network contains geo-coordiantes (lon/lat) you must add option --proj.utm in order to project your network into the cartesian plane
The following table shows which information is parsed from a given VISUM network.
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.
Information NETCONVERT reads from VISUM networks
|Table name||Imported attributes||Description|
NAME (unused later)
|ABBIEGEBEZIEHUNG (ABBIEGER)||VonKnot (VonKnotNr)
VonKnot / VONSTRNR
NachKnot / NACHSTRNR
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.
"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
VISUM does not work with the lane numbers of streets, instead, the streets' capacities are used. This means that under circumstances the informationabout 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#
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.
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.
Importing other data from VISUM#
- PTV AG's VISUM-page (06.09.2011)
- Attributes of connectors
- Importing POIs/Shapes
- what is exactly imported (how edge attributes are determined)
- other traffic modes
- Network quality