Ejemplo n.º 1
0
        /// <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;
        }
Ejemplo n.º 2
0
        /// <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;
        }