Class CGAlgorithms


  • public class CGAlgorithms
    extends java.lang.Object
    Deprecated.
    See Length, Area, Distance, Orientation, PointLocation
    Specifies and implements various fundamental Computational Geometric algorithms. The algorithms supplied in this class are robust for double-precision floating point.
    Version:
    1.7
    • Field Detail

      • CLOCKWISE

        public static final int CLOCKWISE
        Deprecated.
        A value that indicates an orientation of clockwise, or a right turn.
        See Also:
        Constant Field Values
      • RIGHT

        public static final int RIGHT
        Deprecated.
        A value that indicates an orientation of clockwise, or a right turn.
        See Also:
        Constant Field Values
      • COUNTERCLOCKWISE

        public static final int COUNTERCLOCKWISE
        Deprecated.
        A value that indicates an orientation of counterclockwise, or a left turn.
        See Also:
        Constant Field Values
      • LEFT

        public static final int LEFT
        Deprecated.
        A value that indicates an orientation of counterclockwise, or a left turn.
        See Also:
        Constant Field Values
      • COLLINEAR

        public static final int COLLINEAR
        Deprecated.
        A value that indicates an orientation of collinear, or no turn (straight).
        See Also:
        Constant Field Values
      • STRAIGHT

        public static final int STRAIGHT
        Deprecated.
        A value that indicates an orientation of collinear, or no turn (straight).
        See Also:
        Constant Field Values
    • Constructor Detail

      • CGAlgorithms

        public CGAlgorithms()
        Deprecated.
    • Method Detail

      • orientationIndex

        public static int orientationIndex​(Coordinate p1,
                                           Coordinate p2,
                                           Coordinate q)
        Deprecated.
        Returns the index of the direction of the point q relative to a vector specified by p1-p2.
        Parameters:
        p1 - the origin point of the vector
        p2 - the final point of the vector
        q - the point to compute the direction to
        Returns:
        1 if q is counter-clockwise (left) from p1-p2
      • isPointInRing

        public static boolean isPointInRing​(Coordinate p,
                                            Coordinate[] ring)
        Deprecated.
        Tests whether a point lies inside or on a ring. The ring may be oriented in either direction. A point lying exactly on the ring boundary is considered to be inside the ring.

        This method does not first check the point against the envelope of the ring.

        Parameters:
        p - point to check for ring inclusion
        ring - an array of coordinates representing the ring (which must have first point identical to last point)
        Returns:
        true if p is inside ring
        See Also:
        locatePointInRing(org.locationtech.jts.geom.Coordinate,org.locationtech.jts.geom.Coordinate[])
      • locatePointInRing

        public static int locatePointInRing​(Coordinate p,
                                            Coordinate[] ring)
        Deprecated.
        Determines whether a point lies in the interior, on the boundary, or in the exterior of a ring. The ring may be oriented in either direction.

        This method does not first check the point against the envelope of the ring.

        Parameters:
        p - point to check for ring inclusion
        ring - an array of coordinates representing the ring (which must have first point identical to last point)
        Returns:
        the Location of p relative to the ring
      • isOnLine

        public static boolean isOnLine​(Coordinate p,
                                       Coordinate[] pt)
        Deprecated.
        Tests whether a point lies on the line segments defined by a list of coordinates.
        Returns:
        true if the point is a vertex of the line or lies in the interior of a line segment in the linestring
      • isCCW

        public static boolean isCCW​(Coordinate[] ring)
        Deprecated.
        Computes whether a ring defined by an array of Coordinates is oriented counter-clockwise.
        • The list of points is assumed to have the first and last points equal.
        • This will handle coordinate lists which contain repeated points.
        This algorithm is only guaranteed to work with valid rings. If the ring is invalid (e.g. self-crosses or touches), the computed result may not be correct.
        Parameters:
        ring - an array of Coordinates forming a ring
        Returns:
        true if the ring is oriented counter-clockwise.
        Throws:
        java.lang.IllegalArgumentException - if there are too few points to determine orientation (< 4)
      • computeOrientation

        public static int computeOrientation​(Coordinate p1,
                                             Coordinate p2,
                                             Coordinate q)
        Deprecated.
        Computes the orientation of a point q to the directed line segment p1-p2. The orientation of a point relative to a directed line segment indicates which way you turn to get to q after travelling from p1 to p2.
        Parameters:
        p1 - the first vertex of the line segment
        p2 - the second vertex of the line segment
        q - the point to compute the relative orientation of
        Returns:
        1 if q is counter-clockwise from p1-p2, or -1 if q is clockwise from p1-p2, or 0 if q is collinear with p1-p2
      • distancePointLine

        public static double distancePointLine​(Coordinate p,
                                               Coordinate A,
                                               Coordinate B)
        Deprecated.
        Computes the distance from a point p to a line segment AB Note: NON-ROBUST!
        Parameters:
        p - the point to compute the distance for
        A - one point of the line
        B - another point of the line (must be different to A)
        Returns:
        the distance from p to line segment AB
      • distancePointLinePerpendicular

        public static double distancePointLinePerpendicular​(Coordinate p,
                                                            Coordinate A,
                                                            Coordinate B)
        Deprecated.
        Computes the perpendicular distance from a point p to the (infinite) line containing the points AB
        Parameters:
        p - the point to compute the distance for
        A - one point of the line
        B - another point of the line (must be different to A)
        Returns:
        the distance from p to line AB
      • distancePointLine

        public static double distancePointLine​(Coordinate p,
                                               Coordinate[] line)
        Deprecated.
        Computes the distance from a point to a sequence of line segments.
        Parameters:
        p - a point
        line - a sequence of contiguous line segments defined by their vertices
        Returns:
        the minimum distance between the point and the line segments
      • distanceLineLine

        public static double distanceLineLine​(Coordinate A,
                                              Coordinate B,
                                              Coordinate C,
                                              Coordinate D)
        Deprecated.
        Computes the distance from a line segment AB to a line segment CD Note: NON-ROBUST!
        Parameters:
        A - a point of one line
        B - the second point of (must be different to A)
        C - one point of the line
        D - another point of the line (must be different to A)
      • signedArea

        public static double signedArea​(Coordinate[] ring)
        Deprecated.
        Computes the signed area for a ring. The signed area is positive if the ring is oriented CW, negative if the ring is oriented CCW, and zero if the ring is degenerate or flat.
        Parameters:
        ring - the coordinates forming the ring
        Returns:
        the signed area of the ring
      • signedArea

        public static double signedArea​(CoordinateSequence ring)
        Deprecated.
        Computes the signed area for a ring. The signed area is:
        • positive if the ring is oriented CW
        • negative if the ring is oriented CCW
        • zero if the ring is degenerate or flat
        Parameters:
        ring - the coordinates forming the ring
        Returns:
        the signed area of the ring
      • length

        public static double length​(CoordinateSequence pts)
        Deprecated.
        Computes the length of a linestring specified by a sequence of points.
        Parameters:
        pts - the points specifying the linestring
        Returns:
        the length of the linestring