예제 #1
0
 /// <summary>
 /// 钟差估计构造函数
 /// </summary>
 /// <param name="epochInfo">历元信息</param>
 /// <param name="Adjustment">平差信息</param>
 /// <param name="ClockEstimationer">钟差估计器</param>
 /// <param name="previousResult">上一历元结果</param>
 public DifferClockEstimationResult(
     MultiSitePeriodInfo epochInfo,
     AdjustResultMatrix Adjustment,
     GnssParamNameBuilder DifferenceClockEstimationer,
     DifferClockEstimationResult previousResult = null)
     : base(epochInfo, Adjustment, DifferenceClockEstimationer)
 {
 }
예제 #2
0
        /// <summary>
        /// 双差网解定位构造函数
        /// </summary>
        /// <param name="epochInfo">历元信息</param>
        /// <param name="Adjustment">平差信息</param>
        /// <param name="ClockEstimationer">钟差估计器</param>
        /// <param name="previousResult">上一历元结果</param>
        public MultiSiteGnssExtentResult(
            MultiSiteEpochInfo epochInfo,
            AdjustResultMatrix Adjustment,
            GnssParamNameBuilder ClockEstimationer,
            MultiSiteGnssExtentResult previousResult = null)
            : base(epochInfo, Adjustment, ClockEstimationer)
        {
            Vector vector = Adjustment.Corrected.CorrectedValue;

            //update
            foreach (var epoch in epochInfo)
            {
                var key = NameBuilder.GetSiteWetTropZpdName(epoch);
                epoch.NumeralCorrections[Gnsser.ParamNames.WetTropZpd] = vector[Adjustment.GetIndexOf(key)];
            }
        }
예제 #3
0
        /// <summary>
        ///
        /// </summary>
        /// <param name="epochInfos"></param>
        /// <param name="Adjustment"></param>
        /// <param name="nameBuilder"></param>
        public AbstractClockEstimationResult(
            MultiSiteEpochInfo epochInfos,
            AdjustResultMatrix Adjustment,
            GnssParamNameBuilder nameBuilder) : base(epochInfos, Adjustment, nameBuilder)
        {
            Vector corrected = Adjustment.Corrected.CorrectedValue;


            //update

            this.DeltaTimeDistances = new Dictionary <string, double>();
            foreach (var epoch in epochInfos)
            {
                var key = NameBuilder.GetReceiverClockParamName(epoch);
                var val = corrected[Adjustment.GetIndexOf(key)];
                epoch.NumeralCorrections[Gnsser.ParamNames.cDt] = val;
                this.DeltaTimeDistances.Add(epoch.Name, val);
                epoch.Time.Correction = val / GnssConst.LIGHT_SPEED;
            }
        }
예제 #4
0
        /// <summary>
        /// 钟差估计构造函数
        /// </summary>
        /// <param name="epochInfo">历元信息</param>
        /// <param name="Adjustment">平差信息</param>
        /// <param name="ClockEstimationer">钟差估计器</param>
        /// <param name="previousResult">上一历元结果</param>
        public ClockEstimationResult(
            MultiSiteEpochInfo epochInfo,
            AdjustResultMatrix Adjustment,
            GnssParamNameBuilder ClockEstimationer,
            ClockEstimationResult previousResult = null)
            : base(epochInfo, Adjustment, ClockEstimationer)
        {
            Vector vector = Adjustment.Corrected.CorrectedValue;


            //update
            foreach (var epoch in epochInfo)
            {
                var key = NameBuilder.GetSiteWetTropZpdName(epoch);
                epoch.NumeralCorrections[Gnsser.ParamNames.WetTropZpd] = vector[Adjustment.GetIndexOf(key)];
            }

            this.AmbiguityDic = new Dictionary <string, double>();
            int length = ParamCount;

            for (int i = 2 * MaterialObj.Count + EnabledPrns.Count; i < length; i++)
            {
                double val = vector[i];
                AmbiguityDic.Add(ParamNames[i], val);
            }
            //this.PrnWithSlips = new List<SatelliteNumber>();
            this.PrnWithSlipss = new List <string>();
            foreach (var item in epochInfo)
            {
                foreach (var item1 in item)
                {
                    if (item1.IsUnstable)
                    {
                        //PrnWithSlips.Add(item1.Prn);
                        PrnWithSlipss.Add(item.SiteName + "-" + item1.Prn);
                    }
                }
            }
        }