Ejemplo n.º 1
0
        /// <summary>
        /// 相对论改正钟差
        /// </summary>
        /// <param name="eph"></param>
        /// <returns></returns>
        public override bool Revise(ref IEphemeris eph)
        {
            //采用精密钟差服务改正
            if (ClockDataSource != null)
            {
                if (Failes.Contains(eph.Prn))
                {
                    return(true);
                }

                var clock = ClockDataSource.Get(eph.Prn, eph.Time);
                if (clock != null)
                {
                    if (clock.ClockBias != 0)
                    {
                        eph.ClockBias = clock.ClockBias;
                    }
                    //if (clock.ClockDrift != 0) { eph.ClockDrift = clock.ClockDrift; } //如果钟漂不为 0 ,则赋值。
                }
                else//获取失败
                {
                    int i = 0;
                    //下次避免再次计算

                    Failes.Add(eph.Prn);
                }
            }
            else
            {
                log.Debug("没有钟差服务!钟差不会单独改正" + eph);
            }

            return(true);
        }