# SphericalRepresentation¶

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

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() Vector norm. represent_as(other_class[, differential_class]) Convert coordinates to another representation. scale_factors([omit_coslat]) Scale factors for each component’s direction. to_cartesian() Converts spherical polar coordinates to 3D rectangular cartesian coordinates. unit_vectors() 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()[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(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(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()[source]

Converts spherical polar coordinates to 3D rectangular cartesian coordinates.

unit_vectors()[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 : The keys are the component names.