Skip to content

Getting started

manby installs with cargo, with Rust 1.89 or later.

Terminal window
cargo install manby

Or from a clone, where the program ends up in target/release/manby:

Terminal window
git clone https://github.com/birkskyum/manby
cd manby
cargo build --release

The repository also has tippecanoe-rs, the faithful Rust port of tippecanoe that manby uses as a library.

manby takes tippecanoe’s options, and a tippecanoe command works with manby in its place.

Terminal window
manby -zg --drop-densest-as-needed -o places.pmtiles places.geojson

The input can be GeoJSON, newline-delimited GeoJSON (read in parallel with -P), FlatGeobuf, CSV or Geobuf. GeoPackage, GeoParquet, Shapefile and OpenStreetMap data can be converted to FlatGeobuf with GDAL first. The output is a PMTiles archive, an MBTiles database, or a directory of tiles with -e.

Points can be clustered as tippecanoe clusters them, with their attributes accumulated.

Terminal window
manby -zg -r1 --cluster-distance=10 --cluster-densest-as-needed \
--accumulate-attribute=value:sum -o clusters.pmtiles points.geojsonl
Terminal window
make test

make test runs the unit tests and tippecanoe’s own test suite with manby in place of tippecanoe, from GeoJSON input and again from Geobuf input. All 188 of tippecanoe’s expected outputs match, and the tests of tippecanoe’s other programs pass with manby as each of them.

manby is a library first. manby::run(&Options) reads, tiles and writes a tileset and returns an error instead of exiting, manby::join(&JoinOptions) joins tilesets, and the commands are thin layers over them.