Class MulitPolyConvexHullGeometryValidator

  • All Implemented Interfaces:
    IGeometryValidator

    public class MulitPolyConvexHullGeometryValidator
    extends Object
    implements IGeometryValidator
    A geometry validator that takes an input geometry and attempts to ensure that it is valid by performing a set of functions to the geometry. If the geometry is a polygon or multi polygon, self intersections / inconsistencies are fixed. It also performs gradual incremental additions to the allowed deviation of the original points for merging of the multipolygons into a single polygon. If this fails to get a single polygon, it will simply return the largest area polygon after the iterations of simplification are complete. This functionality was produced for the work described in Boubrahimi et. al, 2018.
    Author:
    Original Soukaina Filali Boubrahimi, refactored by Dustin Kempton, Surabhi Priya, Data Mining Lab, Georgia State University
    • Constructor Detail

      • MulitPolyConvexHullGeometryValidator

        public MulitPolyConvexHullGeometryValidator​(IGeometryValidator bufferValidator,
                                                    IGeometryValidator simplifyValidator,
                                                    IGeometryValidator polyValidator)
        Constructor that takes in a geometry validator that ensures that points are listed in the clockwise order. Another validator that performs a simplifying function. And finally a validator that processes the input polygon or multi polygon, and ensures self intersections / inconsistencies are fixed.
        Parameters:
        bufferValidator - The bufferValidator that verifies points are listed in correct order
        simplifyValidator - The simplifying validator that attempts to reduce the complexity of the polygon.
        polyValidator - The validator that removes self intersections/inconsistencies
    • Method Detail

      • produceValidGeometry

        public org.locationtech.jts.geom.Geometry produceValidGeometry​(org.locationtech.jts.geom.Geometry geom)
        Description copied from interface: IGeometryValidator
        Performs some validation function on the input geometry and returns a new geometry that conforms to that validation method. An example would be to ensure that the coordinate list is in a counterclockwise direction.
        Specified by:
        produceValidGeometry in interface IGeometryValidator
        Parameters:
        geom - The input geometry to force to conform to a set of validity rules.
        Returns:
        A valid copy of the input geometry.