'Computes on-sky separation between this coordinate and another.
For more on how to use this (and related) functionality, see the
examples in :doc:`/coordinates/matchsep`.
Parameters
other : `~astropy.coordinates.SkyCoord` or `~astropy.coordinates.BaseCoordinateFrame`
The coordinate to get the separation to.
Returns
sep : `~astropy.coordinates.Angle`
The on-sky separation between this and the ``other`` coordinate.
Notes
The separation is calculated using the Vincenty formula, which
is stable at all locations, including poles and antipodes [1]_.
.. [1] http://en.wikipedia.org/wiki/Great-circle_distance'

def separation(self, other):

    from . import Angle
    from .angle_utilities import angular_separation
    if (not self.is_equivalent_frame(other)):
        try:
            other = other.transform_to(self, merge_attributes=False)
        except TypeError:
            raise TypeError(u'Can    only    get    separation    to    another    SkyCoord    or    a    coordinate    frame    with    data')
    lon1 = self.spherical.lon
    lat1 = self.spherical.lat
    lon2 = other.spherical.lon
    lat2 = other.spherical.lat
    sep = angular_separation(lon1, lat1, lon2, lat2)
    return Angle(sep, unit=u.degree)
