versatiles_container
Read, convert, and write tile containers for VersaTiles.
Overview
versatiles_container provides the I/O layer for working with map tile containers in multiple formats. It offers a unified interface for reading from and writing to various tile storage formats through a registry-based system with runtime composition.
This crate is designed for flexibility: readers are object-safe and can be wrapped by adapters (bbox filters, axis flips, compression overrides) before being written with the appropriate writer.
Supported Formats
.versatiles: Native VersaTiles container format.mbtiles: MBTiles (SQLite-based).pmtiles: PMTiles (cloud-optimized).tar: TAR archives- Directories: Tile files in directory structures
Features
- Format Registry: Automatic reader/writer selection based on file extension
- Stream Processing: Efficient tile streaming with minimal memory overhead
- Runtime Composition: Chain adapters to transform tile streams (filtering, compression, coordinate transforms)
- Caching: Built-in tile and metadata caching
- Progress Tracking: Monitor conversion progress with event bus
Usage
Add this to your Cargo.toml:
[]
= "2.3"
= "2.3"
Example
use *;
use *;
async
API Documentation
For detailed API documentation, see docs.rs/versatiles_container.
Part of VersaTiles
This crate is part of the VersaTiles project, a toolbox for working with map tile containers in various formats.
For the complete toolset including CLI tools and servers, see the main VersaTiles repository.
License
MIT License - see LICENSE for details.