A library for decoding and reading mapbox vector tiles in Rust and WebAssembly
npm install mvt-reader- Decodes and reads Mapbox vector tiles in Rust
- Provides an API for accessing layer names and features within a vector tile
- Can be used as a WebAssembly module in JavaScript (enabled by the wasm feature)
``sh`
cargo build --release
`sh`
cargo test
wasm-pack build --release --target nodejs -d pkg/node -- --features wasm && npm test
To use the mvt-reader library in your Rust project, add the following to your Cargo.toml file:
`toml`
[dependencies]
mvt-reader = "2.2.0"
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 layer_names = reader.get_layer_names()?;
for name in layer_names {
println!("Layer: {}", name);
}
// Get features for a specific layer
let layer_index = 0;
let features = reader.get_features(layer_index)?;
for feature in features {
todo!()
}
Ok(())
}
`
`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...
``
This project is licensed under the MIT License.