empyrean.Origin

class Origin(name)[source]

Bases: object

Origin (center body) for a coordinate state.

Use the class-level constants for named bodies:

Origin.EARTH
Origin.SUN
Origin.JUPITER_BARYCENTER

For numbered asteroids, use the factory:

Origin.asteroid(1)  # Ceres
Origin.asteroid(99942)  # Apophis

Origin instances are immutable, hashable, and serialize to a stable canonical string when stored in quivr columns ("Earth", "asteroid_1"). Compare with ==.

Mercury, Venus, Earth, and the Moon resolve to body centres. Mars through Pluto are exposed as *_BARYCENTER aliases.

Origins are accepted in all API arguments that take a body reference (body_filter, excluded_perturbers, the origin field on coordinate types, etc.). String forms ("Earth", "asteroid_1") are also accepted via Origin.from_string().

Methods

__init__(name)

asteroid(number)

Construct an origin for a numbered asteroid (IAU number).

from_string(s)

Parse a canonical name (case-sensitive class attributes, case-insensitive otherwise).

Attributes

EARTH

JUPITER_BARYCENTER

MARS_BARYCENTER

MERCURY

MOON

NEPTUNE_BARYCENTER

PLUTO_BARYCENTER

SATURN_BARYCENTER

SSB

SUN

URANUS_BARYCENTER

VENUS

name

Canonical body name.

Parameters:

name (str)

name: str

Canonical body name. "Earth" / "Sun" / "asteroid_1".

SSB: ClassVar[Origin] = Origin(name='SSB')
SUN: ClassVar[Origin] = Origin(name='Sun')
MERCURY: ClassVar[Origin] = Origin(name='Mercury')
VENUS: ClassVar[Origin] = Origin(name='Venus')
EARTH: ClassVar[Origin] = Origin(name='Earth')
MOON: ClassVar[Origin] = Origin(name='Moon')
MARS_BARYCENTER: ClassVar[Origin] = Origin(name='Mars Barycenter')
JUPITER_BARYCENTER: ClassVar[Origin] = Origin(name='Jupiter Barycenter')
SATURN_BARYCENTER: ClassVar[Origin] = Origin(name='Saturn Barycenter')
URANUS_BARYCENTER: ClassVar[Origin] = Origin(name='Uranus Barycenter')
NEPTUNE_BARYCENTER: ClassVar[Origin] = Origin(name='Neptune Barycenter')
PLUTO_BARYCENTER: ClassVar[Origin] = Origin(name='Pluto Barycenter')
classmethod asteroid(number)[source]

Construct an origin for a numbered asteroid (IAU number).

Examples:

Origin.asteroid(1)  # Ceres
Origin.asteroid(4)  # Vesta
Origin.asteroid(99942)  # Apophis
Return type:

Origin

Parameters:

number (int)

classmethod from_string(s)[source]

Parse a canonical name (case-sensitive class attributes, case-insensitive otherwise).

Inverse of str(origin). Useful for re-hydrating origins from text columns or human-typed config.

Return type:

Origin

Parameters:

s (str)