mvt-reader

Mapbox vector tile reader in Rust
A library for decoding and reading mapbox vector tiles in Rust and WebAssembly


Build status MIT license

Features

Build the project

sh cargo build --release

Run tests

sh cargo test wasm-pack build --release --target nodejs -d pkg/node -- --features wasm && npm test

Usage

To use the mvt-reader library in your Rust project, add the following to your Cargo.toml file:

toml [dependencies] mvt-reader = "0.1"

Then, you can import and use the library in your code:

```rust use mvt_reader::{Reader, ParserError};

fn main() -> Result<(), ParserError> { // Read a vector tile from file or data let data = vec![/* Vector tile data */]; let reader = Reader::new(data)?;

// Get layer names let layernames = reader.getlayernames()?; for name in layernames { println!("Layer: {}", name); }

// Get features for a specific layer let layerindex = 0; let features = reader.getfeatures(layer_index)?; for feature in features { println!("Feature: {:?}", feature); }

Ok(()) } ```

WebAssembly Usage

To use the mvt-reader library as a WebAssembly module in JavaScript, you can install it with npm and use it in your JavaScript code:

```js const { Reader } = require('mvt-reader') const fs = require('fs')

// Example usage const reader = new Reader(fs.readFileSync('path/to/tile.mvt')) const layerNames = reader.getLayerNames() console.log(layerNames)

// More code... ```

License

This project is licensed under the MIT License.