SUMO
Simulation of Urban MObility

- Home
- Download
- Documentation
- Wiki
- Trac
- Blog
- Contact
- SF-Project

# NETCONVERT

# From 30.000 feet

NETCONVERT imports digital road networks from different sources and generates road networks that can be used by other tools from the package.

  Purpose: Road networks import and conversion
  System: portable (Linux/Windows is tested); runs on command line
  Input (mandatory): Definition of a road network
  Output: A generated SUMO-road network; optionally also other outputs
  Programming Language: c++

# Usage Description

NETCONVERT is a command line application. It assumes at least one parameter - the combination of the name of the file type to import as parameter name and the name of the file to import as parameter value. So, for importing a network from OpenStreetMap one could simply write:

    netconvert --osm my_osm_net.xml

and for importing a VISUM-network:

    netconvert --visum my_visum_net.net

In both cases, as no output name is given, the SUMO network generated from the imported data is written into the file "net.net.xml". To write the network into a different file, use the option -o <OUTPUT_FILE>. If you want to save the imported VISUM-network into a file named "my_sumo_net.net.xml", write:

    netconvert --visum my_visum_net.net -o my_sumo_net.net.xml

Many further parameter steer how the network is imported and how the resulting SUMO-network is generated.

## Supported Formats

NETCONVERT is able to import road networks from the following formats:

- "SUMO native" XML descriptions (*.edg.xml, *.nod.xml, *.con.xml)
- OpenStreetMap (*.osm.xml), including shapes (see OpenStreetMap import)
- VISUM, including shapes and demands
- Vissim, including demands
- openDRIVE
- MATsim
- SUMO (*.net.xml)
- Shapefiles (.shp, .shx, .dbf), e.g. ArcView and newer Tiger networks
- Robocup Rescue League, including shapes
- a DLR internal variant of Navteq's GDF (Elmar format)

## Options

You may use a XML schema definition file for setting up a NETCONVERT configuration: netconvertConfiguration.xsd.

### Configuration

All applications of the SUMO-suite handle configuration options the same way. These options are discussed at Basics/Using the Command Line Applications#Configuration Files.

Option | Default Value | Description
--- | --- | ---
-c <FILE> --configuration-file <FILE> |  | Loads the named config on startup
--save-configuration <FILE> |  | Saves current configuration into FILE
--save-template <FILE> |  | Saves a configuration template (empty) into FILE
--save-schema <FILE> |  | Saves the configuration schema into FILE
--save-commented <BOOL> | false | Adds comments to saved template, configuration, or schema

### Input

Option | Default Value | Description
--- | --- | ---
-s <FILE> --sumo-net-file <FILE> |  | Read SUMO-net from FILE
-n <FILE> --node-files <FILE> |  | Read XML-node defs from FILE
-e <FILE> --edge-files <FILE> |  | Read XML-edge defs from FILE
-x <FILE> --connection-files <FILE> |  | Read XML-connection defs from FILE
-i <FILE> --tllogic-files <FILE> |  | Read XML-traffic light defs from FILE
-t <FILE> --type-files <FILE> |  | Read XML-type defs from FILE
--shapefile-prefix <FILE> |  | Read shapefiles (ArcView, Tiger, ...) from files starting with 'FILE'
--dlr-navteq-prefix <FILE> |  | Read converted Navteq GDF data (unsplitted Elmar-network) from path 'FILE'
--osm-files <FILE> |  | Read OSM-network from path 'FILE(s)'
--opendrive-files <FILE> |  | Read openDrive-network from FILE
--visum-file <FILE> |  | Read VISUM-net from FILE
--vissim-file <FILE> |  | Read VISSIM-net from FILE
--robocup-dir <FILE> |  | Read RoboCup-net from DIR
--matsim-files <FILE> |  | Read MATsim-net from FILE
--itsumo-files <FILE> |  | Read ITSUMO-net from FILE

### Output

Option | Default Value | Description
--- | --- | ---
-o <FILE> --output-file <FILE> |  | The generated net will be written to FILE
--plain-output-prefix <FILE> |  | Prefix of files to write plain xml nodes, edges and connections to
--junctions.join-output <FILE> |  | Writes information about joined junctions to FILE (can be loaded as additional node-file to reproduce joins
-M <FILE> --map-output <FILE> |  | Writes joined edges information to FILE
--matsim-output <FILE> |  | The generated net will be written to FILE using MATsim format.
--opendrive-output <FILE> |  | The generated net will be written to FILE using openDRIVE format.
--dlr-navteq-output <FILE> |  | The generated net will be written to dlr-navteq files with the given PREFIX.
--output.street-names <BOOL> | false | Street names will be included in the output (if available).
--output.original-names <BOOL> | false | Writes original names, if given, as parameter.
--street-sign-output <FILE> |  | Writes street signs as POIs to FILE.

### Projection

Option | Default Value | Description
--- | --- | ---
--simple-projection <BOOL> | false | Uses a simple method for projection
--proj.scale <INT> | 0 | Number of places to shift decimal point to right in geo-coordinates
--proj.utm <BOOL> | false | Determine the UTM zone (for a universal transversal mercator projection based on the WGS84 ellipsoid)
--proj.dhdn <BOOL> | false | Determine the DHDN zone (for a transversal mercator projection based on the bessel ellipsoid)
--proj <STRING> | ! | Uses STR as proj.4 definition for projection
--proj.inverse <BOOL> | false | Inverses projection
--proj.plain-geo <BOOL> | false | Write geo coordinates in plain-xml

### Tls Building

Option | Default Value | Description
--- | --- | ---
--tls.discard-loaded <BOOL> | false | Does not instatiate traffic lights loaded from other formats than XML
--tls.set <STRING> |  | Interprets STR as list of junctions to be controlled by TLS
--tls.unset <STRING> |  | Interprets STR as list of junctions to be not controlled by TLS
--tls.guess <BOOL> | false | Turns on TLS guessing
--tls.taz-nodes <BOOL> | false | Sets district nodes as tls-controlled
--tls-guess.joining <BOOL> | false | Includes node clusters into guess
--tls.join <BOOL> | false | Tries to cluster tls-controlled nodes
--tls.green.time <INT> | 31 | Use INT as green phase duration
-D <FLOAT> --tls.yellow.min-decel <FLOAT> | 3 | Defines smallest vehicle deceleration
--tls.yellow.patch-small <BOOL> | false | Given yellow times are patched even if being too short
--tls.yellow.time <INT> |  | Set INT as fixed time for yellow phase durations
--tls.half-offset <STRING> |  | TLSs in STR will be shifted by half-phase
--tls.quarter-offset <STRING> |  | TLSs in STR will be shifted by quarter-phase

### Ramp Guessing

Option | Default Value | Description
--- | --- | ---
--ramps.guess <BOOL> | false | Enable ramp-guessing
--ramps.max-ramp-speed <FLOAT> | -1 | Treat edges with speed > FLOAT as no ramps
--ramps.min-highway-speed <FLOAT> | 21.9444 | Treat edges with speed < FLOAT as no highways
--ramps.ramp-length <FLOAT> | 100 | Use FLOAT as ramp-length
--ramps.set <STRING> |  | Tries to handle the given edges as ramps
--ramps.no-split <BOOL> | false | Avoids edge splitting

### Edge Removal

Option | Default Value | Description
--- | --- | ---
--keep-edges.min-speed <FLOAT> |  | Only keep edges with speed in meters/second > FLOAT
--remove-edges.explicit <STRING> |  | Remove edges in STR
--keep-edges.explicit <STRING> |  | Only keep edges in STR
--keep-edges.input-file <FILE> |  | Only keep edges in FILE
--keep-edges.postload <BOOL> | false | Remove edges after joining
--keep-edges.in-boundary <STRING> |  | Only keep edges which are located within the given boundary (given either as CARTESIAN corner coordinates <xmin,ymin,xmax,ymax> or as polygon <x0,y0,x1,y1,...>)
--keep-edges.by-vclass <STRING> |  | Only keep edges which allow one of the vclasss in STR
--remove-edges.by-vclass <STRING> |  | Remove edges which allow only vclasses from STR
--keep-edges.by-type <STRING> |  | Only keep edges where type is in STR
--remove-edges.by-type <STRING> |  | Remove edges where type is in STR
--remove-edges.isolated <BOOL> | false | Removes isolated edges

### Unregulated Nodes

Option | Default Value | Description
--- | --- | ---
--keep-nodes-unregulated <BOOL> | false | All nodes will be unregulated
--keep-nodes-unregulated.explicit <STRING> |  | Do not regulate nodes in STR
--keep-nodes-unregulated.district-nodes <BOOL> | false | Do not regulate district nodes

### Processing

Option | Default Value | Description
--- | --- | ---
--ignore-errors <BOOL> | false | Continue on broken input
--ignore-errors.connections <BOOL> | false | Continue on invalid connections
--show-errors.connections-first-try <BOOL> | false | Show errors in connections at parsing
--lanes-from-capacity.norm <FLOAT> | 1800 | The factor for flow to no. lanes conversion.
--speed-in-kmh <BOOL> | false | vmax is parsed as given in km/h (some)
--plain.extend-edge-shape <BOOL> | false | If edge shapes do not end at the node positions, extend them
--matsim.keep-length <BOOL> | false | The edge lengths given in the MATSIM-file will be kept.
--matsim.lanes-from-capacity <BOOL> | false | The lane number will be computed from the capacity.
--shapefile.street-id <STRING> |  | Read edge ids from column STR
--shapefile.from-id <STRING> |  | Read from-node ids from column STR
--shapefile.to-id <STRING> |  | Read to-node ids from column STR
--shapefile.type-id <STRING> |  | Read type ids from column STR
--shapefile.use-defaults-on-failure <BOOL> | false | Uses edge type defaults on problems
--shapefile.all-bidirectional <BOOL> | false | Insert edges in both directions
--shapefile.guess-projection <BOOL> | false | Guess the proper projection
--vissim.join-distance <FLOAT> | 5 | Structure join offset
--vissim.default-speed <FLOAT> | 50 | Use FLOAT as default speed
--vissim.speed-norm <FLOAT> | 1 | Factor for edge velocity
--vissim.report-unset-speeds <BOOL> | false | Writes lanes without an explicit speed set.
--visum.use-type-priority <BOOL> | false | Uses priorities from types
--visum.use-type-laneno <BOOL> | false | Uses lane numbers from types
--visum.use-type-speed <BOOL> | false | Uses speeds from types
--visum.connector-speeds <FLOAT> | 100 | Sets connector speed
--visum.connectors-lane-number <INT> | 3 | Sets connector lane number
--visum.no-connectors <BOOL> | false | Excludes connectors
--visum.recompute-lane-number <BOOL> | false | Computes the number of lanes from the edges' capacities
--visum.verbose-warnings <BOOL> | false | Prints all warnings, some of which are due to VISUM misbehaviour
--osm.skip-duplicates-check <BOOL> | false | Skips the check for duplicate nodes and edges.
--no-internal-links <BOOL> | false | Omits internal links
--dismiss-vclasses <BOOL> | false | Removes vehicle class restrictions from imported edges.
--no-turnarounds <BOOL> | false | Disables building turnarounds
--no-turnarounds.tls <BOOL> | false | Disables building turnarounds at tls-controlled junctions
--no-left-connections <BOOL> | false | Disables building connections to left
--geometry.split <BOOL> | false | Splits edges across geometry nodes
-R <BOOL> --geometry.remove <BOOL> | false | Replace nodes which only define edge geometry by geometry points (joins edges)
--geometry.max-segment-length <FLOAT> | 0 | splits geometry to restrict segment length
--offset.disable-normalization <BOOL> | false | Turn off normalizing node positions
--offset.x <FLOAT> | 0 | Adds FLOAT to net x-positions
--offset.y <FLOAT> | 0 | Adds FLOAT to net y-positions
--flip-y-axis <BOOL> | false | Flips the y-coordinate along zero
--roundabouts.guess <BOOL> | false | Enable roundabout-guessing
--lefthand <BOOL> | false | Assumes left-hand traffic on the network
--junctions.join <BOOL> | false | Joins junctions that are close to each other (recommended for OSM import)
--junctions.join-dist <FLOAT> | 10 | Determines the maximal distance for joining junctions (defaults to 10)
--junctions.join-exclude <STRING> |  | Interprets STR as list of junctions to exclude from joining
--speed.offset <FLOAT> | 0 | Modifies all edge speeds by adding FLOAT
--speed.factor <FLOAT> | 1 | Modifies all edge speeds by multiplying FLOAT
--tls.join-dist <FLOAT> | 20 | Determines the maximal distance for joining traffic lights (defaults to 20)

### Building Defaults

Option | Default Value | Description
--- | --- | ---
-L <INT> --default.lanenumber <INT> | 1 | The default number of lanes in an edge
-S <FLOAT> --default.speed <FLOAT> | 13.9 | The default speed on an edge (in m/s)
-P <INT> --default.priority <INT> | -1 | The default priority of an edge

### Report

Option | Default Value | Description
--- | --- | ---
-v <BOOL> --verbose <BOOL> | false | Switches to verbose output
-p <BOOL> --print-options <BOOL> | false | Prints option values before processing
-? <BOOL> --help <BOOL> | false | Prints this screen
-V <BOOL> --version <BOOL> | false | Prints the current version
-X <BOOL> --xml-validation <BOOL> | false | Enable schema validation of XML inputs
-W <BOOL> --no-warnings <BOOL> | false | Disables output of warnings
-l <FILE> --log <FILE> |  | Writes all messages to FILE (implies verbose)
--message-log <FILE> |  | Writes all non-error messages to FILE (implies verbose)
--error-log <FILE> |  | Writes all warnings and errors to FILE

### Random Number

Option | Default Value | Description
--- | --- | ---
--random <BOOL> | false | Initialises the random number generator with the current system time
--seed <INT> | 23423 | Initialises the random number generator with the given value

This page was last modified on 3 December 2012, at 21:37.