Crate mvt

Source
Expand description

A library for encoding mapbox vector tiles.

A tile is composed of one or more layers. Each layer can have any number of features, which contain the geometry to be rendered. They can also have metadata tags, which are key/value pairs.

§Example

use mvt::{Error, GeomEncoder, GeomType, Tile};
use pointy::Transform;

fn main() -> Result<(), Error> {
    let mut tile = Tile::new(4096);
    let layer = tile.create_layer("First Layer");
    // NOTE: normally, the Transform would come from MapGrid::tile_transform
    let b = GeomEncoder::new(GeomType::Linestring)
        .point(0.0, 0.0)?
        .point(1024.0, 0.0)?
        .point(1024.0, 2048.0)?
        .point(2048.0, 2048.0)?
        .point(2048.0, 4096.0)?
        .encode()?;
    let mut feature = layer.into_feature(b);
    feature.set_id(1);
    feature.add_tag_string("key", "value");
    let layer = feature.into_layer();
    tile.add_layer(layer)?;
    let data = tile.to_bytes()?;
    println!("encoded {} bytes: {:?}", data.len(), data);
    Ok(())
}

Structs§

Feature
A Feature contains map geometry with related metadata.
GeomData
Validated geometry data for Features.
GeomEncoder
Encoder for Feature geometry.
Layer
A layer is a set of related features in a tile.
MapGrid
A map grid is used to address tiles on a map.
Tile
A tile represents a rectangular region of a map.
TileId
A tile ID identifies a tile on a map grid at a specific zoom level.
WebMercatorPos
Web mercator (EPSG:3857) position.
Wgs84Pos
WGS-84 (EPSG:4326) position.

Enums§

Error
MVT Error types
GeomType
Geometry types for Features.