SphericalRepresentation¶
- class astropy.coordinates.SphericalRepresentation(lon, lat=None, distance=None, differentials=None, copy=True)[source]¶
Bases:
BaseRepresentation
Representation of points in 3D spherical coordinates.
- Parameters:
- lon, lat
Quantity
[:ref: ‘angle’] 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
, orLatitude
.- distance
Quantity
[:ref: ‘length’] The distance to the point(s). If the distance is a length, it is passed to the
Distance
class, otherwise it is passed to theQuantity
class.- differentials
python: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.- copybool, optional
If
True
(default), arrays will be copied. IfFalse
, arrays will be references, though possibly broadcast to ensure matching shapes.
- lon, lat
Attributes Summary
The distance from the origin to the point(s).
The latitude of the point(s).
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.
Converts spherical polar coordinates to 3D rectangular cartesian coordinates.
transform
(matrix)Transform the spherical coordinates using a 3x3 matrix.
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.
- norm
- 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. Also note that orientation information at the origin is not preserved by conversions through Cartesian coordinates. See the docstring for
to_cartesian()
for an example.- Parameters:
- other_class
BaseRepresentation
subclass The type of representation to turn the coordinates into.
- differential_class
python:dict
ofBaseDifferential
, 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.
- other_class
- 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
python:dict
ofQuantity
The keys are the component names.
- scale_factors
- to_cartesian()[source]¶
Converts spherical polar coordinates to 3D rectangular cartesian coordinates.
- transform(matrix)[source]¶
Transform the spherical coordinates using a 3x3 matrix.
This returns a new representation and does not modify the original one. Any differentials attached to this representation will also be transformed.
- Parameters:
- matrix(3,3) numpy:array_like
A 3x3 matrix, such as a rotation matrix (or a stack of matrices).
- 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
python:dict
ofCartesianRepresentation
The keys are the component names.
- unit_vectors