polylabel_cmd 0.0.21

A command-line utility for finding optimum polygon label positions
polylabel_cmd-0.0.21 is not a library.

Linux / macOS Build Status Windows Build status Crates Link

Polylabel_Cmd

…is the command-line version of Polylabel. Install it using cargo install polylabel_cmd, or download a binary and put it on your $PATH.
This gives you the polylabel command.

Use

Polylabel takes one mandatory argument: a file containing valid GeoJSON containing Polygons and / or MultiPolygons to be labelled. They can be included as a Feature, or a Geometry, or aFeatureCollection or GeometryCollection – you may also mix the two geometries in a FeatureCollection or GeometryCollection.

  • Processing of nested GeometryCollections is supported, but you shouldn't be using those
  • Empty geometries or collections will be left unaltered
  • Non-(Multi)Polygon geometries cannot be processed – their presence will halt further processing.

You may also pass an optional -t or --tolerance switch, allowing you to fine-tune the tolerance from the default 0.001. Smaller tolerances take longer to calculate.

A -p or --pretty flag may be set, which will pretty-print the GeoJSON output.

Irrespective of input, successful output is a GeoJSON FeatureCollection. Its contents depend on the input geometry:

  • Polygon: The FeatureCollection contains Point Features
  • MultiPolygon: The FeatureCollection contains MultiPoint Features
  • GeometryCollection: The FeatureCollection contains GeometryCollection Features whose collection members are Points or MultiPoints.

Output features retain the order of input features / geometries, and input feature properties are mapped to output features where they exist.

Validity

While the structure of the input GeoJSON is validated, individual geometries are not validated in the DE-9IM sense. If they self-intersect, have open rings etc., results are not guaranteed to be correct.

Speed

Polylabel is fast. Polygons are processed in parallel, using Rayon.

Binaries

Pre-built binaries are available from releases. Binaries are available for:

  • macOS (x86_64)
  • Linux (x86_64)
  • Windows (x86_64 and i686)

License

MIT