@Override public Polygon backwardConvert(final com.vividsolutions.jts.geom.Polygon object) { return LINEAR_RING_CONVERTER.backwardConvert((LinearRing) object.getExteriorRing()); }
@Override public com.vividsolutions.jts.geom.Polygon convert(final Polygon object) { return new com.vividsolutions.jts.geom.Polygon(LINEAR_RING_CONVERTER.convert(object), new LinearRing[0], FACTORY); } }
@Override public Set<com.vividsolutions.jts.geom.Polygon> convert(final MultiPolygon object) { final Set<com.vividsolutions.jts.geom.Polygon> result = new HashSet<>(); for (final Polygon outer : object.outers()) { final List<Polygon> inners = object.innersOf(outer); final LinearRing[] holes = new LinearRing[inners.size()]; int index = 0; for (final Polygon inner : inners) { holes[index++] = LINEAR_RING_CONVERTER.convert(inner); } result.add(new com.vividsolutions.jts.geom.Polygon(LINEAR_RING_CONVERTER.convert(outer), holes, FACTORY)); } return result; } }
@Override public MultiPolygon backwardConvert(final Set<com.vividsolutions.jts.geom.Polygon> object) { final MultiMap<Polygon, Polygon> result = new MultiMap<>(); for (final com.vividsolutions.jts.geom.Polygon polygon : object) { final Polygon outer = POLYGON_CONVERTER.backwardConvert(polygon); if (outer == null) { continue; } for (int n = 0; n < polygon.getNumInteriorRing(); n++) { final LinearRing ring = new LinearRing( polygon.getInteriorRingN(n).getCoordinateSequence(), FACTORY); final Polygon inner = LINEAR_RING_CONVERTER.backwardConvert(ring); result.add(outer, inner); } if (polygon.getNumInteriorRing() == 0) { // Make sure the outer still exists if the inners are not there. result.put(outer, new ArrayList<>()); } } return new MultiPolygon(result); }
polygons.forEach(polygon -> results.add(JTS_LINEAR_RING_CONVERTER.convert(polygon)));
.convert(new Polygon(outer.getRawGeometry())); final com.vividsolutions.jts.geom.Polygon outerPolygon = new com.vividsolutions.jts.geom.Polygon( outerRing, null, JtsUtility.GEOMETRY_FACTORY); .convert(new Polygon(inner.getRawGeometry())); final com.vividsolutions.jts.geom.Polygon innerPolygon = new com.vividsolutions.jts.geom.Polygon( innerRing, null, JtsUtility.GEOMETRY_FACTORY);