/// <summary> /// 是否可用 /// </summary> /// <param name="prn"></param> /// <param name="time"></param> /// <returns></returns> public bool IsAvailable(SatelliteNumber prn, Time time) { string prnStr = prn.ToString(); ClockInterpolator clockInterpolator = GetClockInterpolator(prnStr); if (!clockInterpolator.IsAvailable(time)) { return(false); } return(true); }
/// <summary> /// 根据接收机时间和位置,获取计算卫星发射时刻的位置。不计算相对地面的延迟。 /// </summary> /// <param name="nameOrPrn">卫星编号</param> /// <param name="gpsTime">时间</param> /// <returns>如果返回 null,在表示计算失败</returns> public override AtomicClock Get(string nameOrPrn, Time gpsTime) { ClockInterpolator clockInterpolator = GetClockInterpolator(nameOrPrn); if (clockInterpolator == null || !clockInterpolator.IsAvailable(gpsTime)) { return(null); } #region czs AtomicClock fittedClock = clockInterpolator.GetAtomicClock(gpsTime); #endregion return(fittedClock); }