IPlanet Interface
Interface to a Planet component that provides characteristics of a solar system body

Namespace: ASCOM.Astrometry.NOVASCOM
Assembly: ASCOM.Astrometry (in ASCOM.Astrometry.dll) Version: (


public interface IPlanet
Visual Basic
Public Interface IPlanet
Visual C++
public interface class IPlanet


Objects of class Planet hold the characteristics of a solar system body. Properties are type (major or minor planet), number (for major and numbered minor planets), name (for unnumbered minor planets and comets), the ephemeris object to be used for orbital calculations, an optional ephemeris object to use for barycenter calculations, and an optional value for delta-T.

The high-level NOVAS astrometric functions are implemented as methods of Planet: GetTopocentricPosition(), GetLocalPosition(), GetApparentPosition(), GetVirtualPosition(), and GetAstrometricPosition(). These methods operate on the properties of the Planet, and produce a PositionVector object. For example, to get the topocentric coordinates of a planet, create and initialize a planet, create initialize and attach an ephemeris object, then call Planet.GetTopocentricPosition(). The resulting PositionVector's right ascension and declination properties are the topocentric equatorial coordinates, at the same time, the (optionally refracted) alt-az coordinates are calculated, and are also contained within the returned PositionVector. Note that Alt/Az is available in PositionVectors returned from calling GetTopocentricPosition(). The accuracy of these calculations is typically dominated by the accuracy of the attached ephemeris generator.

Ephemeris Generator
By default, Kepler instances are attached for both Earth and Planet objects so it is not necessary to create and attach these in order to get Kepler accuracy from this component

The ephemeris generator object used with NOVAS-COM must support a single method GetPositionAndVelocity(tjd). This method must take a terrestrial Julian date (like the NOVAS-COM methods) as its single parameter, and return an array of Double containing the rectangular (x/y/z) heliocentric J2000 equatorial coordinates of position (AU) and velocity (KM/sec.). In addition, it must support three read/write properties BodyType, Name, and Number, which correspond to the Type, Name, and Number properties of Novas.Planet.

See Also