Example #1
0
        public override void Complete()
        {
            this.RawReviser.Complete();
            ProducingReviser.Complete();

            if (GnssResultBuilder != null)
            {
                GnssResultBuilder.Complete();
            }

            base.Complete();
        }
Example #2
0
        /// <summary>
        /// 检查并进行正反算
        /// </summary>
        protected void CheckAndRunReverseSove()
        {
            while (this.OrdinalAndReverseCount > 0)
            {
                // GnssResultBuilder.Clear();

                this.IsInReversing = true;

                this.OrdinalAndReverseCount--;
                this.IsReversedDataSource = !this.IsReversedDataSource;

                var info = "数据流 即将进行 ";
                info += (this.IsReversedDataSource ? "反" : "正") + "算, ";
                info += "剩余单独计算次数 " + this.OrdinalAndReverseCount;

                log.Info(info);

                //Init();
                // BuildAndSetDataStream();//按照指定顺序,重新初始化数据流
                SetDataStreamAndInit();

                //是否清空输出缓存
                if (Option.IsClearOutBufferWhenReversing)
                {
                    ClearResultBuffer();

                    this.TableTextManager.Clear();
                }

                Running();

                var last1 = this.CurrentGnssResult;
                if (last1 != null && last1 is SimpleGnssResult)
                {
                    SimpleGnssResult last = last1 as SimpleGnssResult;
                    log.Info(GnssResultBuilder.BuildFinalInfo(last));

                    log.Fatal(last.Name + "\t" + last.ReceiverTime + "\t" + "ParamNames\t" + String.Format(new EnumerableFormatProvider(), "{0:\t}", last.ParamNames));
                    log.Fatal(last.Name + "\t" + last.ReceiverTime + "\t" + "RmsOfEstimated\t" + FormatVector(last.ResultMatrix.Estimated.GetRmsVector()));
                    log.Fatal(last.Name + "\t" + last.ReceiverTime + "\t" + "Estimated\t" + FormatVector(last.ResultMatrix.Estimated));
                }
            }

            this.IsInReversing = false;
        }
Example #3
0
        /// <summary>
        /// 处理后执行
        /// </summary>
        public override void PostRun()
        {
            base.PostRun();
            //是否正反算
            if (this.OrdinalAndReverseCount <= 0)
            {
                base.PostRun();
                if (Option.IsOutputAdjustMatrix)
                {
                    GnssResultBuilder.WriteAdjustMatrixText();
                }
                //WriteResultsToFileAndClearBuffer();
            }
            else
            {
                CheckAndRunReverseSove();
            }
            if (Solver != null)
            {
                Solver.Complete();
            }

            CheckOrOutputCycleSlipFile();
        }
Example #4
0
 /// <summary>
 /// 输出结果
 /// </summary>
 /// <param name="epoch"></param>
 /// <param name="result"></param>
 private void OutputEpochResult(ISiteSatObsInfo epoch, TResult result)
 {
     GnssResultBuilder.AddEpochResult(epoch, result as SimpleGnssResult);
 }
 public override void Complete()
 {
     base.Complete();
     GnssResultBuilder.Complete();
 }