cdm/src/main/java/ucar/unidata/geoloc/Bearing.java
public static Bearing calculateBearing(double lat1, double lon1,
                                           double lat2, double lon2,
                                           Bearing result) {

        return calculateBearing(defaultEarth, lat1, lon1, lat2, lon2, result);
    }
public static Bearing calculateBearing(double lat1, double lon1,
                                           double lat2, double lon2,
                                           Bearing result) {

        return calculateBearing(defaultEarth, lat1, lon1, lat2, lon2, result);
    }
public static Bearing calculateBearing ( double lat1 , double lon1 , double lat2 , double lon2 , Bearing result ) { return calculateBearing ( defaultEarth , lat1 , lon1 , lat2 , lon2 , result ) ; }
Computes distance (in km), azimuth (degrees clockwise positive
from North, 0 to 360), and back azimuth (degrees clockwise positive
from North, 0 to 360), from latitude-longituide point pt1 to
latitude-longituide pt2. Uses default Earth object.

@param lat1   Lat of point 1
@param lon1   Lon of point 1
@param lat2   Lat of point 2
@param lon2   Lon of point 2
@param result put result here, or null to allocate
@return a Bearing object with distance (in km), azimuth from
pt1 to pt2 (degrees, 0 = north, clockwise positive)
Computes distance ( in km ) azimuth ( degrees clockwise positive from North 0 to 360 ) and back azimuth ( degrees clockwise positive from North 0 to 360 ) from latitude - longituide point pt1 to latitude - longituide pt2 . Uses default Earth object .