Sagittarius

class gala.coordinates.Sagittarius(*args, **kwargs)[source]

Bases: astropy.coordinates.BaseCoordinateFrame

A Heliocentric spherical coordinate system defined by the orbit of the Sagittarius dwarf galaxy, as described in Majewski et al. 2003 (see: http://adsabs.harvard.edu/abs/2003ApJ...599.1082M) and further explained at this website.

For more information about this class, see the Astropy documentation on Coordinate Frames.

Parameters:

representation : BaseRepresentation or None

A representation object or None to have no data (or use the other keywords)

Lambda : angle_like, optional, must be keyword

The longitude-like angle corresponding to Sagittarius’ orbit.

Beta : angle_like, optional, must be keyword

The latitude-like angle corresponding to Sagittarius’ orbit.

distance : Quantity, optional, must be keyword

The Distance for this object along the line-of-sight.

Attributes Summary

cartesian Shorthand for a cartesian representation of the coordinates in this object.
data The coordinate data for this object.
default_representation
frame_attributes
frame_specific_representation_info
has_data True if this frame has data, False otherwise.
isscalar
name
representation The representation of the data in this frame, as a class that is subclassed from BaseRepresentation.
representation_component_names
representation_component_units
representation_info A dictionary with the information of what attribute names for this frame apply to particular representations.
shape
spherical Shorthand for a spherical representation of the coordinates in this object.

Methods Summary

get_frame_attr_names()
is_equivalent_frame(other) Checks if this object is the same frame as the other object.
is_frame_attr_default(attrnm) Determine whether or not a frame attribute has its value because it’s the default value, or because this frame was created with that value explicitly requested.
is_transformable_to(new_frame) Determines if this coordinate frame can be transformed to another given frame.
realize_frame(representation) Generates a new frame with new data from another frame (which may or may not have data).
represent_as(new_representation[, ...]) Generate and return a new representation of this frame’s data as a Representation object.
separation(other) Computes on-sky separation between this coordinate and another.
separation_3d(other) Computes three dimensional separation between this coordinate and another.
transform_to(new_frame) Transform this object’s coordinate data to a new frame.

Attributes Documentation

cartesian

Shorthand for a cartesian representation of the coordinates in this object.

data

The coordinate data for this object. If this frame has no data, an ValueError will be raised. Use has_data to check if data is present on this frame object.

default_representation
frame_attributes = OrderedDict()
frame_specific_representation_info
has_data

True if this frame has data, False otherwise.

isscalar
name = 'sagittarius'
representation

The representation of the data in this frame, as a class that is subclassed from BaseRepresentation. Can also be set using the string name of the representation.

representation_component_names
representation_component_units
representation_info

A dictionary with the information of what attribute names for this frame apply to particular representations.

shape
spherical

Shorthand for a spherical representation of the coordinates in this object.

Methods Documentation

get_frame_attr_names()
is_equivalent_frame(other)

Checks if this object is the same frame as the other object.

To be the same frame, two objects must be the same frame class and have the same frame attributes. Note that it does not matter what, if any, data either object has.

Parameters:

other : BaseCoordinateFrame

the other frame to check

Returns:

isequiv : bool

True if the frames are the same, False if not.

Raises:

TypeError

If other isn’t a BaseCoordinateFrame or subclass.

is_frame_attr_default(attrnm)

Determine whether or not a frame attribute has its value because it’s the default value, or because this frame was created with that value explicitly requested.

Parameters:

attrnm : str

The name of the attribute to check.

Returns:

isdefault : bool

True if the attribute attrnm has its value by default, False if it was specified at creation of this frame.

is_transformable_to(new_frame)

Determines if this coordinate frame can be transformed to another given frame.

Parameters:

new_frame : class or frame object

The proposed frame to transform into.

Returns:

transformable : bool or str

True if this can be transformed to new_frame, False if not, or the string ‘same’ if new_frame is the same system as this object but no transformation is defined.

Notes

A return value of ‘same’ means the transformation will work, but it will just give back a copy of this object. The intended usage is:

if coord.is_transformable_to(some_unknown_frame):
    coord2 = coord.transform_to(some_unknown_frame)

This will work even if some_unknown_frame turns out to be the same frame class as coord. This is intended for cases where the frame is the same regardless of the frame attributes (e.g. ICRS), but be aware that it might also indicate that someone forgot to define the transformation between two objects of the same frame class but with different attributes.

realize_frame(representation)

Generates a new frame with new data from another frame (which may or may not have data).

Parameters:

representation : BaseRepresentation

The representation to use as the data for the new frame.

Returns:

frameobj : same as this frame

A new object with the same frame attributes as this one, but with the representation as the data.

represent_as(new_representation, in_frame_units=False)

Generate and return a new representation of this frame’s data as a Representation object.

Note: In order to make an in-place change of the representation of a Frame or SkyCoord object, set the representation attribute of that object to the desired new representation.

Parameters:

new_representation : subclass of BaseRepresentation or string

The type of representation to generate. May be a class (not an instance), or the string name of the representation class.

in_frame_units : bool

Force the representation units to match the specified units particular to this frame

Returns:

newrep : BaseRepresentation-derived object

A new representation object of this frame’s data.

Raises:

AttributeError

If this object had no data

Examples

>>> from astropy import units as u
>>> from astropy.coordinates import SkyCoord, CartesianRepresentation
>>> coord = SkyCoord(0*u.deg, 0*u.deg)
>>> coord.represent_as(CartesianRepresentation)
<CartesianRepresentation (x, y, z) [dimensionless]
        (1.0, 0.0, 0.0)>
>>> coord.representation = CartesianRepresentation
>>> coord
<SkyCoord (ICRS): (x, y, z) [dimensionless]
    (1.0, 0.0, 0.0)>
separation(other)

Computes on-sky separation between this coordinate and another.

Parameters:

other : BaseCoordinateFrame

The coordinate to get the separation to.

Returns:

sep : 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 [R4].

[R4]http://en.wikipedia.org/wiki/Great-circle_distance
separation_3d(other)

Computes three dimensional separation between this coordinate and another.

Parameters:

other : BaseCoordinateFrame

The coordinate system to get the distance to.

Returns:

sep : Distance

The real-space distance between these two coordinates.

Raises:

ValueError

If this or the other coordinate do not have distances.

transform_to(new_frame)

Transform this object’s coordinate data to a new frame.

Parameters:

new_frame : class or frame object or SkyCoord object

The frame to transform this coordinate frame into.

Returns:

transframe

A new object with the coordinate data represented in the newframe system.

Raises:

ValueError

If there is no possible transformation route.