48 releases (24 breaking)
0.24.2 | Feb 24, 2025 |
---|---|
0.24.1 | May 17, 2023 |
0.24.0 | Sep 9, 2022 |
0.23.0 | Jun 2, 2022 |
0.0.1 | Dec 4, 2014 |
#4 in Geospatial
514,249 downloads per month
Used in 126 crates
(99 directly)
235KB
4.5K
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