oxigdal-pmtiles 0.1.7

Pure Rust PMTiles v3 reader for OxiGDAL - single-file tile archive with varint directory
Documentation

oxigdal-pmtiles

Pure Rust PMTiles v3 reader and writer for the OxiGDAL ecosystem. No C/Fortran dependencies.

Features

  • 127-byte fixed header parser (PmTilesHeader)
  • Varint-encoded directory entry decoder (DirectoryEntry, decode_directory)
  • Hilbert curve tile ID computation (zxy_to_tile_id, tile_id_to_zxy)
  • High-level reader (PmTilesReader) and builder (PmTilesBuilder)
  • Compression type and tile format detection

Usage

use oxigdal_pmtiles::{PmTilesReader, zxy_to_tile_id, tile_id_to_zxy};

// Convert z/x/y to a Hilbert curve tile ID
let tile_id = zxy_to_tile_id(5, 10, 15);
let (z, x, y) = tile_id_to_zxy(tile_id);
assert_eq!((z, x, y), (5, 10, 15));

// Read a PMTiles archive
let data: &[u8] = &[/* pmtiles file bytes */];
let reader = PmTilesReader::new(data).expect("valid PMTiles");
let header = reader.header();
println!("Tile type: {:?}, {} entries", header.tile_type, reader.num_entries());

Status

  • 147 tests passing, 0 failures

License

See the top-level OxiGDAL repository for license details.