#tile #vector #mapbox #gis #cartography

bin+lib mvt

A library for encoding mapbox vector tiles

18 releases

0.9.5 Nov 21, 2024
0.9.3 Jun 6, 2024
0.9.2 Jan 19, 2024
0.8.1 Mar 7, 2023
0.5.2 Feb 28, 2019

#354 in Encoding

Download history 161/week @ 2024-10-29 242/week @ 2024-11-05 257/week @ 2024-11-12 364/week @ 2024-11-19 267/week @ 2024-11-26 152/week @ 2024-12-03 327/week @ 2024-12-10 105/week @ 2024-12-17 36/week @ 2024-12-24 45/week @ 2024-12-31 200/week @ 2025-01-07 128/week @ 2025-01-14 113/week @ 2025-01-21 119/week @ 2025-01-28 397/week @ 2025-02-04 94/week @ 2025-02-11

741 downloads per month
Used in 2 crates

MIT/Apache

72KB
1.5K SLoC

mvt

A Rust library for encoding mapbox vector tiles. Version 2.1 of the standard is supported. See documentation for details.

earthwyrm-bin is a tile server using this crate.


lib.rs:

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(())
}

Dependencies

~2–12MB
~151K SLoC

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy