commit | 0a3f43d92ad5792c5b4b498ed882d515197e6f75 | [log] [tgz] |
---|---|---|
author | Neil Fuller <[email protected]> | Wed Oct 20 16:05:49 2021 +0000 |
committer | Automerger Merge Worker <[email protected]> | Wed Oct 20 16:05:49 2021 +0000 |
tree | df4b69f514e76000986d5966d8d28c766b1f3a43 | |
parent | 74b6fe50af979b998c0be828090c6c96cee8fed9 [diff] | |
parent | 660889e8be0ccecdab3addbce44da13fc890fa32 [diff] |
Update OWNERS am: 105049acaf am: 2bb76ad5c9 am: 8c66c7bc7d am: 301ac396ea am: 660889e8be Original change: https://android-review.googlesource.com/c/platform/external/geojson-jackson/+/1864562 Change-Id: I8a49f3cf3f584b48e96f36b4a4182009122bc8cb
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 want 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.8.1</version> </dependency>