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. polyconvert supports virtual file systems when
importing shape files. So if you have your shapes in myshapes.zip and the main file has the name arcview.shp
you can import them via polyconvert --shapefile /vsizip/myshapes.zip/arcview
(--shapefile is an alias to --shapefile-prefixes).
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 |
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.
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 <STRING[ ]> | 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 |
--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 |
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 |
--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 |