Assembly: ASCOM.Astrometry (in ASCOM.Astrometry.dll) Version: 220.127.116.11 (18.104.22.16819)
The number values for major planets are 1 to 9 for Mercury to Pluto, 10 for Sun and 11 for Moon. The last two obviously aren't planets, but this numbering is a NOVAS convention that enables us to retrieve useful information about these bodies.
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 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.
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.