Class GeometryGraph

java.lang.Object
org.locationtech.jts.geomgraph.PlanarGraph
org.locationtech.jts.geomgraph.GeometryGraph

public class GeometryGraph extends PlanarGraph
A GeometryGraph is a graph that models a given Geometry
Version:
1.7
  • Constructor Details

    • GeometryGraph

      public GeometryGraph(int argIndex, Geometry parentGeom)
    • GeometryGraph

      public GeometryGraph(int argIndex, Geometry parentGeom, BoundaryNodeRule boundaryNodeRule)
  • Method Details

    • determineBoundary

      public static int determineBoundary(BoundaryNodeRule boundaryNodeRule, int boundaryCount)
      Determine boundary
      Parameters:
      boundaryNodeRule - Boundary node rule
      boundaryCount - the number of component boundaries that this point occurs in
      Returns:
      boundary or interior
    • hasTooFewPoints

      public boolean hasTooFewPoints()
    • getInvalidPoint

      public Coordinate getInvalidPoint()
    • getGeometry

      public Geometry getGeometry()
    • getBoundaryNodeRule

      public BoundaryNodeRule getBoundaryNodeRule()
    • getBoundaryNodes

      public Collection getBoundaryNodes()
    • getBoundaryPoints

      public Coordinate[] getBoundaryPoints()
    • findEdge

      public Edge findEdge(LineString line)
    • computeSplitEdges

      public void computeSplitEdges(List edgelist)
    • addEdge

      public void addEdge(Edge e)
      Add an Edge computed externally. The label on the Edge is assumed to be correct.
      Parameters:
      e - Edge
    • addPoint

      public void addPoint(Coordinate pt)
      Add a point computed externally. The point is assumed to be a Point Geometry part, which has a location of INTERIOR.
      Parameters:
      pt - Coordinate
    • computeSelfNodes

      public SegmentIntersector computeSelfNodes(LineIntersector li, boolean computeRingSelfNodes)
      Compute self-nodes, taking advantage of the Geometry type to minimize the number of intersection tests. (E.g. rings are not tested for self-intersection, since they are assumed to be valid).
      Parameters:
      li - the LineIntersector to use
      computeRingSelfNodes - if false, intersection checks are optimized to not test rings for self-intersection
      Returns:
      the computed SegmentIntersector containing information about the intersections found
    • computeEdgeIntersections

      public SegmentIntersector computeEdgeIntersections(GeometryGraph g, LineIntersector li, boolean includeProper)
    • locate

      public int locate(Coordinate pt)
      Determines the Location of the given Coordinate in this geometry.
      Parameters:
      pt - the point to test
      Returns:
      the location of the point in the geometry