/// <summary> /// /// </summary> /// <param name="wktA"></param> /// <param name="wktB"></param> public virtual void FindClosestPoint(string wktA, string wktB) { Console.WriteLine("-------------------------------------"); try { IGeometry A = wktRdr.Read(wktA); IGeometry B = wktRdr.Read(wktB); Console.WriteLine("Geometry A: " + A); Console.WriteLine("Geometry B: " + B); DistanceOp distOp = new DistanceOp(A, B); double distance = distOp.Distance(); Console.WriteLine("Distance = " + distance); ICoordinate[] closestPt = distOp.ClosestPoints(); ILineString closestPtLine = fact.CreateLineString(closestPt); Console.WriteLine("Closest points: " + closestPtLine + " (distance = " + closestPtLine.Length + ")"); } catch (Exception ex) { Console.WriteLine(ex.StackTrace); } }
/// <summary> /// Test whether two geometries lie within a given distance of each other. /// </summary> /// <param name="g0"></param> /// <param name="g1"></param> /// <param name="distance"></param> /// <returns></returns> public static bool IsWithinDistance(IGeometry g0, IGeometry g1, double distance) { DistanceOp distOp = new DistanceOp(g0, g1, distance); return(distOp.Distance() <= distance); }
/// <summary> /// Compute the distance between the closest points of two geometries. /// </summary> /// <param name="g0">A <c>Geometry</c>.</param> /// <param name="g1">Another <c>Geometry</c>.</param> /// <returns>The distance between the geometries.</returns> public static double Distance(IGeometry g0, IGeometry g1) { DistanceOp distOp = new DistanceOp(g0, g1); return(distOp.Distance()); }
/// <summary> /// Test whether two geometries lie within a given distance of each other. /// </summary> /// <param name="g0"></param> /// <param name="g1"></param> /// <param name="distance"></param> /// <returns></returns> public static bool IsWithinDistance(IGeometry g0, IGeometry g1, double distance) { DistanceOp distOp = new DistanceOp(g0, g1, distance); return distOp.Distance() <= distance; }
/// <summary> /// Compute the distance between the closest points of two geometries. /// </summary> /// <param name="g0">A <c>Geometry</c>.</param> /// <param name="g1">Another <c>Geometry</c>.</param> /// <returns>The distance between the geometries.</returns> public static double Distance(IGeometry g0, IGeometry g1) { DistanceOp distOp = new DistanceOp(g0, g1); return distOp.Distance(); }