…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.
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
.
GeometryCollection
s is supported, but you shouldn't be using thoseMulti
)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
Feature
s
- MultiPolygon
: The FeatureCollection
contains MultiPoint
Feature
s
- GeometryCollection
: The FeatureCollection
contains GeometryCollection
Feature
s whose collection members are Point
s or MultiPoint
s.
Output features retain the order of input features / geometries, and input feature properties are mapped to output features where they exist.
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.
Polylabel is fast. Polygons are processed in parallel, using Rayon.
Pre-built binaries are available from releases. Binaries are available for: - macOS (x8664) - Linux (x8664) - Windows (x86_64 and i686)