tylertoo¶
Multi-resolution overviews for GeoParquet, plus PMTiles export — in Rust.
tylertoo takes its name from "Tippecanoe and Tyler Too", the 1840 U.S. campaign slogan. It's a nod to tippecanoe, the vector-tile tool this project measures itself against — tylertoo runs alongside it.
What it does¶
tylertoo overview— embed COG-style multi-resolution levels in a GeoParquet file (thinning, ranking, density budget, clustering, line coalescing, world-space simplification). The file stays valid GeoParquet: exact, SQL-queryable, single-artifact.tylertoo export-pmtiles— export a PMTiles vector-tile archive from an overview file.tylertoo tiles(or the bare form) — one-shot GeoParquet → PMTiles, a thin facade over the two steps above.tylertoo validate— check an overview file against the spec.tylertoo decode— decode any PMTiles vector-tile archive back to GeoParquet (the tiled representation; see Decoding PMTiles).tylertoo pyramid— build a multi-band pyramid: several inputs, each owning a disjoint zoom range, one archive (a pre-aggregated summary at coarse zooms, the raw features at fine ones). Bands may be GeoParquet (tiled for you) or already-tiled PMTiles.
Quick Example¶
# One-shot: GeoParquet in, PMTiles out
tylertoo input.parquet output.pmtiles --min-zoom 0 --max-zoom 14
# Or keep the intermediate overview file (the interesting artifact)
tylertoo overview input.parquet overviews.parquet \
--min-zoom 0 --max-zoom 14
tylertoo export-pmtiles overviews.parquet output.pmtiles
tylertoo validate overviews.parquet
# Python
from tylertoo import overview, export_pmtiles
overview("input.parquet", "overviews.parquet", min_zoom=0, max_zoom=14)
export_pmtiles("overviews.parquet", "output.pmtiles")
Next Steps¶
- Getting Started — Installation and basic usage
- Diving Deeper — Input prep, zoom tuning, remote/multi-file input, bounded memory
- Reference — Generated CLI, Python, and Rust API surface
- Decoding PMTiles — PMTiles → GeoParquet, limitations included
- Overview Tuning — Every generalization knob explained
- Architecture — Design decisions and internals
License¶
Apache 2.0 — View on GitHub