#mapbox #serde #tilejson

tilejson

Library for serializing the TileJSON file format

3 unstable releases

✓ Uses Rust 2018 edition

0.2.1 Oct 10, 2019
0.2.0 Oct 9, 2019
0.1.0 Nov 27, 2017

#179 in Encoding

Download history 91/week @ 2020-01-22 27/week @ 2020-01-29 41/week @ 2020-02-05 44/week @ 2020-02-12 26/week @ 2020-02-19 31/week @ 2020-02-26 11/week @ 2020-03-04 96/week @ 2020-03-11 79/week @ 2020-03-18 20/week @ 2020-03-25 55/week @ 2020-04-01 31/week @ 2020-04-08 47/week @ 2020-04-15 93/week @ 2020-04-22 227/week @ 2020-04-29 56/week @ 2020-05-06

199 downloads per month

MIT/Apache

14KB
198 lines

tilejson

Build Status tilejson on Crates.io

Documentation

tilejson is a crate for serializing/deserializing the TileJSON format — an open standard for representing map metadata.

Examples

Reading

extern crate tilejson;
extern crate serde_json;

use tilejson::TileJSON;

fn main() {
    let tilejson_str = r#"{
        "tilejson": "2.2.0",
        "name": "compositing",
        "scheme": "tms",
        "tiles": [
            "http://localhost:8888/admin/1.0.0/world-light,broadband/{z}/{x}/{y}.png"
        ]
    }"#;

    let tilejson: TileJSON = serde_json::from_str(&tilejson_str).unwrap();
    println!("{:?}", tilejson);
}

Writing

Using builder pattern

extern crate tilejson;
extern crate serde_json;

use tilejson::TileJSONBuilder;

fn main() {
    let mut tilejson_builder = TileJSONBuilder::new();

    tilejson_builder.name("tileset name");
    tilejson_builder.description("some description");

    let tiles = vec!["http://localhost:8888/admin/1.0.0/world-light,broadband/{z}/{x}/{y}.png"];
    tilejson_builder.tiles(tiles);

    let tilejson = tilejson_builder.finalize();
    let serialized_tilejson = serde_json::to_string(&tilejson).unwrap();

    println!("{}", serialized_tilejson);
}

Contributing

Contributions are welcome! Have a look at the issues, and open a pull request if you'd like to add an algorithm or some functionality.

License

Licensed under either of

at your option.

Contribution

Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.

Dependencies

~0.8–1.4MB
~32K SLoC