Expand description
Pure Rust PMTiles v3 reader and writer.
Parses the 127-byte fixed header (header), varint-encoded directory
entries (directory), and provides a high-level reader (pmtiles)
and writer (writer). Tile IDs are computed via the Hilbert curve
(hilbert). Structured JSON metadata access is provided via
metadata. Archive compaction (gap removal) is available via
compact. Sub-region extraction is available via extract.
Re-compression between gzip / brotli / zstd is available via the
transcode module (feature-gated behind compression). Tile-set
diffing between two archives is available via diff.
Re-exports§
pub use compact::CompactOptions;pub use compact::CompactStats;pub use compact::compact_archive;pub use compact::compact_archive_default;pub use compact::compact_archive_with_stats;pub use diff::DiffReport;pub use diff::DiffSummary;pub use diff::TileChange;pub use diff::diff_archives;pub use diff::diff_archives_summary;pub use directory::DirectoryEntry;pub use directory::decode_directory;pub use directory::decode_varint;pub use error::PmTilesError;pub use extract::ExtractOptions;pub use extract::bbox_to_tile_range;pub use extract::extract_subregion;pub use header::Compression;pub use header::PmTilesHeader;pub use header::TileType;pub use hilbert::hilbert_to_xy;pub use hilbert::tile_id_to_zxy;pub use hilbert::xy_to_hilbert;pub use hilbert::zxy_to_tile_id;pub use layout::LayoutAnalysis;pub use layout::LayoutStrategy;pub use layout::analyze_tile_ordering;pub use layout::choose_strategy;pub use metadata::PmTilesMetadata;pub use pmtiles::PmTilesReader;pub use pmtiles::TileInfo;pub use tile_detect::DetectedTileFormat;pub use tile_detect::detect_tile_format;pub use validate::ValidationIssue;pub use validate::ValidationReport;pub use validate::validate_archive;pub use validate::validate_archive_strict;pub use varint::encode_varint;pub use webmerc::lonlat_to_tile;pub use webmerc::tile_bounds_lonlat;pub use webmerc::tile_to_lonlat;pub use writer::PmTilesBuilder;pub use header_v2::PMTILES_V2_MAGIC;pub use header_v2::PmTilesV2Entry;pub use header_v2::PmTilesV2Header;pub use header_v2::parse_v2_header;pub use header_v2::read_v2_entry;pub use header_v2::zxy_to_v2_tile_id;pub use v2_reader::PmTilesV2Reader;pub use v2_reader::V2Tile;pub use v2_reader::detect_pmtiles_version;
Modules§
- compact
- PMTiles v3 archive compaction.
- diff
- Tile-set diff between two PMTiles archives.
- directory
- PMTiles v3 directory decoder.
- error
- Error types for oxigdal-pmtiles
- extract
- Sub-region extraction: copy only the tiles within a lon/lat bounding box into a new PMTiles v3 archive.
- header
- PMTiles v3 file header.
- header_
v2 - PMTiles v2 file header and directory entry parsing.
- hilbert
- Hilbert curve encoding for PMTiles v3 tile IDs.
- layout
- PMTiles directory layout strategy analysis and auto-selection.
- metadata
- Structured parsing of the PMTiles v3 JSON metadata block.
- pmtiles
- High-level PMTiles reader.
- tile_
detect - Tile content format detection from magic bytes.
- v2_
reader - PMTiles v2 backward-compatible reader and upgrade utility.
- validate
- PMTiles v3 archive validation.
- varint
- LEB-128 varint encoding and decoding utilities.
- webmerc
- Web Mercator tile ↔ WGS-84 lon/lat conversion helpers.
- writer
- PMTiles v3 archive writer.