return null;
}
public Double calculateOrthogonalDistance(NavigationPosition pointA, NavigationPosition pointB) {
if (hasCoordinates() && pointA.hasCoordinates() && pointB.hasCoordinates()) {
Bearing bearingAD = calculateBearing(pointA.getLongitude(), pointA.getLatitude(), getLongitude(), getLatitude());
Double distanceAtoD = bearingAD.getDistance();
if (distanceAtoD != null) {
double courseAtoD = toRadians(bearingAD.getAngle());
double courseAtoB = toRadians(pointA.calculateAngle(pointB));
return asin(sin(distanceAtoD / EARTH_RADIUS) *
sin(courseAtoD - courseAtoB)) * EARTH_RADIUS;
}
}