'Computes on-sky separation between this coordinate and another.
Parameters
other : `~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 .angle_utilities import angular_separation
    from .angles import Angle
    self_unit_sph = self.represent_as(r.UnitSphericalRepresentation)
    other_transformed = other.transform_to(self)
    other_unit_sph = other_transformed.represent_as(r.UnitSphericalRepresentation)
    sep = angular_separation(self_unit_sph.lon, self_unit_sph.lat, other_unit_sph.lon, other_unit_sph.lat)
    return Angle(sep, unit=u.degree)
