SphericalRepresentation

class astropy.coordinates.SphericalRepresentation(lon, lat, distance, differentials=None, copy=True)[source]

Bases: astropy.coordinates.BaseRepresentation

Representation of points in 3D spherical coordinates.

Parameters:
lon, lat : Quantity

The longitude and latitude of the point(s), in angular units. The latitude should be between -90 and 90 degrees, and the longitude will be wrapped to an angle between 0 and 360 degrees. These can also be instances of Angle, Longitude, or Latitude.

distance : Quantity

The distance to the point(s). If the distance is a length, it is passed to the Distance class, otherwise it is passed to the Quantity class.

differentials : dict, BaseDifferential, optional

Any differential classes that should be associated with this representation. The input must either be a single BaseDifferential instance (see _compatible_differentials for valid types), or a dictionary of of differential instances with keys set to a string representation of the SI unit with which the differential (derivative) is taken. For example, for a velocity differential on a positional representation, the key would be 's' for seconds, indicating that the derivative is a time derivative.

copy : bool, optional

If True (default), arrays will be copied rather than referenced.

Attributes Summary

attr_classes
distance The distance from the origin to the point(s).
lat The latitude of the point(s).
lon The longitude of the point(s).

Methods Summary

from_cartesian(cart) Converts 3D rectangular cartesian coordinates to spherical polar coordinates.
norm(self) Vector norm.
represent_as(self, other_class[, …]) Convert coordinates to another representation.
scale_factors(self[, omit_coslat]) Scale factors for each component’s direction.
to_cartesian(self) Converts spherical polar coordinates to 3D rectangular cartesian coordinates.
unit_vectors(self) Cartesian unit vectors in the direction of each component.

Attributes Documentation

attr_classes = {'distance': <class 'astropy.units.quantity.Quantity'>, 'lat': <class 'astropy.coordinates.angles.Latitude'>, 'lon': <class 'astropy.coordinates.angles.Longitude'>}
distance

The distance from the origin to the point(s).

lat

The latitude of the point(s).

lon

The longitude of the point(s).

Methods Documentation

classmethod from_cartesian(cart)[source]

Converts 3D rectangular cartesian coordinates to spherical polar coordinates.

norm(self)[source]

Vector norm.

The norm is the standard Frobenius norm, i.e., the square root of the sum of the squares of all components with non-angular units. For spherical coordinates, this is just the absolute value of the distance.

Returns:
norm : astropy.units.Quantity

Vector norm, with the same shape as the representation.

represent_as(self, other_class, differential_class=None)[source]

Convert coordinates to another representation.

If the instance is of the requested class, it is returned unmodified. By default, conversion is done via cartesian coordinates.

Parameters:
other_class : BaseRepresentation subclass

The type of representation to turn the coordinates into.

differential_class : dict of BaseDifferential, optional

Classes in which the differentials should be represented. Can be a single class if only a single differential is attached, otherwise it should be a dict keyed by the same keys as the differentials.

scale_factors(self, omit_coslat=False)[source]

Scale factors for each component’s direction.

Given unit vectors \(\hat{e}_c\) and scale factors \(f_c\), a change in one component of \(\delta c\) corresponds to a change in representation of \(\delta c \times f_c \times \hat{e}_c\).

Returns:
scale_factors : dict of Quantity

The keys are the component names.

to_cartesian(self)[source]

Converts spherical polar coordinates to 3D rectangular cartesian coordinates.

unit_vectors(self)[source]

Cartesian unit vectors in the direction of each component.

Given unit vectors \(\hat{e}_c\) and scale factors \(f_c\), a change in one component of \(\delta c\) corresponds to a change in representation of \(\delta c \times f_c \times \hat{e}_c\).

Returns:
unit_vectors : dict of CartesianRepresentation

The keys are the component names.