private static Polygon findPolygonContaining(Geometry geom, Coordinate pt) { PointLocator locator = new PointLocator(); for (int i = 0; i < geom.getNumGeometries(); i++) { Polygon poly = (Polygon) geom.getGeometryN(i); int loc = locator.locate(pt, poly); if (loc == Location.INTERIOR) return poly; } return null; }
public static List extractElements(Geometry geom, boolean skipEmpty) { List elem = new ArrayList(); if (geom == null) return elem; for (int i = 0; i < geom.getNumGeometries(); i++) { Geometry elemGeom = geom.getGeometryN(i); if (skipEmpty && elemGeom.isEmpty()) continue; elem.add(elemGeom); } return elem; }