pygaia/astrometry/coordinates.py
def angularDistance(phi1, theta1, phi2, theta2):
    """
    Calculate the angular distance between pairs of sky coordinates.

    Parameters
    ----------

    phi1 : float
        Longitude of first coordinate (radians).
    theta1 : float
        Latitude of first coordinate (radians).
    phi2 : float
        Longitude of second coordinate (radians).
    theta2 : float
        Latitude of second coordinate (radians).

    Returns
    -------

    Angular distance in radians.
    """
    # Formula below is more numerically stable than arccos( sin(theta1)*sin(theta2) +
    # cos(phi2-phi1)*cos(theta1)*cos(theta2) )
    # See: https://en.wikipedia.org/wiki/Great-circle_distance
    return arctan( sqrt((cos(theta2)*sin(phi2-phi1))**2 +
        (cos(theta1)*sin(theta2)-sin(theta1)*cos(theta2)*cos(phi2-phi1))**2) / (sin(theta1)*sin(theta2) +
            cos(phi2-phi1)*cos(theta1)*cos(theta2)) )
def angularDistance(phi1, theta1, phi2, theta2):
    # Formula below is more numerically stable than arccos( sin(theta1)*sin(theta2) +
    # cos(phi2-phi1)*cos(theta1)*cos(theta2) )
    # See: https://en.wikipedia.org/wiki/Great-circle_distance
    return arctan( sqrt((cos(theta2)*sin(phi2-phi1))**2 +
        (cos(theta1)*sin(theta2)-sin(theta1)*cos(theta2)*cos(phi2-phi1))**2) / (sin(theta1)*sin(theta2) +
            cos(phi2-phi1)*cos(theta1)*cos(theta2)) )
def angularDistance ( phi1 , theta1 , phi2 , theta2 ) : # Formula below is more numerically stable than arccos( sin(theta1)*sin(theta2) + # cos(phi2-phi1)*cos(theta1)*cos(theta2) ) # See: https://en.wikipedia.org/wiki/Great-circle_distance return arctan ( sqrt ( ( cos ( theta2 ) * sin ( phi2 - phi1 ) ) ** 2 + ( cos ( theta1 ) * sin ( theta2 ) - sin ( theta1 ) * cos ( theta2 ) * cos ( phi2 - phi1 ) ) ** 2 ) / ( sin ( theta1 ) * sin ( theta2 ) + cos ( phi2 - phi1 ) * cos ( theta1 ) * cos ( theta2 ) ) )
Calculate the angular distance between pairs of sky coordinates.

    Parameters
    ----------

    phi1 : float
        Longitude of first coordinate (radians).
    theta1 : float
        Latitude of first coordinate (radians).
    phi2 : float
        Longitude of second coordinate (radians).
    theta2 : float
        Latitude of second coordinate (radians).

    Returns
    -------

    Angular distance in radians.
Calculate the angular distance between pairs of sky coordinates .