commit | 6b8e3f0b0de304def369091d4247837ccb156f9d | [log] [tgz] |
---|---|---|
author | Bob Badour <bbadour@google.com> | Mon Mar 01 21:53:07 2021 -0800 |
committer | Bob Badour <bbadour@google.com> | Mon Mar 01 21:53:07 2021 -0800 |
tree | 5520f8b348fa75934708b0b968252192d513274b | |
parent | 5f0dc228bf9357e9c408432c057e27c17b2536a3 [diff] |
[LSC] Add LOCAL_LICENSE_KINDS to external/geojson-jackson Added SPDX-license-identifier-Apache-2.0 to: Android.bp Bug: 68860345 Bug: 151177513 Bug: 151953481 Test: m all Exempt-From-Owner-Approval: janitorial work Change-Id: I1bedbcd3981f4ff240a009ef4aa118c0914bb5cd
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>