NETCONVERT

Contents

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:

Options

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

Configuration

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 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
-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

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
-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.
--output.street-names false Street names will be included in the output (if available).

Projection

Most data of real world networks has locations and shapes of streets and junctions specified with geocoordinates. This is especially true for OSM, Tiger networks (and most of the other shapefiles) and Navteq GDF and derivatives. Since SUMO works with cartesian coordinates only, you need to perform a projection of the geo coordinates into the plane. Unfortunately there are plenty of projections available but fortunately there exists the Proj library which is used by NETCONVERT to handle almost all of them. There are several options to use geo projection (and proj) together with NETCONVERT:

Option Default Value Description
--simple-projection 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 false Determine the UTM zone (for a universal transversal mercator projection based on the WGS84 ellipsoid)
--proj.dhdn 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 false Inverses projection

In case you (or your network supplier) are already familiar with the use of proj you can pass the correct parameters directly to NETCONVERT using --proj. Sometimes also the EPSG number of a projection is known, which together with this list (coming also with most proj installations) helps to find the correct proj parameters. Most of the networks have however WGS84 data, which is usually converted using UTM. In order to support this often used projection NETCONVERT provides another option --proj.utm which determines the correct UTM zone to use from the longitude of the first point in the network. --proj.dhdn does essentially the same for data referring to the "Deutsches HauptDreiecksNetz" which used to be the basis for most of the administrative data in germany.

If you want to "undo" a projection for instance if you need to modify an existing sumo network, you can do an inverse projection by giving --proj.inverse. If you don't have proj available but desperately need a projection of some kind, you can try --proj.simple. This should be a last resort only, if you have proj, you should always prefer --proj.utm.

TLS Building

Option Default Value Description
--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 false Turns on TLS guessing
--tls.taz-nodes false Sets district nodes as tls-controlled
--tls-guess.joining false Includes node clusters into guess
--tls.join 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 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 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

Edge Removal

Option Default Value Description
--keep-edges.min-speed <FLOAT> Remove edges with speed < FLOAT
--remove-edges.explicit <STRING> Remove edges in STR
--keep-edges.explicit <STRING> Remove edges not in STR
--keep-edges.input-file <FILE> Removed edges not in FILE
--keep-edges.postload false Remove edges after joining
--keep-edges.in-boundary <STRING> Keeps edges which are located within the given boundary
--keep-edges.by-vclass <STRING> Keep edges that allow any of the vclasss in STR
--remove-edges.by-vclass <STRING> Remove edges where vclass def is not in STR
--remove-edges.isolated false Removes isolated edges

Unregulated Nodes

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

Processing

Normally, both NETCONVERT and NETGEN translate the read network so that the left- and down-most node are at coordinate (0,0). The following options allow to disable this and to apply different offsets for both the x- and the y-axis. If there are explicit offsets given, the normalization is disabled automatically (thus there is no need to give --disable-normalize-node-positions if there is at least one of the offsets given).

Option Default Value Description
--ignore-errors false Continue on broken input
--ignore-errors.connections false Continue on invalid connections
--lanes-from-capacity.norm <FLOAT> 1800 The factor for flow to no. lanes conversion.
--speed-in-kmh false vmax is parsed as given in km/h (some)
--plain.keep-edge-shape false No node positions are added to the edge shape
--matsim.keep-length false The edge lengths given in the MATSIM-file will be kept.
--matsim.lanes-from-capacity 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 false Uses edge type defaults on problems
--shapefile.all-bidirectional false Insert edges in both directions
--shapefile.guess-projection 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 false Writes lanes without an explicit speed set.
--visum.use-type-priority false Uses priorities from types
--visum.use-type-laneno false Uses lane numbers from types
--visum.use-type-speed 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 false Excludes connectors
--visum.recompute-lane-number false Computes the number of lanes from the edges' capacities
--visum.verbose-warnings false Prints all warnings, some of which are due to VISUM misbehaviour
--osm.skip-duplicates-check false Skips the check for duplicate nodes and edges.
--osm.discard-tls false Discards all traffic lights from OSM file(s).
--no-internal-links false Omits internal links
--dismiss-vclasses false Removes vehicle class restrictions from imported edges.
--no-turnarounds false Disables building turnarounds
--no-turnarounds.tls false Disables building turnarounds at tls-controlled junctions
--no-left-connections false Disables building connections to left
--geometry.split false Splits edges across geometry nodes
-R
--geometry.remove
false Removes geometry information from edges
--offset.disable-normalization 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 false Flips the y-coordinate along zero
--roundabouts.guess false Enable roundabout-guessing
--lefthand false Assumes left-hand traffic on the network
--junctions.join false Joins junctions that are close to each other (recommended for OSM import)
--junctions.join-dist <FLOAT> 15 Determines the maximal distance for joining junctions (defaults to 15)
--junctions.join-exclude <STRING>[,<STRING>]* Interprets argument as a list of junctions to exclude from joining

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
--verbose
false Switches to verbose output
-p
--print-options
false Prints option values before processing
-?
--help
true Prints this screen
-V
--version
false Prints the current version
-W
--no-warnings
false Disables output of warnings
-l <FILE>
--log <FILE>
Writes all messages to FILE
--message-log <FILE> Writes all non-error messages to FILE
--error-log <FILE> Writes all warnings and errors to FILE

Random Number

Option Default Value Description
--random 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 25 November 2011, at 12:37.