Ejemplo n.º 1
0
        private double CalculateSiderealTime()
        {
            double siderealTime = double.NaN;

            // Now using NOVAS 3.1
            using (var novas = new ASCOM.Astrometry.NOVAS.NOVAS31())
            {
                var jd = utilities.DateUTCToJulian(DateTime.UtcNow);
                novas.SiderealTime(jd, 0, novas.DeltaT(jd),
                                   ASCOM.Astrometry.GstType.GreenwichApparentSiderealTime,
                                   ASCOM.Astrometry.Method.EquinoxBased,
                                   ASCOM.Astrometry.Accuracy.Reduced, ref siderealTime);
            }
            // Allow for the longitude
            siderealTime += SiteLongitude / 360.0 * 24.0;

            // Reduce to the range 0 to 24 hours
            siderealTime = astroUtilities.ConditionRA(siderealTime);
            return(siderealTime);
        }