protected override void Run(string[] inputPathes) { ObjectTableStorage satEleTable = GetSatEleTable(inputPathes); if (satEleTable == null) { return; } this.BindTableC(satEleTable); log.Info("成功读取卫星高度角文件"); AbstractPeriodBaseSatSelector BasePrnSelector = null; PeriodPrnManager PeriodPrnManager = null; string detailTableName = "BasePrnChainDetails"; if (!IsFlexibleSegmentaion) { var type = enumRadioControl1.GetCurrent <BaseSatSelectionType>(); detailTableName += "Of" + type + "_" + TimePeriodCount + "Count"; BasePrnSelector = new PeriodFixedSatSelector(satEleTable, namedFloatControl1AngleCut.Value, TimePeriodCount, IsExpandPeriodOfSamePrn, type); } else { detailTableName += "OfFlexible_" + namedFloatControl1AngleCut.Value + "deg"; BasePrnSelector = new FlexiblePeriodSatSelector(satEleTable, namedFloatControl1AngleCut.Value); } PeriodPrnManager = BasePrnSelector.Select(); var outPath = Path.Combine(this.OutputDirectory, Setting.GnsserConfig.BasePrnFileName); PeriodPrnManager.WriteToFile(outPath); //基准星接力 var mgr = new ObjectTableManager(this.OutputDirectory); var basePrnChain = mgr.AddTable(detailTableName); foreach (var item in PeriodPrnManager) { var vector = satEleTable.GetColObjectDicByObjIndex(item.Value.ToString(), item.TimePeriod.Start, item.TimePeriod.End); if (vector != null) { foreach (var prnVal in vector) { basePrnChain.NewRow(); basePrnChain.AddItem("Epoch", prnVal.Key); basePrnChain.AddItem(item.Value.ToString(), prnVal.Value); basePrnChain.EndRow(); } } } this.BindTableA(basePrnChain); this.BindTableB(BasePrnSelector.DetailResultTable); mgr.Add(BasePrnSelector.DetailResultTable); mgr.WriteAllToFileAndCloseStream(); var text = mgr.First.GetTextTable();// PeriodPrnManager.GetText(); ShowInfo(text); }
private void button_exortTable_Click(object sender, EventArgs e) { if (objectTableControl1.TableObjectStorage == null) { return; } var TableManager = new ObjectTableManager(); TableManager.Add(objectTableControl1.TableObjectStorage); TableManager.WriteAllToFileAndCloseStream(); Geo.Utils.FormUtil.ShowIfOpenDirMessageBox(TableManager.OutputDirectory); }
private void button_outputOneTable_Click(object sender, EventArgs e) { CheckAndReadObsFile(); var table = new ObsFileToTableBuilder().Build(this.ObsFile); table.Name = System.IO.Path.GetFileNameWithoutExtension(this.ObsPath); ObjectTableManager mgr = new ObjectTableManager(Setting.GnsserConfig.TempDirectory); mgr.Add(table); mgr.WriteAllToFileAndClearBuffer(); Geo.Utils.FormUtil.ShowOkAndOpenDirectory(mgr.OutputDirectory); }
/// <summary> /// 基线表 /// </summary> /// <returns></returns> public ObjectTableStorage GetLineTable() { int netIndex = 0; ObjectTableManager tableObjects = new ObjectTableManager(); foreach (var item in this) { var table = item.GetLineTable(); table.Name += netIndex + "_net"; tableObjects.Add(table); netIndex++; } return(tableObjects.Combine()); }
protected override void Run(string inputPath) { base.Run(inputPath); var obsFileReader = new RinexObsFileReader(inputPath); var ObsFile = obsFileReader.ReadObsFile(); var table = new ObsFileToTableBuilder().Build(ObsFile); ObjectTableManager mgr = new ObjectTableManager(this.OutputDirectory); mgr.Add(table); mgr.WriteAllToFileAndClearBuffer(); // Geo.Utils.FormUtil.ShowOkAndOpenDirectory(mgr.OutputDirectory); }
/// <summary> /// 重复基线较差表格 /// </summary> /// <param name="qualities"></param> /// <param name="GnssReveiverNominalAccuracy"></param> /// <param name="isBadOnly">是否只显示超限的</param> /// <returns></returns> public ObjectTableStorage BuildRepeatBaselingErrorTable(Dictionary <BufferedTimePeriod, RepeatErrorQualityManager> qualities, GnssReveiverNominalAccuracy GnssReveiverNominalAccuracy, bool isBadOnly = false) { var asynchClosureError = new ObjectTableManager(); int netIndex = 1; foreach (var pkv in qualities) { var period = pkv.Key; var totalNet = pkv.Value; var netName = (netIndex + "-0"); var data = qualities[period]; ObjectTableStorage lineTable = BaseLineNet.BuildRepeatBaseLineCheckResultTable(data, netName, isBadOnly);//用于显示,查看 asynchClosureError.Add(lineTable); netIndex++; } var asyncErrorTable = asynchClosureError.Combine("复测基线较差"); return(asyncErrorTable); }
/// <summary> /// 将三角形同步环质量结果生成表格返回,合并到一个表 /// </summary> /// <param name="allQualities"></param> /// <returns></returns> public ObjectTableStorage BuildSyncTrilateralErrorTable( Dictionary <BufferedTimePeriod, TriguilarNetQualitiyManager> allQualities) { var synchClosureError = new ObjectTableManager(); int netIndex = 0; foreach (var pkv in this.KeyValues) { var period = pkv.Key; var net = pkv.Value; var netName = (netIndex++).ToString(); var qualities = allQualities[period]; ObjectTableStorage lineTable = BaseLineNet.BuildSynchNetTrilateralCheckTResultable(netName, qualities, period); synchClosureError.Add(lineTable); } var syncErrorTable = synchClosureError.Combine("多时段同步环"); return(syncErrorTable); }