protected override void Run(string[] inputPathes) { var SmoothedMwValue = ObjectTableManager.Read(inputPathes); WideLaneOfBsdSolver solver = null; var espan = enabledTimePeriodControl1.GetEnabledValue(); if (espan.Enabled) { var span = espan.Value; SmoothedMwValue = SmoothedMwValue.GetSub(span.StartDateTime, span.EndDateTime); } solver = new WideLaneOfBsdSolver(SmoothedMwValue, BasePrn, namedIntControl_minSiteCount.Value, this.namedIntControl_minEpoch.Value, OutputDirectory); solver.Run(); this.BindTableA(solver.FractionValueTables.First); //输出 if (this.checkBox_outputInt.Checked) { solver.IntValueTables.WriteAllToFileAndClearBuffer(); } if (this.checkBox_outputFraction.Checked) { solver.FractionValueTables.WriteAllToFileAndClearBuffer(solver.FractionValueTables.First); } if (this.checkBox_outputSumery.Checked) { solver.SummeryTables.WriteAllToFileAndClearBuffer(); } }
/// <summary> /// 处理一个卫星 /// </summary> /// <param name="sectionMw"></param> /// <param name="basePrn"></param> /// <returns></returns> private void ProcessOneBaseSat(ObjectTableManager sectionMw, SatelliteNumber basePrn) { using (var wLSolver = new WideLaneOfBsdSolver(sectionMw, basePrn, MinSiteCount, MinEpoch, this.OutputDirectory)) { wLSolver.MaxAllowedDiffer = MaxAllowedDiffer; wLSolver.Run(); using (var nLSolver = new NarrowLaneOfBsdSolver(basePrn, FloatAmbiguitiesOfPpp, wLSolver.IntValueTables, this.OutputDirectory)) { nLSolver.MinEpoch = MinEpoch; nLSolver.MinSiteCount = MinSiteCount; nLSolver.MaxAllowedDiffer = MaxAllowedDiffer; nLSolver.Run(); TotalObsCountOfNL += nLSolver.TotalObsCount; if (this.IsOutputInt && nLSolver.IntValueTables != null) { nLSolver.IntValueTables.WriteAllToFileAndClearBuffer(); } if (this.IsOutputFraction && nLSolver.FractionValueTables != null) { nLSolver.FractionValueTables.WriteAllToFileAndClearBuffer(); } if (this.IsOutputSummary && nLSolver.SummeryTables != null) { nLSolver.SummeryTables.WriteAllToFileAndClearBuffer(); } } //输出 if (this.IsOutputInt && wLSolver.IntValueTables != null) { wLSolver.IntValueTables.WriteAllToFileAndClearBuffer(); } if (this.IsOutputFraction && wLSolver.FractionValueTables != null) { wLSolver.FractionValueTables.WriteAllToFileAndClearBuffer(); } if (this.IsOutputSummary && wLSolver.SummeryTables != null) { wLSolver.SummeryTables.WriteAllToFileAndClearBuffer(); } TotalObsCountOfWL += wLSolver.TotalObsCount; } }
/// <summary> /// 处理一个卫星 /// </summary> /// <param name="sectionMw"></param> /// <param name="basePrn"></param> /// <returns></returns> private int ProcessOneBaseSat(ObjectTableManager sectionMw, SatelliteNumber basePrn, string outputDirectory) { using (var solver = new WideLaneOfBsdSolver(sectionMw, basePrn, MinSatCount, MinEpoch, outputDirectory)) { solver.Run(); //输出 if (this.IsOutputInt && solver.IntValueTables != null) { solver.IntValueTables.WriteAllToFileAndClearBuffer(); } if (this.IsOutputFraction && solver.FractionValueTables != null) { solver.FractionValueTables.WriteAllToFileAndClearBuffer(); } if (this.IsOutputSummary && solver.SummeryTables != null) { solver.SummeryTables.WriteAllToFileAndClearBuffer(); } return(solver.TotalObsCount); } }