Class MinimumAreaRectangle


  • public class MinimumAreaRectangle
    extends Object
    Computes the minimum-area rectangle enclosing a Geometry. Unlike the Envelope, the rectangle may not be axis-parallel.

    The first step in the algorithm is computing the convex hull of the Geometry. If the input Geometry is known to be convex, a hint can be supplied to avoid this computation.

    In degenerate cases the minimum enclosing geometry may be a LineString or a Point.

    The minimum-area enclosing rectangle does not necessarily have the minimum possible width. Use MinimumDiameter to compute this.

    See Also:
    MinimumDiameter, ConvexHull
    • Constructor Detail

      • MinimumAreaRectangle

        public MinimumAreaRectangle​(Geometry inputGeom)
        Compute a minimum-area rectangle for a given Geometry.
        Parameters:
        inputGeom - a Geometry
      • MinimumAreaRectangle

        public MinimumAreaRectangle​(Geometry inputGeom,
                                    boolean isConvex)
        Compute a minimum rectangle for a Geometry, with a hint if the geometry is convex (e.g. a convex Polygon or LinearRing, or a two-point LineString, or a Point).
        Parameters:
        inputGeom - a Geometry which is convex
        isConvex - true if the input geometry is convex
    • Method Detail

      • getMinimumRectangle

        public static Geometry getMinimumRectangle​(Geometry geom)
        Gets the minimum-area rectangular Polygon which encloses the input geometry. If the convex hull of the input is degenerate (a line or point) a LineString or Point is returned.
        Parameters:
        geom - the geometry
        Returns:
        the minimum rectangle enclosing the geometry