GeoFenceIsPointInRangeOfLine(Coordinate, Distance) Method
Determine if the coordinate is next the given range of the polyline.
Namespace: CoordinateSharpAssembly: CoordinateSharp (in CoordinateSharp.dll) Version: 3.1.1.1
XMLNS for XAML: Not mapped to an xmlns.
public bool IsPointInRangeOfLine(
Coordinate point,
Distance range
)
- point Coordinate
- Point to test
- range Distance
- Range is a distance object
Booleanbool
This method utilizes 2D ray casting techniques and does not inherently account for the curvature of the Earth. To mitigate the impact of Earth shape distortion on polygons or polylines that span long distances, users should employ densification.
The following example shows how to determine if a coordinate is within 1 km of
the edge of the specified polygon.
List<GeoFence.Point> points = new List<GeoFence.Point>();
//Points specified manually to create a square in the USA.
//First and last points should be identical if creating a polygon boundary.
points.Add(new GeoFence.Point(31.65, -106.52));
points.Add(new GeoFence.Point(31.65, -84.02));
points.Add(new GeoFence.Point(42.03, -84.02));
points.Add(new GeoFence.Point(42.03, -106.52));
points.Add(new GeoFence.Point(31.65, -106.52));
GeoFence gf = new GeoFence(points);
Coordinate c = new Coordinate(36.67, -101.51);
Distance d = new Distance(1, DistanceType.Kilometers);
Console.WriteLine(gf.IsPointInRangeOfLine(c, d)); //False (coordinate is not within 1 km of the edge of the polygon)