Class BufferResultValidator

java.lang.Object
org.locationtech.jts.operation.buffer.validate.BufferResultValidator

public class BufferResultValidator extends Object
Validates that the result of a buffer operation is geometrically correct, within a computed tolerance.

This is a heuristic test, and may return false positive results (I.e. it may fail to detect an invalid result.) It should never return a false negative result, however (I.e. it should never report a valid result as invalid.)

This test may be (much) more expensive than the original buffer computation.

Author:
Martin Davis
  • Constructor Details

    • BufferResultValidator

      public BufferResultValidator(Geometry input, double distance, Geometry result)
  • Method Details

    • isValid

      public static boolean isValid(Geometry g, double distance, Geometry result)
    • isValidMsg

      public static String isValidMsg(Geometry g, double distance, Geometry result)
      Checks whether the geometry buffer is valid, and returns an error message if not.
      Parameters:
      g -
      distance -
      result -
      Returns:
      an appropriate error message or null if the buffer is valid
    • isValid

      public boolean isValid()
    • getErrorMessage

      public String getErrorMessage()
    • getErrorLocation

      public Coordinate getErrorLocation()
    • getErrorIndicator

      public Geometry getErrorIndicator()
      Gets a geometry which indicates the location and nature of a validation failure.

      If the failure is due to the buffer curve being too far or too close to the input, the indicator is a line segment showing the location and size of the discrepancy.

      Returns:
      a geometric error indicator or null if no error was found