/// <summary> /// 获取文件中存储的原始星历信息。 /// </summary> /// <param name="prn"></param> /// <param name="from"></param> /// <param name="to"></param> /// <returns></returns> public override List <Gnsser.Ephemeris> Gets(SatelliteNumber prn, Time from, Time to) { var data = Sp3File.Get(prn); List <Gnsser.Ephemeris> prnEphes = data.Values; if (prnEphes == null) { return(new List <Gnsser.Ephemeris>()); } return(prnEphes.FindAll(m => m.Time >= from && m.Time <= to)); }
/// <summary> /// 初始化插值器 /// </summary> private void Init() { var interval = Sp3File.Interval == 0 ? 1 : Sp3File.Interval; // Sp3Reader.Header.EpochInterval; WarnedPrns = new List <SatelliteNumber>(); EphemerisManager = new EphemerisManager(interval, MaxBreakingCount); Sp3File.TimePeriod.SetSameBuffer(interval * 10); foreach (var prn in Sp3File.Prns) { var storage = EphemerisManager.GetOrCreate(prn); var all = Sp3File.Get(prn); if (all == null || all.Count == 0) { continue; } storage.Add(all.Values); } }