Class VoronoiDiagramBuilder

java.lang.Object
org.locationtech.jts.triangulate.VoronoiDiagramBuilder

public class VoronoiDiagramBuilder extends Object
A utility class which creates Voronoi Diagrams from collections of points. The diagram is returned as a GeometryCollection of Polygons representing the faces of the Voronoi diagram. The faces are clipped to the larger of: The userData attribute of each face Polygon is set to the Coordinate of the corresponding input site. This allows using a Map to link faces to data associated with sites.
  • Field Details

  • Constructor Details

    • VoronoiDiagramBuilder

      public VoronoiDiagramBuilder()
      Creates a new Voronoi diagram builder.
  • Method Details

    • setSites

      public void setSites(Geometry geom)
      Sets the sites (point or vertices) which will be diagrammed. All vertices of the given geometry will be used as sites.
      Parameters:
      geom - the geometry from which the sites will be extracted.
    • setSites

      public void setSites(Collection coords)
      Sets the sites (point or vertices) which will be diagrammed from a collection of Coordinates.
      Parameters:
      coords - a collection of Coordinates.
    • setClipEnvelope

      public void setClipEnvelope(Envelope clipEnv)
      Sets the envelope to clip the diagram to. The diagram will be clipped to the larger of this envelope or an envelope surrounding the sites.
      Parameters:
      clipEnv - the clip envelope.
    • setTolerance

      public void setTolerance(double tolerance)
      Sets the snapping tolerance which will be used to improved the robustness of the triangulation computation. A tolerance of 0.0 specifies that no snapping will take place.
      Parameters:
      tolerance - the tolerance distance to use
    • create

      private void create()
    • getSubdivision

      public QuadEdgeSubdivision getSubdivision()
      Gets the QuadEdgeSubdivision which models the computed diagram.
      Returns:
      the subdivision containing the triangulation
    • getDiagram

      public Geometry getDiagram(GeometryFactory geomFact)
      Gets the faces of the computed diagram as a GeometryCollection of Polygons, clipped as specified.

      The userData attribute of each face Polygon is set to the Coordinate of the corresponding input site. This allows using a Map to link faces to data associated with sites.

      Parameters:
      geomFact - the geometry factory to use to create the output
      Returns:
      a GeometryCollection containing the face Polygons of the diagram
    • clipGeometryCollection

      private static Geometry clipGeometryCollection(Geometry geom, Envelope clipEnv)