Expand description
PMTiles
A low level implementation of the PMTiles
format based on the std::io::Read
and std::io::Write
traits.
Examples
Reading from a file
use std::fs::File;
use pmtiles2::PMTiles;
fn main () -> std::io::Result<()> {
let file_path = "./test/stamen_toner(raster)CC-BY+ODbL_z3.pmtiles";
let mut file = File::open(file_path)?; // file implements std::io::Read
let pm_tiles = PMTiles::from_reader(file)?;
Ok(())
}
Writing to a file
use std::fs::File;
use pmtiles2::{PMTiles, Compression, TileType};
fn main () -> std::io::Result<()> {
// create temp directory
let dir = tempdir::TempDir::new("pmtiles")?;
let file_path = dir.path().join("foo.pmtiles");
let pm_tiles = PMTiles::new(TileType::Png, Compression::None);
// TODO: Add tiles to pm_tiles
let mut file = File::create(file_path)?; // file implements std::io::Write
pm_tiles.to_writer(&mut file)?;
Ok(())
}
Building a PMTiles
archive from scratch
use pmtiles2::{PMTiles, TileType, Compression, util::tile_id};
use std::io::Cursor;
let mut pm_tiles = PMTiles::new(TileType::Mvt, Compression::GZip);
pm_tiles.add_tile(tile_id(0, 0, 0), vec![0 /* ... */]);
pm_tiles.add_tile(tile_id(1, 0, 0), vec![0 /* ... */]);
Modules
Utilities for reading and writing
PMTiles
archives.Structs
A structure representing a directory.
A structure representing a directory entry.
A structure representing a
PMTiles
header.A structure representing a
PMTiles
archive.Enums
A compression, which is supported in
PMTiles
archives.A tile type, which is supported in
PMTiles
archives.