47 releases (24 breaking)
0.24.1 | May 17, 2023 |
---|---|
0.24.0 | Sep 9, 2022 |
0.23.0 | Jun 2, 2022 |
0.22.3 | Mar 28, 2022 |
0.0.1 | Dec 4, 2014 |
#20 in Parser implementations
84,858 downloads per month
Used in 121 crates
(94 directly)
215KB
4K
SLoC
geojson
Library for serializing the GeoJSON vector GIS file format
Minimum Rust Version
This library requires a minimum Rust version of 1.34 (released April 11 2019)
Examples
Reading
use geojson::GeoJson;
let geojson_str = r#"
{
"type": "Feature",
"properties": {
"name": "Firestone Grill"
},
"geometry": {
"type": "Point",
"coordinates": [-120.66029,35.2812]
}
}
"#;
let geojson = geojson_str.parse::<GeoJson>().unwrap();
Writing
use geojson::{Feature, GeoJson, Geometry, Value, JsonObject, JsonValue};
let geometry = Geometry::new(
Value::Point(vec![-120.66029,35.2812])
);
let mut properties = JsonObject::new();
properties.insert(
String::from("name"),
JsonValue::from("Firestone Grill"),
);
let geojson = GeoJson::Feature(Feature {
bbox: None,
geometry: Some(geometry),
id: None,
properties: Some(properties),
foreign_members: None,
});
let geojson_string = geojson.to_string();
License
Licensed under either of
- Apache License, Version 2.0 (LICENSE-APACHE or http://www.apache.org/licenses/LICENSE-2.0)
- MIT license (LICENSE-MIT or http://opensource.org/licenses/MIT)
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
~1.4–2.4MB
~50K SLoC