NETCONVERT

From Sumo
Jump to: navigation, search

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

Import

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

Export

NETCONVERT is able to export road networks in the following formats:

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 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> Adds comments to saved template, configuration, or schema; default: false

Input

Option 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
--heightmap.shapefiles <FILE> Read heightmap from ArcGIS shapefile
--heightmap.geotiff <FILE> Read heightmap from GeoTIFF

Output

Option Description
--output-prefix <STRING> Prefix which is applied to all output files. The special string 'TIME' is replaced by the current time.
--precision <INT> Defines the number of digits after the comma for floating point output; default: 2
--precision.geo <INT> Defines the number of digits after the comma for lon,lat output; default: 6
-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
--amitran-output <FILE> The generated net will be written to FILE using Amitran format
--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
--dlr-navteq.precision <INT> The network coordinates are written with the specified level of output precision; default: 2
--output.street-names <BOOL> Street names will be included in the output (if available); default: false
--output.original-names <BOOL> Writes original names, if given, as parameter; default: false
--street-sign-output <FILE> Writes street signs as POIs to FILE
--ptstop-output <FILE> Writes public transport stops to FILE
--ptline-output <FILE> Writes public transport lines to FILE
--opendrive-output.straight-threshold <FLOAT> Builds parameterized curves whenever the angular change between straight segments exceeds FLOAT degrees; default: 1e-08

Projection

Option Description
--simple-projection <BOOL> Uses a simple method for projection; default: false
--proj.scale <FLOAT> Scaling factor for input coordinates; default: 1
--proj.utm <BOOL> Determine the UTM zone (for a universal transversal mercator projection based on the WGS84 ellipsoid); default: false
--proj.dhdn <BOOL> Determine the DHDN zone (for a transversal mercator projection based on the bessel ellipsoid, "Gauss-Krueger"); default: false
--proj <STRING> Uses STR as proj.4 definition for projection; default: !
--proj.inverse <BOOL> Inverses projection; default: false
--proj.dhdnutm <BOOL> Convert from Gauss-Krueger to UTM; default: false
--proj.plain-geo <BOOL> Write geo coordinates in plain-xml; default: false

Tls Building

Option Description
--tls.discard-loaded <BOOL> Does not instatiate traffic lights loaded from other formats than XML; default: false
--tls.discard-simple <BOOL> Does not instatiate traffic lights at geometry-like nodes loaded from other formats than XML; default: false
--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> Turns on TLS guessing; default: false
--tls.taz-nodes <BOOL> Sets district nodes as tls-controlled; default: false
--tls-guess.joining <BOOL> Includes node clusters into guess; default: false
--tls.join <BOOL> Tries to cluster tls-controlled nodes; default: false
--tls.join-dist <FLOAT> Determines the maximal distance for joining traffic lights (defaults to 20); default: 20
--tls.uncontrolled-within <BOOL> Do not control edges that lie fully within a joined traffic light. This may cause collisions but allows old traffic light plans to be used; default: false
--tls.guess-signals <BOOL> Interprets tls nodes surrounding an intersection as signal positions for a larger TLS. This is typical pattern for OSM-derived networks; default: false
--tls.guess-signals.dist <FLOAT> Distance for interpreting nodes as signal locations; default: 25
--tls.cycle.time <INT> Use INT as cycle duration; default: 90
--tls.green.time <INT> Use INT as green phase duration; default: 31
-D <FLOAT>
--tls.yellow.min-decel <FLOAT>
Defines smallest vehicle deceleration; default: 3
--tls.yellow.patch-small <BOOL> Given yellow times are patched even if being too short; default: false
--tls.yellow.time <INT> Set INT as fixed time for yellow phase durations; default: -1
--tls.red.time <INT> Set INT as fixed time for red phase duration at traffic lights that do not have a conflicting flow; default: 5
--tls.allred.time <INT> Set INT as fixed time for intermediate red phase after every switch; default: 0
--tls.left-green.time <INT> Use INT as green phase duration for left turns (s). Setting this value to 0 disables additional left-turning phases; default: 6
--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
--tls.default-type <STRING> TLSs with unspecified type will use STR as their algorithm; default: static
--tls.min-dur <INT> Default minimum phase duration for traffic lights with variable phase length; default: 5
--tls.max-dur <INT> Default maximum phase duration for traffic lights with variable phase length; default: 50

Ramp Guessing

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

Edge Removal

Option Description
--keep-edges.min-speed <FLOAT> Only keep edges with speed in meters/second > FLOAT; default: -1
--remove-edges.explicit <STRING> Remove edges in STR
--keep-edges.explicit <STRING> Only keep edges in STR or those which are kept due to other keep-edges or remove-edges options
--keep-edges.input-file <FILE> Only keep edges in FILE (Each id on a single line. Selection files from SUMO-GUI are also supported) or those which are kept due to other keep-edges or remove-edges options
--remove-edges.input-file <FILE> Remove edges in FILE. (Each id on a single line. Selection files from SUMO-GUI are also supported)
--keep-edges.postload <BOOL> Remove edges after joining; default: false
--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.in-geo-boundary <STRING> Only keep edges which are located within the given boundary (given either as GEODETIC corner coordinates <lon-min,lat-min,lon-max,lat-max> or as polygon <lon0,lat0,lon1,lat1,...>)
--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
--keep-edges.components <INT> Only keep the INT largest weakly connected compoonents; default: 0
--remove-edges.by-type <STRING> Remove edges where type is in STR
--remove-edges.isolated <BOOL> Removes isolated edges; default: false

Unregulated Nodes

Option Description
--keep-nodes-unregulated <BOOL> All nodes will be unregulated; default: false
--keep-nodes-unregulated.explicit <STRING> Do not regulate nodes in STR
--keep-nodes-unregulated.district-nodes <BOOL> Do not regulate district nodes; default: false

Processing

Option Description
--ignore-errors <BOOL> Continue on broken input; default: false
--ignore-errors.connections <BOOL> Continue on invalid connections; default: false
--show-errors.connections-first-try <BOOL> Show errors in connections at parsing; default: false
--ignore-errors.edge-type <BOOL> Continue on unknown edge types; default: false
--lanes-from-capacity.norm <FLOAT> The factor for flow to no. lanes conversion; default: 1800
--speed-in-kmh <BOOL> vmax is parsed as given in km/h (some); default: false
--construction-date <STRING> Use YYYY-MM-DD date to determine the readiness of features under construction
--plain.extend-edge-shape <BOOL> If edge shapes do not end at the node positions, extend them; default: false
--matsim.keep-length <BOOL> The edge lengths given in the MATSIM-file will be kept; default: false
--matsim.lanes-from-capacity <BOOL> The lane number will be computed from the capacity; default: false
--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> Uses edge type defaults on problems; default: false
--shapefile.all-bidirectional <BOOL> Insert edges in both directions; default: false
--shapefile.guess-projection <BOOL> Guess the proper projection; default: false
--vissim.join-distance <FLOAT> Structure join offset; default: 5
--vissim.default-speed <FLOAT> Use FLOAT as default speed; default: 50
--vissim.speed-norm <FLOAT> Factor for edge velocity; default: 1
--vissim.report-unset-speeds <BOOL> Writes lanes without an explicit speed set; default: false
--visum.use-type-priority <BOOL> Uses priorities from types; default: false
--visum.use-type-laneno <BOOL> Uses lane numbers from types; default: false
--visum.use-type-speed <BOOL> Uses speeds from types; default: false
--visum.connector-speeds <FLOAT> Sets connector speed; default: 100
--visum.connectors-lane-number <INT> Sets connector lane number; default: 3
--visum.no-connectors <BOOL> Excludes connectors; default: false
--visum.recompute-lane-number <BOOL> Computes the number of lanes from the edges' capacities; default: false
--visum.verbose-warnings <BOOL> Prints all warnings, some of which are due to VISUM misbehaviour; default: false
--osm.skip-duplicates-check <BOOL> Skips the check for duplicate nodes and edges; default: false
--osm.elevation <BOOL> Imports elevation data; default: false
--osm.layer-elevation <FLOAT> Reconstruct (relative) elevation based on layer data. Each layer is raised by FLOAT m; default: 0
--osm.layer-elevation.max-grade <FLOAT> Maximum grade threshold in % at 50km/h when reconstrucing elevation based on layer data. The value is scaled according to road speed.; default: 10
--osm.oneway-spread-right <BOOL> Whether one-way roads should be spread to the side instead of centered; default: false
--osm.stop-output.length <FLOAT> The default length of a bus/train stop in FLOAT m; default: 100
--opendrive.import-all-lanes <BOOL> Imports all lane types; default: false
--opendrive.ignore-widths <BOOL> Whether lane widths shall be ignored.; default: false
--opendrive.curve-resolution <FLOAT> The geometry resolution in m when importing curved geometries as line segments.; default: 2
--opendrive.advance-stopline <FLOAT> Allow stop lines to be built beyond the start of the junction if the geometries allow so; default: 12
--opendrive.min-width <FLOAT> The minimum lane width for determining start or end of variable-width lanes; default: 1.8
--no-internal-links <BOOL> Omits internal links; default: false
--numerical-ids <BOOL> Remaps alphanumerical IDs of nodes and edges to ensure that all IDs are integers; default: false
--reserved-ids <FILE> Ensures that generated ids do not included any of the typed IDs from FILE (SUMO-GUI selection file format)
--dismiss-vclasses <BOOL> Removes vehicle class restrictions from imported edges; default: false
--no-turnarounds <BOOL> Disables building turnarounds; default: false
--no-turnarounds.tls <BOOL> Disables building turnarounds at tls-controlled junctions; default: false
--no-left-connections <BOOL> Disables building connections to left; default: false
--geometry.split <BOOL> Splits edges across geometry nodes; default: false
-R <BOOL>
--geometry.remove <BOOL>
Replace nodes which only define edge geometry by geometry points (joins edges); default: false
--geometry.remove.keep-edges.explicit <STRING> Ensure that the given list of edges is not modified
--geometry.remove.keep-edges.input-file <FILE> Ensure that the edges in FILE are not modified (Each id on a single line. Selection files from SUMO-GUI are also supported)
--geometry.max-segment-length <FLOAT> splits geometry to restrict segment length; default: 0
--geometry.min-dist <FLOAT> reduces too similar geometry points; default: -1
--geometry.max-angle <FLOAT> Warn about edge geometries with an angle above DEGREES in successive segments; default: 99
--geometry.min-radius <FLOAT> Warn about edge geometries with a turning radius less than METERS at the start or end; default: 9
--geometry.min-radius.fix <BOOL> Straighten edge geometries to avoid turning radii less than geometry.min-radius; default: false
--geometry.junction-mismatch-threshold <FLOAT> Warn if the junction shape is to far away from the original node position; default: 20
--geometry.check-overlap <FLOAT> Warn if edges overlap by more than the given threshold value; default: 0
--geometry.check-overlap.vertical-threshold <FLOAT> Ignore overlapping edges if they are separated vertically by the given threshold.; default: 4
--geometry.max-grade <FLOAT> Warn about edge geometries with a grade in % above FLOAT. The threshold applies to roads with a speed limit of 50km/h and is scaled according to road speed.; default: 10
--offset.disable-normalization <BOOL> Turn off normalizing node positions; default: false
--offset.x <FLOAT> Adds FLOAT to net x-positions; default: 0
--offset.y <FLOAT> Adds FLOAT to net y-positions; default: 0
--flip-y-axis <BOOL> Flips the y-coordinate along zero; default: false
--roundabouts.guess <BOOL> Enable roundabout-guessing; default: false
--opposites.guess <BOOL> Enable guessing of opposite direction lanes usable for overtaking; default: false
--opposites.guess.fix-lengths <BOOL> Ensure that opposite edges have the same length; default: false
--lefthand <BOOL> Assumes left-hand traffic on the network; default: false
--edges.join <BOOL> Merges edges which connect the same nodes and are close to each other (recommended for VISSIM import); default: false
--junctions.join <BOOL> Joins junctions that are close to each other (recommended for OSM import); default: false
--junctions.join-dist <FLOAT> Determines the maximal distance for joining junctions (defaults to 10); default: 10
--junctions.join-exclude <STRING> Interprets STR as list of junctions to exclude from joining
--speed.offset <FLOAT> Modifies all edge speeds by adding FLOAT; default: 0
--speed.factor <FLOAT> Modifies all edge speeds by multiplying by FLOAT; default: 1
--speed.minimum <FLOAT> Modifies all edge speeds to at least FLOAT; default: 0
--junctions.corner-detail <INT> Generate INT intermediate points to smooth out intersection corners; default: 0
--junctions.internal-link-detail <INT> Generate INT intermediate points to smooth out lanes within the intersection; default: 5
--junctions.scurve-stretch <FLOAT> Generate longer intersections to allow for smooth s-curves when the number of lanes changes; default: 0
--junctions.join-turns <BOOL> Builds common edges for turning connections with common from- and to-edge. This causes discrepancies between geometrical length and assigned length due to averaging but enables lane-changing while turning; default: false
--rectangular-lane-cut <BOOL> Forces rectangular cuts between lanes and intersections; default: false
--check-lane-foes.roundabout <BOOL> Allow driving onto a multi-lane road if there are foes on other lanes (at roundabouts); default: true
--check-lane-foes.all <BOOL> Allow driving onto a multi-lane road if there are foes on other lanes (everywhere); default: false
--sidewalks.guess <BOOL> Guess pedestrian sidewalks based on edge speed; default: false
--sidewalks.guess.max-speed <FLOAT> Add sidewalks for edges with a speed equal or below the given limit; default: 13.89
--sidewalks.guess.min-speed <FLOAT> Add sidewalks for edges with a speed above the given limit; default: 5.8
--sidewalks.guess.from-permissions <BOOL> Add sidewalks for edges that allow pedestrians on any of their lanes regardless of speed; default: false
--sidewalks.guess.exclude <STRING> Do not guess sidewalks for the given list of edges
--crossings.guess <BOOL> Guess pedestrian crossings based on the presence of sidewalks; default: false
--crossings.guess.speed-threshold <FLOAT> At uncontrolled nodes, do not build crossings across edges with a speed above the threshold; default: 13.89
--walkingareas <BOOL> Always build walking areas even if there are no crossings; default: false

Building Defaults

Option Description
-L <INT>
--default.lanenumber <INT>
The default number of lanes in an edge; default: 1
--default.lanewidth <FLOAT> The default width of lanes; default: -1
-S <FLOAT>
--default.speed <FLOAT>
The default speed on an edge (in m/s); default: 13.9
-P <INT>
--default.priority <INT>
The default priority of an edge; default: -1
--default.sidewalk-width <FLOAT> The default width of added sidewalks; default: 2
--default.disallow <STRING> The default for disallowed vehicle classes
--default.junctions.keep-clear <BOOL> Whether junctions should be kept clear by default; default: true
--default.junctions.radius <FLOAT> The default turning radius of intersections; default: 1.5

Report

Option Description
-v <BOOL>
--verbose <BOOL>
Switches to verbose output; default: false
--print-options <BOOL> Prints option values before processing; default: false
-? <BOOL>
--help <BOOL>
Prints this screen; default: false
-V <BOOL>
--version <BOOL>
Prints the current version; default: false
-X <STRING>
--xml-validation <STRING>
Set schema validation scheme of XML inputs ("never", "auto" or "always"); default: auto
--xml-validation.net <STRING> Set schema validation scheme of SUMO network inputs ("never", "auto" or "always"); default: never
-W <BOOL>
--no-warnings <BOOL>
Disables output of warnings; default: false
-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 Description
--random <BOOL> Initialises the random number generator with the current system time; default: false
--seed <INT> Initialises the random number generator with the given value; default: 23423

Warnings during Import

Several types of warnings and errors with different levels of severity may be issued during network building.

Message Explanation Recommended Action
Error: Could not set connection ... A connection definition could not be applied because the lanes do not exist or do not share a common junction Check your input files
Warning: Removed a road without junctions ... Isolated road is removed from the network
Warning: Not joining junctions ... because the cluster is too complex The heuristic for option --junctions.join cannot handle a complex junction Inspect the mentioned nodes and provide a join-description manually.
Warning: Found angle of ... degrees An edge has an unusually sharp turn somewhere in the middle Inspect the mentioned edge for correctness. Warning may be suppressed using option --geometry.max-angle.
Warning: Warning: Found sharp turn with radius ... An edge has an unusually sharp turn where entering or leaving an intersection Inspect the mentioned edge for correctness. Problems may be corrected automatically by setting option --geometry.min-radius.fix. Warning may be suppressed by setting option --geometry.min-radius.
Warning: For node '...': could not compute shape. The shape of the junction area could not be computed Inspect the mentioned node and maybe provide a custom node shape.
Warning: Junction shape for '...' has distance ... to its given position. The shape and location of the junction area is suspicious. Inspect the mentioned node and maybe provide a custom node shape. Warning may be suppressed by setting option --geometry.junction-mismatch-threshold.
Warning: The traffic light '...' does not control any links; it will not be build. The traffic light at the given node sits at a junction without connections or the node was removed altogether. Inspect the mentioned node if it still exists. Can usually be ignored.
Warning: Splitting vector close to end ... A geometry computation somewhere deep in the code is suspicious. Often related to computation of internal lanes at intersections with bad shape. Ignore for lack of sufficient information (or try to narrow down the problem by building smaller sections of the network).