From 30.000 feet#

polyconvert imports geometrical shapes (polygons or points of interest) from different sources, converts them to a representation that may be visualized using sumo-gui.

  • Purpose: Polygon and POI import, conversion, and projection
  • System: portable (Linux/Windows is tested); runs on command line
  • Input (mandatory): polygons or pois
  • Output: SUMO-shape file
  • Programming Language: C++


  • Imports OSM, VISUM, dlr-navteq, XML, ArcView shape files
  • per-type import settings
  • projections using a given proj.4-definition or via a matching network
  • Writes simulation shape files usable within sumo-gui and sumo

Usage Description#

polyconvert is able to import shapes from different file types. Normally, for importing data of a certain type, the type name is used as option name and the value indicates the position of the file. So

polyconvert --visum mynet.net -o converted.poi.xml

imports from a VISUM-net file.

Furthermore, if you have already projected SHP-files, you can directly set the options shapefile.traditional-axis-mapping and proj-utm with true in order to avoid polygons to be projected in Polyconvert again.


You may use a XML schema definition file for setting up a polyconvert configuration: polyconvertConfiguration.xsd.


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-configuration.relative <BOOL> Enforce relative paths when saving the configuration; default: false
--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


polyconvert is capable to apply different attributes to the imported shapes in dependence of their "type". Not all imported formats have a type information. When using shape files, for example, all instances of an artifact type are normally stored in a distinct shape file.

Option Description
-n <FILE>
--net-file <FILE>
Loads SUMO-network FILE as reference to offset and projection
--dlr-navteq-poly-files <FILE> Reads polygons from FILE assuming they're coded in DLR-Navteq (Elmar)-format
--dlr-navteq-poi-files <FILE> Reads pois from FILE assuming they're coded in DLR-Navteq (Elmar)-format
--visum-files <FILE> Reads polygons from FILE assuming it's a Visum-net
--visum.language-file <FILE> Load language mappings from FILE
--xml-files <FILE> Reads pois and shapes from FILE assuming they're coded in XML
--osm-files <FILE> Reads pois from FILE assuming they're coded in OSM
--osm.keep-full-type <BOOL> The type will be made of the key-value - pair; default: false
--osm.use-name <BOOL> The id will be set from the given 'name' attribute; default: false
--osm.merge-relations <FLOAT> If FLOAT >= 0, assemble one polygon from all ways of a relation if they all connect with gaps below FLOAT; default: -1
--shapefile-prefixes <FILE> Reads shapes from shapefiles FILE
--shapefile.guess-projection <BOOL> Guesses the shapefile's projection; default: false
--shapefile.traditional-axis-mapping <BOOL> Use traditional axis order (lon, lat); default: false
--shapefile.id-column <STRING> Defines in which column the id can be found
--shapefile.type-columns <STRING[ ]> Defines which columns form the type id (comma separated list)
--shapefile.use-running-id <BOOL> A running number will be used as id; default: false
--shapefile.add-param <BOOL> Extract all additional columns as params; default: false
--shapefile.fill <STRING> [auto,true,false]. Forces the 'fill' status to the given value. Default 'auto' tries to determine it from the data type
--type-file <FILE> Reads types from FILE


All imported shapes that have not been discarded are written into a file which has to be defined using --output <FILE>.

Option Description
--write-license <BOOL> Include license info into every output file; default: false
--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
--human-readable-time <BOOL>
Write time values as hour:minute:second or day:hour:minute:second rather than seconds; default: false
-o <FILE>
--output-file <FILE>
Write generated polygons/pois to FILE
--dlr-tdp-output <FILE> Write generated polygons/pois to a dlr-tdp file with the given prefix


One of the major uses of polyconvert is to apply a projection on the read shapes. Normally, one wants the shapes to be aligned in accordance to a previously imported road network. In this case, the network should be given using --net-file <FILE>. But it is also possible to use a different 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.rotate <FLOAT> Rotation (clockwise degrees) for input coordinates; default: 0
--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 output; default: false


Sometimes, shapes cover a much larger area than the network. In order to reduce the amount of data, one can force polyconvert to prune the imported data on the network's or a given boundary. Read shapes which are completely outside this boundary are discarded in these cases.

Option Description
--prune.in-net <BOOL> Enables pruning on net boundaries; default: false
--prune.in-net.offsets <STRING> Uses FLOAT,FLOAT,FLOAT,FLOAT as offset definition added to the net boundary. Positive values grow the boundary on all sides while negative values shrink it.; default: 0,0,0,0
--prune.boundary <STRING> Uses STR as pruning boundary
--prune.keep-list <STRING> Items in STR will be kept though out of boundary
--prune.explicit <STRING[ ]> Items with names in STR[] will be removed


Option Description
--offset.x <FLOAT> Adds FLOAT to net x-positions; default: 0
--offset.y <FLOAT> Adds FLOAT to net y-positions; default: 0
--offset.z <FLOAT> Adds FLOAT to net z-positions; default: 0
--all-attributes <BOOL> Imports all attributes as key/value pairs; default: false
--ignore-errors <BOOL> Continue on broken input; default: false
--poi-layer-offset <FLOAT> Adds FLOAT to the layer value for each poi (i.e. to raise it above polygons); default: 0

Building Defaults#

When importing shapes for which no type-dependent attributes have been given, the following default values are used which can be changed on the command line.

Option Description
--color <STRING> Sets STR as default color; default: 0.2,0.5,1.
--prefix <STRING> Sets STR as default prefix
--type <STRING> Sets STR as default type; default: unknown
--fill <BOOL> Fills polygons by default; default: true
--icon <STRING> Sets STR as default icon
--layer <FLOAT> Sets FLOAT as default layer; default: -1
--discard <BOOL> Sets default action to discard; default: false


All applications of the SUMO-suite handle most of the reporting options the same way. These options are discussed at Basics/Using the Command Line Applications#Reporting Options.

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 or selected topics; default: false
--version <BOOL>
Prints the current version; default: false
--xml-validation <STRING>
Set schema validation scheme of XML inputs ("never", "local", "auto" or "always"); default: local
--xml-validation.net <STRING> Set schema validation scheme of SUMO network inputs ("never", "local", "auto" or "always"); default: never
--no-warnings <BOOL>
Disables output of warnings; default: false
--aggregate-warnings <INT> Aggregate warnings of the same type whenever more than INT occur; default: -1
-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
--log.timestamps <BOOL> Writes timestamps in front of all messages; default: false
--log.processid <BOOL> Writes process ID in front of all messages; default: false
--language <STRING> Language to use in messages; default: C

See Also#