commit | a4e128dafce25a1a58e88b4ca26a2929214a3f97 | [log] [tgz] |
---|---|---|
author | babbleshack <dcrl94@gmail.com> | Sun Nov 27 02:35:21 2016 +0000 |
committer | babbleshack <dcrl94@gmail.com> | Sun Nov 27 02:35:21 2016 +0000 |
tree | 2089b01f1b894106711b4b8daa58cde0ef08a6b7 | |
parent | 1cf7c7969207d62ae9a42ae844863b7dbd58ffea [diff] |
Add fix to LngLatAlt deserilizer for mongo Adds a third case statement encase the json string contains string coordinate values instead of a double
A small package of all GeoJson POJOs (Plain Old Java Objects) for serializing and deserializing of objects via JSON Jackson Parser.
If you know what kind of object you expect from a GeoJson file you can directly read it like this:
FeatureCollection featureCollection = new ObjectMapper().readValue(inputStream, FeatureCollection.class);
If you what to read any GeoJson file read the value as GeoJsonObject and then test for the contents via instanceOf:
GeoJsonObject object = new ObjectMapper().readValue(inputStream, GeoJsonObject.class); if (object instanceOf Polygon) { ... } else if (object instanceOf Feature) { ... }
and so on.
Or you can use the GeoJsonObjectVisitor to visit the right method:
GeoJsonObject object = new ObjectMapper().readValue(inputStream, GeoJsonObject.class); object.accept(visitor);
Writing Json is even easier. You just have to create the GeoJson objects and pass them to the Jackson ObjectMapper.
FeatureCollection featureCollection = new FeatureCollection(); featureCollection.add(new Feature()); String json= new ObjectMapper().writeValueAsString(featureCollection);
You can find the library in the Maven Central Repository.
<dependency> <groupId>de.grundid.opendatalab</groupId> <artifactId>geojson-jackson</artifactId> <version>1.6</version> </dependency>