newCoordinates.add(coordinates); final JsonObject geometry = new JsonObject(); geometry.addProperty(TYPE, GeoJsonType.MULTI_POLYGON.getType()); geometry.add(COORDINATES, newCoordinates); result.add(GEOMETRY, geometry);
geometry.addProperty(TYPE, type.getType()); geometry.add(COORDINATES, coordinates); result.add(GEOMETRY, geometry);
/** * Creates a MultiLineString type GeoJson Feature * * @param polyLines * geometry * @return a GeoJson Feature */ public GeoJsonObject createMultiLineStrings(final Iterable<PolyLine> polyLines) { // Create the coordinates for each polyline final List<GeoJsonObject> objects = new ArrayList<>(); for (final PolyLine polygon : polyLines) { objects.add(this.create(polygon, GeoJsonType.MULTI_LINESTRING)); } final JsonObject result = new JsonObject(); result.addProperty(TYPE, FEATURE); final JsonArray coordinates = new JsonArray(); // Add the coordinates back for the entire object for (final GeoJsonObject object : objects) { coordinates .add(object.jsonObject().getAsJsonObject(GEOMETRY).getAsJsonArray(COORDINATES)); } final JsonObject geometry = new JsonObject(); geometry.addProperty(TYPE, GeoJsonType.MULTI_LINESTRING.getType()); geometry.add(COORDINATES, coordinates); result.add(GEOMETRY, geometry); return new GeoJsonObject(result); }
geometry.addProperty(TYPE, GeoJsonType.MULTI_POLYGON.getType()); geometry.add(COORDINATES, coordinates); result.add(GEOMETRY, geometry);
@Override public Located deserialize(final JsonElement json, final Type typeOfT, final JsonDeserializationContext context) throws JsonParseException { final GeoJsonType type = GeoJsonType.forType(((JsonObject) json).get("type").getAsString()); if (GeoJsonType.POINT == type) { return new LocationDeserializer().deserialize(json, typeOfT, context); } else if (GeoJsonType.LINESTRING == type) { return new PolyLineDeserializer().deserialize(json, typeOfT, context); } else if (GeoJsonType.POLYGON == type) { return new PolygonDeserializer().deserialize(json, typeOfT, context); } else if (GeoJsonType.MULTI_POLYGON == type) { return new MultiPolygonDeserializer().deserialize(json, typeOfT, context); } throw new CoreException("Unknown/unsupported geometry type: " + type); } }