/// <summary>
        /// 计算完成
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        protected virtual void Solver_Completed(object sender, EventArgs e)
        {
            var solver = sender as TStreamer;

            //历元结果分析,第一时间进行
            if (Option.IsEnableEpochParamAnalysis && Option.PositionType != PositionType.动态定位)
            {
                var key = solver.TableTextManager.Keys.Find(m => m.Contains(Setting.EpochParamFileExtension));
                if (key != null)
                {
                    var table = solver.TableTextManager[key];

                    var info = EpochParamAnalyzer.GetParamAccuracyInfos(table);
                    if (info != null)
                    {
                        solver.CurrentGnssResult.ParamAccuracyInfos = info;
                        log.Info(info.ToReadableText());
                    }
                }
            }

            // 产生了一个结果。
            OnProcessed(solver);


            PostionReportBuilder.Add(solver.CurrentGnssResult);
            PostionReportBuilder.Context = solver.Context;

            if (TotalRunnerCount > 1)
            {
                PerformProcessStep();
            }
            //结果输出
            solver.WriteResultsToFileAndClearBuffer();
        }
예제 #2
0
        /// <summary>
        /// 完毕
        /// </summary>
        public override void Complete()
        {
            base.Complete();

            Sp3Writer.Flush();

            var keys = this.TableTextManager.Keys.FindAll(m => m.Contains(Setting.EpochParamFileExtension));

            if (keys.Count == 0)
            {
                return;
            }
            foreach (var item in keys)
            {
                var table = TableTextManager.Get(item);
                EpochParamAnalyzer.Add(table);
            }
            EpochParamAnalyzer.GetTotalFileParamConvergenceTable();
        }