Predefined Objects
The framework provides predefined constants for solar system bodies and reference frames to avoid recreating standard NAIF object mappings in application code.
SolarSystemObjects.PlanetsAndMoons
Planets
| Constant |
Description |
MERCURY |
Mercury (NAIF ID) |
VENUS |
Venus |
EARTH |
Earth (NAIF ID) |
EARTH_BODY |
Earth as CelestialBody instance |
MARS |
Mars |
JUPITER |
Jupiter |
SATURN |
Saturn |
URANUS |
Uranus |
NEPTUNE |
Neptune |
Earth System
| Constant |
Description |
MOON |
Moon (NAIF ID) |
MOON_BODY |
Moon as CelestialBody instance |
Mars System
| Constant |
Description |
PHOBOS |
Phobos |
DEIMOS |
Deimos |
Outer Planet Moons
The module also provides NAIF IDs for the complete catalog of known moons:
- Jupiter:
IO, EUROPA, GANYMEDE, CALLISTO, AMALTHEA, HIMALIA, and 50+ additional moons
- Saturn:
MIMAS, ENCELADUS, TETHYS, DIONE, RHEA, TITAN, IAPETUS, PHOEBE, HYPERION, and 50+ additional moons
- Uranus:
ARIEL, UMBRIEL, TITANIA, OBERON, MIRANDA, and 20+ additional moons
- Neptune:
TRITON, NEREID, and additional moons
All constants are NaifObject instances. Create a CelestialBody from any of them:
var titan = new CelestialBody(PlanetsAndMoons.TITAN);
SolarSystemObjects.Barycenters
| Constant |
Description |
SOLAR_SYSTEM_BARYCENTER |
Solar system barycenter (NAIF 0) |
MERCURY_BARYCENTER |
Mercury system barycenter |
VENUS_BARYCENTER |
Venus system barycenter |
EARTH_BARYCENTER |
Earth-Moon barycenter |
MARS_BARYCENTER |
Mars system barycenter |
JUPITER_BARYCENTER |
Jupiter system barycenter |
SATURN_BARYCENTER |
Saturn system barycenter |
URANUS_BARYCENTER |
Uranus system barycenter |
NEPTUNE_BARYCENTER |
Neptune system barycenter |
PLUTO_BARYCENTER |
Pluto system barycenter |
SolarSystemObjects.Stars
| Constant |
Description |
Sun |
Sun (NAIF 10) |
SUN_BODY |
Sun as CelestialBody / Star instance |
Predefined Frames
Common Frames (Frame)
| Constant |
Description |
Frame.ICRF |
International Celestial Reference Frame |
Frame.TEME |
True Equator Mean Equinox (SGP4 output frame) |
Frame.ECLIPTIC_J2000 |
Ecliptic plane at J2000 epoch |
Frame.ECLIPTIC_B1950 |
Ecliptic plane at B1950 epoch |
Frame.GALACTIC_SYSTEM2 |
Galactic coordinate system II |
Frame.B1950 |
Mean equator and equinox of B1950 |
Frame.FK4 |
Fundamental Katalog 4 frame |
Earth Orientation Frames (Frames) (Pro)
Pro
These frames are available from IO.Astrodynamics.Frames.Frames.
| Constant |
Description |
Frames.GCRF |
Geocentric realization of ICRS with IAU frame bias |
Frames.CIRS |
Celestial intermediate reference system (CIO-based precession-nutation) |
Frames.TIRS |
Terrestrial intermediate reference system (adds Earth rotation angle) |
Example
var earth = PlanetsAndMoons.EARTH_BODY;
var moon = new CelestialBody(PlanetsAndMoons.MOON);
var state = moon.GetEphemeris(epoch, earth, Frame.ICRF, Aberration.None)
.ToStateVector();
See Also