예제 #1
0
        /// <summary>
        /// 是否可用
        /// </summary>
        /// <param name="prn"></param>
        /// <param name="time"></param>
        /// <returns></returns>
        public bool IsAvailable(SatelliteNumber prn, Time time)
        {
            string prnStr = prn.ToString();
            SimpleClockInterpolator clockInterpolator = GetClockInterpolator(prnStr);

            if (clockInterpolator == null || !clockInterpolator.IsAvailable(time))
            {
                return(false);
            }
            return(true);
        }
예제 #2
0
        /// <summary>
        /// 根据接收机时间和位置,获取计算卫星发射时刻的位置。不计算相对地面的延迟。
        /// </summary>
        /// <param name="nameOrPrn">卫星编号</param>
        /// <param name="gpsTime">时间</param>
        /// <returns>如果返回 null,在表示计算失败</returns>
        public override SimpleClockBias Get(string nameOrPrn, Time gpsTime)
        {
            SimpleClockInterpolator clockInterpolator = GetClockInterpolator(nameOrPrn);

            if (clockInterpolator == null || !clockInterpolator.IsAvailable(gpsTime))
            {
                return(null);
            }

            #region czs
            SimpleClockBias fittedClock = clockInterpolator.GetAtomicClock(gpsTime);
            #endregion

            return(fittedClock);
        }