public override void Run() { List <string> failedPathes = new List <string>(); this.RunningSolvers = new System.Collections.Generic.List <IntegralGnssFileSolver>(); this.PostionReportBuilder = null; log.Info("开始初始化,加载资源等。。。"); DateTime start = DateTime.Now; //多时段探测,待做 if (BaseLineNames == null) { log.Info("外部没有输入基线,即将选择基线..."); this.BaseLineNames = BaseLineSelector.GetBaselines(OFilePathes); } // public List<BaseLineName> GetBaselineNames(string[] obsFilePaths) StringBuilder sb = new StringBuilder(); sb.AppendLine("所选基线:"); foreach (var item in BaseLineNames) { sb.AppendLine(item.ToString()); } log.Info(sb.ToString()); if (BaseLineNames.Count > 1) { MultiRun(failedPathes, BaseLineNames); } else { SingleRun(failedPathes, BaseLineNames[0]); } this.Complete(); RunningSolvers.Clear(); var span = DateTime.Now - start; log.Info("计算完毕,耗时:" + span.ToString() + ", " + span.TotalSeconds / OFilePathes.Length + " 秒/个"); if (failedPathes.Count > 0) { StringBuilder ssb = new StringBuilder(); ssb.AppendLine("失败 " + failedPathes.Count + " 个文件(请在日志[Fatal]中查找原因):"); foreach (var item in failedPathes) { ssb.AppendLine(item); } log.Fatal(ssb.ToString()); } }
/// <summary> /// 构造函数 /// </summary> /// <param name="Option"></param> /// <param name="oFilePathes"></param> /// <param name="nFilePath">星历路径,如果不设置,则自动匹配</param> /// <param name="clkPath">路径,如果不设置,则自动匹配</param> public TwoSiteBackGroundRunner(GnssProcessOption Option, string[] oFilePathes, string nFilePath = null, string clkPath = null) : base(Option, oFilePathes, nFilePath, clkPath) { BaseLineSelector = new BaseLineSelector(Option.BaseLineSelectionType, Option.IndicatedBaseSiteName, Option.BaseLineFilePath); }