@Override public GeometryCollection toGeometry(com.vividsolutions.jts.geom.GeometryCollection src) { return GeometryCollection.of(StreamSupport.stream(JtsGeometryCollectionIterable.of(src).spliterator(), false) .map(this::fromJtsGeometryCollection) .toArray(Geometry<?>[]::new) ); }
@Override public com.vividsolutions.jts.geom.GeometryCollection fromGeometry(GeometryCollection src) { return this.geometryFactory.createGeometryCollection( StreamSupport.stream(src.getGeometries().spliterator(), false) .map(this::toJtsGeometryCollection) .toArray(com.vividsolutions.jts.geom.Geometry[]::new) ); } }
public static GeometryCollection of(Iterable<Geometry<?>> geometries) { if(geometries instanceof List) { return new GeometryCollection((List<Geometry<?>>)geometries); } else { return of(StreamSupport.stream(geometries.spliterator(), false).collect(Collectors.toList())); } }
public static GeometryCollection of(Geometry<?>...geometries) { return new GeometryCollection(Arrays.asList(geometries)); }
public static GeometryCollection of(Geometry<?>...geometries) { return new GeometryCollection(Arrays.asList(geometries)); }
@Override public GeometryCollection toGeometry(com.vividsolutions.jts.geom.GeometryCollection src) { return GeometryCollection.of(StreamSupport.stream(JtsGeometryCollectionIterable.of(src).spliterator(), false) .map(this::fromJtsGeometryCollection) .toArray(Geometry<?>[]::new) ); }
public static GeometryCollection of(Iterable<Geometry<?>> geometries) { if(geometries instanceof List) { return new GeometryCollection((List<Geometry<?>>)geometries); } else { return of(StreamSupport.stream(geometries.spliterator(), false).collect(Collectors.toList())); } }
@Override public com.vividsolutions.jts.geom.GeometryCollection fromGeometry(GeometryCollection src) { return this.geometryFactory.createGeometryCollection( StreamSupport.stream(src.getGeometries().spliterator(), false) .map(this::toJtsGeometryCollection) .toArray(com.vividsolutions.jts.geom.Geometry[]::new) ); } }
public static GeometryCollection of(Stream<Geometry<?>> geometries) { return new GeometryCollection(geometries.collect(Collectors.toList())); }
private Geometry<?> parseGeometries(JsonReader in) throws IOException { Optional<Geometry<?>> parsed = Optional.empty(); if (in.peek() != JsonToken.BEGIN_ARRAY) { throw new IllegalArgumentException("The given json is not a valid GeometryCollection"); } in.beginArray(); if (in.peek() == JsonToken.BEGIN_OBJECT) { LinkedList<Geometry<?>> geometries = new LinkedList<>(); while (in.hasNext()) { @SuppressWarnings("rawtypes") Geometry geometry = geometryAdapter.read(in); geometries.add(geometry); } parsed = Optional.<Geometry<?>>of(GeometryCollection.of(geometries)); } in.endArray(); return parsed.orElse(null); }
@Override public void write(JsonWriter out, Geometry value) throws IOException { if (value == null) { out.nullValue(); } else { out.beginObject(); out.name("type").value(value.type().getValue()); if (value.type() == Geometry.Type.GEOMETRY_COLLECTION) { out.name("geometries"); out.beginArray(); GeometryCollection geometries = (GeometryCollection) value; for (Geometry<?> geometry : geometries.getGeometries()) { geometryAdapter.write(out, geometry); } out.endArray(); } else { out.name("coordinates"); positionsAdapter.write(out, value.positions()); } out.endObject(); } }
public static GeometryCollection of(Stream<Geometry<?>> geometries) { return new GeometryCollection(geometries.collect(Collectors.toList())); }
private Geometry<?> parseGeometries(JsonReader in) throws IOException { Optional<Geometry<?>> parsed = Optional.empty(); if (in.peek() != JsonToken.BEGIN_ARRAY) { throw new IllegalArgumentException("The given json is not a valid GeometryCollection"); } in.beginArray(); if (in.peek() == JsonToken.BEGIN_OBJECT) { LinkedList<Geometry<?>> geometries = new LinkedList<>(); while (in.hasNext()) { @SuppressWarnings("rawtypes") Geometry geometry = geometryAdapter.read(in); geometries.add(geometry); } parsed = Optional.<Geometry<?>>of(GeometryCollection.of(geometries)); } in.endArray(); return parsed.orElse(null); }
@Override public void write(JsonWriter out, Geometry value) throws IOException { if (value == null) { out.nullValue(); } else { out.beginObject(); out.name("type").value(value.type().getValue()); if (value.type() == Geometry.Type.GEOMETRY_COLLECTION) { out.name("geometries"); out.beginArray(); GeometryCollection geometries = (GeometryCollection) value; for (Geometry<?> geometry : geometries.getGeometries()) { geometryAdapter.write(out, geometry); } out.endArray(); } else { out.name("coordinates"); positionsAdapter.write(out, value.positions()); } out.endObject(); } }
returnGeometry = GeometryCollection.of(geometries); } else if (src.getGeometryType().equalsIgnoreCase(Geometry.Type.POINT.getValue())) { returnGeometry = fromJtsPoint((com.vividsolutions.jts.geom.Point) src);
protected com.vividsolutions.jts.geom.Geometry toJtsGeometryCollection(Geometry<?> src) { com.vividsolutions.jts.geom.Geometry returnGeometry; if (src instanceof Point) { returnGeometry = toJtsPoint((Point) src); } else if (src instanceof LineString) { returnGeometry = toJtsLineString((LineString) src); } else if (src instanceof Polygon) { returnGeometry = toJtsPolygon((Polygon) src); } else if (src instanceof MultiPoint) { AbstractJtsCodec<com.vividsolutions.jts.geom.MultiPoint, MultiPoint> codec = new MultiPointCodec(this.geometryFactory); returnGeometry = codec.fromGeometry((MultiPoint) src); } else if (src instanceof MultiLineString) { AbstractJtsCodec<com.vividsolutions.jts.geom.MultiLineString, MultiLineString> codec = new MultiLineStringCodec(this.geometryFactory); returnGeometry = codec.fromGeometry((MultiLineString) src); } else if (src instanceof MultiPolygon) { AbstractJtsCodec<com.vividsolutions.jts.geom.MultiPolygon, MultiPolygon> codec = new MultiPolygonCodec(this.geometryFactory); returnGeometry = codec.fromGeometry((MultiPolygon) src); } else if (src instanceof GeometryCollection) { GeometryCollection geometryCollection = (GeometryCollection) src; returnGeometry = this.geometryFactory.createGeometryCollection(StreamSupport.stream(geometryCollection.getGeometries().spliterator(), false) .map(this::toJtsGeometryCollection) .toArray(com.vividsolutions.jts.geom.Geometry[]::new)); } else { throw new IllegalArgumentException("Unsupported geometry type: " + src.type()); } return returnGeometry; }
returnGeometry = GeometryCollection.of(geometries); } else if (src.getGeometryType().equalsIgnoreCase(Geometry.Type.POINT.getValue())) { returnGeometry = fromJtsPoint((com.vividsolutions.jts.geom.Point) src);
protected com.vividsolutions.jts.geom.Geometry toJtsGeometryCollection(Geometry<?> src) { com.vividsolutions.jts.geom.Geometry returnGeometry; if (src instanceof Point) { returnGeometry = toJtsPoint((Point) src); } else if (src instanceof LineString) { returnGeometry = toJtsLineString((LineString) src); } else if (src instanceof Polygon) { returnGeometry = toJtsPolygon((Polygon) src); } else if (src instanceof MultiPoint) { AbstractJtsCodec<com.vividsolutions.jts.geom.MultiPoint, MultiPoint> codec = new MultiPointCodec(this.geometryFactory); returnGeometry = codec.fromGeometry((MultiPoint) src); } else if (src instanceof MultiLineString) { AbstractJtsCodec<com.vividsolutions.jts.geom.MultiLineString, MultiLineString> codec = new MultiLineStringCodec(this.geometryFactory); returnGeometry = codec.fromGeometry((MultiLineString) src); } else if (src instanceof MultiPolygon) { AbstractJtsCodec<com.vividsolutions.jts.geom.MultiPolygon, MultiPolygon> codec = new MultiPolygonCodec(this.geometryFactory); returnGeometry = codec.fromGeometry((MultiPolygon) src); } else if (src instanceof GeometryCollection) { GeometryCollection geometryCollection = (GeometryCollection) src; returnGeometry = this.geometryFactory.createGeometryCollection(StreamSupport.stream(geometryCollection.getGeometries().spliterator(), false) .map(this::toJtsGeometryCollection) .toArray(com.vividsolutions.jts.geom.Geometry[]::new)); } else { throw new IllegalArgumentException("Unsupported geometry type: " + src.type()); } return returnGeometry; }