Tileverse Architecture¶
Understand how the Tileverse modules fit together.
Module Overview¶
Tileverse is composed of four main modules:
- Range Reader: Foundation for byte-range data access
- Tile Matrix Set: Coordinate systems and tiling schemes
- Vector Tiles: MVT encoding/decoding
- PMTiles: Tile archive format
Architecture Diagram¶
┌─────────────────────────────────────────────────────┐
│ Applications │
│ (GeoServer, Custom Tile Servers, ETL Pipelines) │
└─────────────────┬───────────────────────────────────┘
│
┌─────────────┼─────────────┬─────────────┐
│ │ │ │
▼ ▼ ▼ ▼
┌─────────┐ ┌──────────┐ ┌────────┐ ┌──────────┐
│ PMTiles │ │ Vector │ │ Tile │ │ Other │
│ │ │ Tiles │ │Matrix │ │ Formats │
└────┬────┘ └────┬─────┘ └────┬───┘ └────┬─────┘
│ │ │ │
└────────────┴─────────────┴────────────┘
│
▼
┌────────────────┐
│ Range Reader │
│ (Core Layer) │
└────────┬───────┘
│
┌─────────────┼─────────────┬────────────┐
│ │ │ │
▼ ▼ ▼ ▼
┌────────┐ ┌───────┐ ┌────────┐ ┌─────┐
│ File │ │ HTTP │ │ S3 │ │ ... │
└────────┘ └───────┘ └────────┘ └─────┘
Design Principles¶
- Modularity: Each library can be used independently
- Composability: Libraries work together seamlessly
- Cloud-native: Designed for cloud storage from the ground up
- Performance: Optimized for high-throughput server applications
- Standards-based: Implements established specifications
Module Dependencies¶
- PMTiles depends on Range Reader, Tile Matrix Set, and Vector Tiles
- Vector Tiles is independent
- Tile Matrix Set is independent
- Range Reader is the foundation