private void checkDD(Coordinate p1, Coordinate p2, Coordinate q1, Coordinate q2, Coordinate intPt) { Coordinate intPtDD = CGAlgorithmsDD.intersection(p1, p2, q1, q2); boolean isIn = isInSegmentEnvelopes(intPtDD); System.out.println( "DD in env = " + isIn + " --------------------- " + intPtDD); if (intPt.distance(intPtDD) > 0.0001) { System.out.println("Distance = " + intPt.distance(intPtDD)); } }
public static Geometry segmentIntersectionDD(Geometry g1, Geometry g2) { Coordinate[] pt1 = g1.getCoordinates(); Coordinate[] pt2 = g2.getCoordinates(); // first check if there actually is an intersection RobustLineIntersector ri = new RobustLineIntersector(); ri.computeIntersection(pt1[0], pt1[1], pt2[0], pt2[1]); if (! ri.hasIntersection()) { // no intersection => return empty point return g1.getFactory().createPoint((Coordinate) null); } Coordinate intPt = CGAlgorithmsDD.intersection(pt1[0], pt1[1], pt2[0], pt2[1]); return g1.getFactory().createPoint(intPt); } }