Beispiel #1
0
        /// <summary>
        /// 运行
        /// </summary>
        public void Run()
        {
            TotalObsCount = 0;
            SmoothedMwValue.FillIndexes();//保证可以检索。
            //首先进行分段
            Parallel.ForEach(PeriodPrnManager, item =>
                             // foreach (var key in PeriodPrnManager)
            {
                var span    = item.TimePeriod;
                var basePrn = item.Value;
                if (basePrn.SatelliteType == SatelliteType.U)
                {
                    log.Error("卫星类未定!");
                    throw new Exception("卫星类未定!");
                }
                var sectionMw = SmoothedMwValue.GetSub(span.Start, span.End);

                string outputDirectory = this.OutputDirectory;
                if (IsOutputInEachDirectory)
                {
                    outputDirectory           = System.IO.Path.Combine(this.OutputDirectory, span.ToPathString(false, true, false) + "_" + basePrn);
                    sectionMw.OutputDirectory = outputDirectory;
                }
                var count      = ProcessOneBaseSat(sectionMw, basePrn, outputDirectory);
                TotalObsCount += count;
            });
            log.Info(" 总共处理的观测数值数 " + TotalObsCount);
        }
Beispiel #2
0
        /// <summary>
        /// 运行
        /// </summary>
        public override void Run()
        {
            //----------基于测站--------
            //基于测站的MW星间单差,消除了测站硬件延迟
            log.Debug("基于测站的MW星间单差");
            this.SiteDifferMwTables = SmoothedMwValue.GetNewByMinusCol(BasePrn + "", "", true);

            //----------基于卫星---------
            //基于卫星的MW星间单差,各个测站针对同一卫星差分值显示在同一个表格中
            this.FloatValueTables = SiteDifferMwTables.GetSameColAssembledTableManager("FloatOf" + ProductTypeMarker);

            //生成结果,包括一些数据过滤工作
            base.BuildProducts();
        }
Beispiel #3
0
        /// <summary>
        /// 运行
        /// </summary>
        public void Run()
        {
            TotalObsCountOfWL = 0;
            TotalObsCountOfNL = 0;
            SmoothedMwValue.FillIndexes();//保证可以检索。
            //首先进行分段
            Parallel.ForEach(PeriodPrnManager, item =>
                             //foreach (var key in PeriodPrnManager)
            {
                var span    = item.TimePeriod;
                var basePrn = item.Value;
                if (basePrn.SatelliteType == SatelliteType.U)
                {
                    log.Error("卫星类未定!");
                    throw new Exception("卫星类未定!");
                }
                var sectionMw = SmoothedMwValue.GetSub(span.StartDateTime, span.EndDateTime);

                ProcessOneBaseSat(sectionMw, basePrn);
            });
            log.Info(" 总共处理的观测数值数 " + TotalObsCountOfWL);
        }