Perform Pyproj's inv operation on two LatLon objects
        Returns the initial heading and reverse heading in degrees, and the distance
        in km.

def _pyproj_inv(self, other, ellipse = 'WGS84'):
        '''
        Perform Pyproj's inv operation on two LatLon objects
        Returns the initial heading and reverse heading in degrees, and the distance
        in km.
        '''
        lat1, lon1 = self.lat.decimal_degree, self.lon.decimal_degree
        lat2, lon2 = other.lat.decimal_degree, other.lon.decimal_degree
        g = pyproj.Geod(ellps = ellipse)
        heading_initial, heading_reverse, distance = g.inv(lon1, lat1, lon2, lat2, radians = False)
        distance = distance/1000.0
        if heading_initial == 0.0: # Reverse heading not well handled for coordinates that are directly south
            heading_reverse = 180.0
        return {'heading_initial': heading_initial, 'heading_reverse': heading_reverse, 'distance': distance}