Source code for astropy.coordinates.builtin_frames.supergalactic
# Licensed under a 3-clause BSD style license - see LICENSE.rst
from astropy import units as u
from astropy.coordinates import representation as r
from astropy.coordinates.baseframe import (
BaseCoordinateFrame,
RepresentationMapping,
base_doc,
)
from astropy.utils.decorators import format_doc
from .galactic import Galactic
__all__ = ["Supergalactic"]
doc_components = """
sgl : `~astropy.coordinates.Angle`, optional, keyword-only
The supergalactic longitude for this object (``sgb`` must also be given and
``representation`` must be None).
sgb : `~astropy.coordinates.Angle`, optional, keyword-only
The supergalactic latitude for this object (``sgl`` must also be given and
``representation`` must be None).
distance : `~astropy.units.Quantity` ['speed'], optional, keyword-only
The Distance for this object along the line-of-sight.
pm_sgl_cossgb : `~astropy.units.Quantity` ['angular speed'], optional, keyword-only
The proper motion in Right Ascension for this object (``pm_sgb`` must
also be given).
pm_sgb : `~astropy.units.Quantity` ['angular speed'], optional, keyword-only
The proper motion in Declination for this object (``pm_sgl_cossgb`` must
also be given).
radial_velocity : `~astropy.units.Quantity` ['speed'], optional, keyword-only
The radial velocity of this object.
"""
[docs]@format_doc(base_doc, components=doc_components, footer="")
class Supergalactic(BaseCoordinateFrame):
"""
Supergalactic Coordinates
(see Lahav et al. 2000, <https://ui.adsabs.harvard.edu/abs/2000MNRAS.312..166L>,
and references therein).
"""
frame_specific_representation_info = {
r.SphericalRepresentation: [
RepresentationMapping("lon", "sgl"),
RepresentationMapping("lat", "sgb"),
],
r.CartesianRepresentation: [
RepresentationMapping("x", "sgx"),
RepresentationMapping("y", "sgy"),
RepresentationMapping("z", "sgz"),
],
r.CartesianDifferential: [
RepresentationMapping("d_x", "v_x", u.km / u.s),
RepresentationMapping("d_y", "v_y", u.km / u.s),
RepresentationMapping("d_z", "v_z", u.km / u.s),
],
}
default_representation = r.SphericalRepresentation
default_differential = r.SphericalCosLatDifferential
# North supergalactic pole in Galactic coordinates.
# Needed for transformations to/from Galactic coordinates.
_nsgp_gal = Galactic(l=47.37 * u.degree, b=+6.32 * u.degree)