Class MinimumDiameter
- Namespace
 - NetTopologySuite.Algorithm
 
- Assembly
 - NetTopologySuite.dll
 
Computes the minimum diameter of a Geometry.
public class MinimumDiameter
  - Inheritance
 - 
      
      MinimumDiameter
 
- Inherited Members
 
Remarks
The minimum diameter is defined to be the width of the smallest band that contains the geometry, where a band is a strip of the plane defined by two parallel lines. This can be thought of as the smallest hole that the point can be moved through, with a single rotation.
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.
This class can also be used to compute
- a line segment representing the minimum diameter
 - the supporting line segment of the minimum diameter
 - a minimum enclosing rectangle of the input geometry. The rectangle has width equal to the minimum diameter, and has one side parallel to the supporting segment. In degenerate cases the minimum enclosing geometry may be a LineString or a Point.
 
Constructors
MinimumDiameter(Geometry)
Compute a minimum diameter for a given Geometry.
public MinimumDiameter(Geometry inputGeom)
  Parameters
inputGeomGeometrya Geometry.
- See Also
 
MinimumDiameter(Geometry, bool)
Compute a minimum diameter for a giver Geometry,
with a hint if
the Geometry is convex
(e.g. a convex Polygon or LinearRing,
or a two-point LineString, or a Point).
public MinimumDiameter(Geometry inputGeom, bool isConvex)
  Parameters
- See Also
 
Properties
Diameter
Gets a LineString which is a minimum diameter.
public LineString Diameter { get; }
  Property Value
- LineString
 A
LineStringwhich is a minimum diameter.
- See Also
 
Length
Gets the length of the minimum diameter of the input Geometry.
public double Length { get; }
  Property Value
- double
 The length of the minimum diameter.
- See Also
 
SupportingSegment
Gets the segment forming the base of the minimum diameter.
public LineString SupportingSegment { get; }
  Property Value
- LineString
 The segment forming the base of the minimum diameter.
- See Also
 
WidthCoordinate
Gets the Coordinate forming one end of the minimum diameter.
public Coordinate WidthCoordinate { get; }
  Property Value
- Coordinate
 A coordinate forming one end of the minimum diameter.
- See Also
 
Methods
GetMinimumDiameter(Geometry)
Gets the minimum diameter enclosing a geometry.
public static Geometry GetMinimumDiameter(Geometry geom)
  Parameters
geomGeometryThe geometry
Returns
- Geometry
 The length of the minimum diameter of the geometry
- See Also
 
GetMinimumRectangle()
Gets the minimum rectangular Polygon which encloses the input geometry.
public Geometry GetMinimumRectangle()
  Returns
- Geometry
 The minimum rectangle enclosing the input (or a line or point if degenerate)
Remarks
The rectangle has width equal to the minimum diameter, and a longer length. If the convex hull of the input is degenerate (a line or point) a LineString or Point is returned.
The minimum rectangle can be used as an extremely generalized representation for the given geometry.
- See Also
 
GetMinimumRectangle(Geometry)
Gets the minimum rectangular Polygon which encloses the input geometry. The rectangle has width equal to the minimum diameter, and a longer length. If the convex hull of the input is degenerate (a line or point) a LineString or Point is returned.
The minimum rectangle can be used as an extremely generalized representation for the given geometry.public static Geometry GetMinimumRectangle(Geometry geom)
  Parameters
geomGeometryThe geometry
Returns
- Geometry
 The minimum rectangle enclosing the geometry
- See Also