crossTrackDistanceTo method
calculate signed distance from a geo point to greate circle with start and end points
Implementation
num crossTrackDistanceTo(Coordinate l1, Coordinate start, Coordinate end,
[num? radius]) {
var R = radius ?? _RADIUS;
num distStartL1 = distanceBetweenTwoGeoPoints(start, l1, R) / R;
num radiansStartL1 =
degToRadian(bearingBetweenTwoGeoPoints(start, l1) as double);
num radiansEndL1 =
degToRadian(bearingBetweenTwoGeoPoints(start, end) as double);
num x = math
.asin(math.sin(distStartL1) * math.sin(radiansStartL1 - radiansEndL1));
return x * R;
}