/// <summary> /// 传统构造函数。 /// </summary> /// <param name="pathesOfWLInt"></param> /// <param name="pppPathes"></param> /// <param name="IsOutputInEachDirectory"></param> /// <param name="OutputDirectory"></param> public MultiPeriodNarrowLaneOfBsdSolver(string[] pathesOfWLInt, string[] pppPathes, int removeCountOfEachSegment, bool IsOutputInEachDirectory, string OutputDirectory) { //读取宽巷的整数解 //分基准星计算 this.IsOutputInEachDirectory = IsOutputInEachDirectory; this.OutputDirectory = OutputDirectory; this.IntOfWLPathes = new Dictionary <SatelliteNumber, List <string> >(); SatelliteNumber basePrn = new SatelliteNumber(); foreach (var path in pathesOfWLInt) { basePrn = SatelliteNumber.Parse(Path.GetFileName(path).Substring(4, 3)); if (IntOfWLPathes.ContainsKey(basePrn)) { IntOfWLPathes[basePrn].Add(path); } else { IntOfWLPathes[basePrn] = new List <string>(); IntOfWLPathes[basePrn].Add(path); } } this.FloatAmbiguitiesOfPpp = PppTableResultFileReader.ReadPppAmbiResultInCycle(pppPathes); //修理浮点解 FloatAmbiguitiesOfPpp.RemoveStartRowOfEachSegment(removeCountOfEachSegment); MaxAllowedDiffer = 0.25; }
/// <summary> /// 新方法构造函数 /// </summary> /// <param name="bsdWidelaneInts">不同基准星对应的星间单差宽巷模糊度</param> /// <param name="pppPathes"></param> /// <param name="IsOutputInEachDirectory"></param> /// <param name="OutputDirectory"></param> public MultiPeriodNarrowLaneOfBsdSolver( BaseDictionary <SatelliteNumber, MultiSitePeriodValueStorage> bsdWidelaneInts, string[] pppPathes, int removeCountOfEachSegment, bool IsOutputInEachDirectory, string OutputDirectory) { //读取宽巷的整数解 //分基准星计算 this.IsOutputInEachDirectory = IsOutputInEachDirectory; this.OutputDirectory = OutputDirectory; this.BsdWidelaneInts = bsdWidelaneInts; this.FloatAmbiguitiesOfPpp = PppTableResultFileReader.ReadPppAmbiResultInCycle(pppPathes); //修理浮点解 FloatAmbiguitiesOfPpp.RemoveStartRowOfEachSegment(removeCountOfEachSegment); //this.FloatAmbiguitiesOfPpp.RemoveEmptyRows(); //删除空行,减少计算量 //this.FloatAmbiguitiesOfPpp.RemoveTableDataCountLessThan(MinEpoch, MinSiteCount); //清理卫星数量过少和测站数量过少的数据 MultiSitePppEpochValue = PppTableResultFileReader.ReadToEpochStorage(FloatAmbiguitiesOfPpp); MaxAllowedDiffer = 0.25; MaxRmsTimes = 2.5; }