A Rust library for slicing GeoJSON data into vector tile on the fly.
- Slices large GeoJSON data into vector tiles
- High performance Rust implementation
Add the dependency to your Cargo.toml
:
[dependencies]
geojsonvt = "0.1.0"
use geojson::GeoJson;
use geojsonvt::{GeoJSONVT, Options};
use std::fs;
use std::str::FromStr;
fn main() {
let options = Options {
max_zoom: 16,
index_max_zoom: 16,
index_max_points: 1000,
generate_id: false,
tolerance: 16.0,
extent: 4096,
buffer: 64,
line_metrics: false,
};
let contents = fs::read_to_string(file_path).expect("Something went wrong reading the file");
let geo_json = GeoJson::from_str(&contents).unwrap();
let geojsonvt = GeoJSONVT::from_geojson(geo_json, &options);
let tile = geojsonvt.get_tile(0, 0, 0);
}
cargo run --example main
geojson-vt (JS) | geojson-vt (JS --jitless) | geojson2vt (Py) | geojson-vt-rs (rs) | geojsonvt (rs,this repo) |
---|---|---|---|---|
2.563s | 15.147s | 29.943s | 5.286 | 1.617s |