Skip to main content

Crate oxigdal_pmtiles

Crate oxigdal_pmtiles 

Source
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.