commit | ce0f71e6da075df9c09c7ba7943b4f694cfca800 | [log] [tgz] |
---|---|---|
author | Neil Fuller <nfuller@google.com> | Thu Aug 06 14:40:57 2020 +0000 |
committer | Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com> | Thu Aug 06 14:40:57 2020 +0000 |
tree | abec087287f46273fdf819491df785c191d85d0a | |
parent | 989b62c0dfe6771ea2a278259c1f7f5c6e78775e [diff] | |
parent | ddaed26f746285bdc5a87e719e73588c92fe6ed6 [diff] |
Adding files required for external/ am: ddaed26f74 Original change: https://googleplex-android-review.googlesource.com/c/platform/external/geojson-jackson/+/12316529 Change-Id: Ib693260a5195e7507cb265875e82c2e9e55311f8
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>