JTS Topology Suite version 1.12

com.vividsolutions.jts.algorithm
Class MinimumBoundingCircle

java.lang.Object
  extended by com.vividsolutions.jts.algorithm.MinimumBoundingCircle

public class MinimumBoundingCircle
extends java.lang.Object

Computes the Minimum Bounding Circle (MBC) for the points in a Geometry. The MBC is the smallest circle which contains all the input points (this is sometimes known as the Smallest Enclosing Circle). This is equivalent to computing the Maximum Diameter of the input point set.

The geometric circle can be specified in two equivalent ways, both of which are provide as output by this class:

The class also provides a Geometry which approximates the shape of the MBC (although as an approximation it is not guaranteed to cover all the input points.)

Author:
Martin Davis

Constructor Summary
MinimumBoundingCircle(Geometry geom)
          Creates a new object for computing the minimum bounding circle for the point set defined by the vertices of the given geometry.
 
Method Summary
 Coordinate getCentre()
          Gets the centre point of the computed Minimum Bounding Circle.
 Geometry getCircle()
          Gets a geometry which represents the Minimum Bounding Circle.
 Coordinate[] getExtremalPoints()
          Gets the extremal points which define the computed Minimum Bounding Circle.
 double getRadius()
          Gets the radius of the computed Minimum Bounding Circle.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

MinimumBoundingCircle

public MinimumBoundingCircle(Geometry geom)
Creates a new object for computing the minimum bounding circle for the point set defined by the vertices of the given geometry.

Parameters:
geom - the geometry to use to obtain the point set
Method Detail

getCircle

public Geometry getCircle()
Gets a geometry which represents the Minimum Bounding Circle. If the input is degenerate (empty or a single unique point), this method will return an empty geometry or a single Point geometry. Otherwise, a Polygon will be returned which approximates the Minimum Bounding Circle. (Note that because the computed polygon is only an approximation, it may not precisely contain all the input points.)

Returns:
a Geometry representing the Minimum Bounding Circle.

getExtremalPoints

public Coordinate[] getExtremalPoints()
Gets the extremal points which define the computed Minimum Bounding Circle. There may be zero, one, two or three of these points, depending on the number of points in the input and the geometry of those points.

Returns:
the points defining the Minimum Bounding Circle

getCentre

public Coordinate getCentre()
Gets the centre point of the computed Minimum Bounding Circle.

Returns:
the centre point of the Minimum Bounding Circle

getRadius

public double getRadius()
Gets the radius of the computed Minimum Bounding Circle.

Returns:
the radius of the Minimum Bounding Circle

JTS Topology Suite version 1.12