PhysicsSphericalRepresentation

class astropy.coordinates.PhysicsSphericalRepresentation(phi, theta, r, differentials=None, copy=True)[source]

Bases: astropy.coordinates.BaseRepresentation

Representation of points in 3D spherical coordinates (using the physics convention of using phi and theta for azimuth and inclination from the pole).

Parameters:
phi, theta : Quantity or str

The azimuth and inclination of the point(s), in angular units. The inclination should be between 0 and 180 degrees, and the azimuth will be wrapped to an angle between 0 and 360 degrees. These can also be instances of Angle. If copy is False, phi will be changed inplace if it is not between 0 and 360 degrees.

r : 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, PhysicsSphericalDifferential, optional

Any differential classes that should be associated with this representation. The input must either be a single PhysicsSphericalDifferential instance, 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
phi The azimuth of the point(s).
r The distance from the origin to the point(s).
theta The elevation 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) 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 = {'phi': <class 'astropy.coordinates.angles.Angle'>, 'r': <class 'astropy.units.quantity.Quantity'>, 'theta': <class 'astropy.coordinates.angles.Angle'>}
phi

The azimuth of the point(s).

r

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

theta

The elevation 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 radius.

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)[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.