コード例 #1
0
 /// <summary>
 /// 计算的等效模糊度距离。
 /// 如果有则返回,若无返回0。
 /// </summary>
 /// <param name="satelliteType"></param>
 /// <returns></returns>
 public double GetAmbiguityDistace(SatelliteNumber prn)
 {
     if (AmbiguityDic.ContainsKey(prn))
     {
         return(AmbiguityDic[prn]);
     }
     else
     {
         return(0);
     }
 }
コード例 #2
0
        //public ClockEstimationResult(
        //    MultiSitePeriodInfo epochInfo,
        //    Adjustment Adjustment,
        //    GnssParamNameBuilder ClockEstimationer,
        //    ClockEstimationResult previousResult = null)
        //    : base(epochInfo, Adjustment, ClockEstimationer)
        //{
        //    Vector vector = Adjustment.Corrected;


        //    //update
        //    foreach (var epoch in epochInfo)
        //    {
        //        var keyPrev = NameBuilder.GetReceiverWetTropParamName(epoch);
        //        epoch.NumeralCorrections[Gnsser.ParamNames.Trop] = vector[Adjustment.GetIndexOf(keyPrev)];
        //    }

        //    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 key in epochInfo)
        //    {
        //        foreach (var item1 in key)
        //            if (item1.IsUnstable)
        //            {
        //                //PrnWithSlips.Add(item1.Prn);
        //                PrnWithSlipss.Add(key.SiteName + "-" + item1.Prn);
        //            }
        //    }
        //}
        /// <summary>
        ///
        /// </summary>
        /// <param name="SiteName"></param>
        /// <param name="prn"></param>
        /// <returns></returns>
        public double GetAmbiguityDistace(string SiteName, SatelliteNumber prn)
        {
            if (AmbiguityDic.ContainsKey(SiteName + "-" + prn))
            {
                return(AmbiguityDic[SiteName + "-" + prn]);
            }
            else
            {
                return(0);
            }
        }
コード例 #3
0
 /// <summary>
 /// 计算的等效模糊度距离。
 /// 如果有则返回,若无返回0。
 /// </summary>
 /// <param name="prn"></param>
 /// <returns></returns>
 public double GetAmbiguityDistace(SatNumberAndFrequence PrnFre)
 {
     if (AmbiguityDic.ContainsKey(PrnFre))
     {
         return(AmbiguityDic[PrnFre]);
     }
     else
     {
         return(0);
     }
 }
コード例 #4
0
        /// <summary>
        /// 获取指定测站和卫星的模糊度距离。
        /// </summary>
        /// <param name="siteName"></param>
        /// <param name="prn"></param>
        /// <returns></returns>
        public double GetAmbiguityDistance(string siteName, SatelliteNumber prn)
        {
            var key = GetSiteSatMaker(siteName, prn);

            if (AmbiguityDic.ContainsKey(key))
            {
                return(AmbiguityDic[key]);
            }
            else
            {
                return(0);
            }
        }
コード例 #5
0
        /// <summary>
        /// 计算的等效模糊度距离。
        /// 如果有则返回,若无返回0。
        /// </summary>
        /// <param name="prn"></param>
        /// <returns></returns>
        public double GetFloatAmbiguityCycle(SatelliteNumber prn)
        {
            var key = GetSiteSatMaker(SiteInfo.SiteName, prn);
            var val = 0.0;

            if (AmbiguityDic.ContainsKey(key))
            {
                val = AmbiguityDic[key];
            }
            var len = 1.0;

            if (this.Material.EnabledPrns.Contains(prn))
            {
                var waveLength = Frequence.GpsL1.WaveLength; //???
                                                             //    len = Frequence.GetIonoFreeFrequence(prn.SatelliteType).WaveLength;// this.MaterialObj[prn].Combinations.IonoFreePhaseRange.Frequence.WaveLength;
                int i = 0;
            }

            return(val / len);
        }