polyconvert

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

## Features

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

## Options

You may use a XML schema definition file for setting up a polyconvert configuration: polyconvertConfiguration.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
-C <FILE> --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

### Input

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

### Output

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

### Projection

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. In any case, if the read coordinates shall be changed, --use-projection must be given.

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

### Pruning

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 | Items with names in STR[] will be removed

### Processing

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
--layer <FLOAT> | Sets FLOAT as default layer; default: -1
--discard <BOOL> | Sets default action to discard; default: false

### Report

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
-V <BOOL> --version <BOOL> | Prints the current version; default: false
-X <STRING> --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
-W <BOOL> --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

# See Also

- Using additional polygons and POIs within the Simulation
- Importing shapes from OpenStreetMap
- Using configuration files

#### Search

Enter your search terms:

#### Keyboard Shortcuts

Key | Action
--- | ---
`?` | Open this help dialog
`s` | Search the Documentation
`e` | Edit current page on GitHub