/// <summary> /// 数据刚刚进入,尚未加入缓存时执行。 /// </summary> /// <param name="material"></param> public override void RawRevise(TMaterial material) { if (IsRawReviseBreaked) { return; } var m = material; if (m.EnabledSatCount == 0) { log.Error(m + ", 可用卫星为 0 ,本历元无法计算 " + m.ReceiverTime); return; } RawReviser.Buffers = this.BufferedStream.MaterialBuffers;//初始矫正,缓存为0,不需要 2016.09.26. //czs,2018.05.20, 这是需要的,如缓存多项式拟合伪距 if (!RawReviser.Revise(ref m)) { IsRawReviseBreaked = true; RawReviseBreakTime = m.ReceiverTime; //初始矫正错误是出现在缓存中,不中断,2019.05.15,czs, 洪庆 // this.IsCancel = true; log.Warn("初始校正发生错误,计算将在此取消!"); } //可以用于测试所有改正数加完。 //this.ProducingReviser.Revise(ref m); }
public override void Process(EpochInformation epochInfo) { RawReviser.Revise(ref epochInfo); if (Previous != null) { } if (this.CurrentIndex == 0) { var dataSource = this.BufferedStream.DataSource as RinexFileObsDataSource; var header = dataSource.Header; RinexObsFileWriter.WriteHeader(header); } var epochObs = this.EpochInfoToRinex.Build(epochInfo); RinexObsFileWriter.WriteEpochObservation(epochObs); }