/** * Extracts the {@link Polygon} elements from a single {@link Geometry} * and adds them to the provided {@link List}. * * @param geom the geometry from which to extract * @param list the list to add the extracted elements to */ public static List getPolygons(Geometry geom, List list) { if (geom instanceof Polygon) { list.add(geom); } else if (geom instanceof GeometryCollection) { geom.apply(new PolygonExtracter(list)); } // skip non-Polygonal elemental geometries return list; }
List<Geometry> lines = new ArrayList<>(); List<Geometry> points = new ArrayList<>(); geom.apply(new PolygonExtracter(polys)); geom.apply(new LineStringExtracter(lines)); geom.apply(new PointExtracter(points)); getArealGeometryFromLinearRing(interiorRing).apply(new PolygonExtracter(polys));