/** * Get the inherent dimension (0, 1, or 2) for this Geometry * * @return dimension */ public int getDimension() { return GeometryUtils.getDimension(this); }
List<Geometry> geometries = geomCollection.getGeometries(); for (Geometry subGeometry : geometries) { dimension = Math.max(dimension, getDimension(subGeometry));
/** * Get the centroid point of the Geometry * * @param geometry * geometry object * @return centroid point */ public static Point getCentroid(Geometry geometry) { Point centroid = null; int dimension = getDimension(geometry); switch (dimension) { case 0: CentroidPoint point = new CentroidPoint(geometry); centroid = point.getCentroid(); break; case 1: CentroidCurve curve = new CentroidCurve(geometry); centroid = curve.getCentroid(); break; case 2: CentroidSurface surface = new CentroidSurface(geometry); centroid = surface.getCentroid(); break; } return centroid; }