commit | e0eb56b8411ff7692b3352596e7626a0ed7a6eee | [log] [tgz] |
---|---|---|
author | Adrian Stabiszewski <github@grundid.de> | Thu Feb 27 14:00:14 2020 +0100 |
committer | GitHub <noreply@github.com> | Thu Feb 27 14:00:14 2020 +0100 |
tree | f4f97d6c4974f4a3212674b8c10d85b50c06b954 | |
parent | 8066aa12e989065804eb944e398e14acc4adf735 [diff] | |
parent | 06813f3ee5fb509a31c6bec02e0b2a7ec604a5d9 [diff] |
Merge pull request #53 from trygveaa/polygon-set-exterior-ring-should-replace Replace exterior ring in setExteriorRing if it exists
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>