/// <summary> /// 计算的等效模糊度距离。 /// 如果有则返回,若无返回0。 /// </summary> /// <param name="satelliteType"></param> /// <returns></returns> public double GetAmbiguityDistace(SatelliteNumber prn) { if (AmbiguityDic.ContainsKey(prn)) { return(AmbiguityDic[prn]); } else { return(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); } }
/// <summary> /// 计算的等效模糊度距离。 /// 如果有则返回,若无返回0。 /// </summary> /// <param name="prn"></param> /// <returns></returns> public double GetAmbiguityDistace(SatNumberAndFrequence PrnFre) { if (AmbiguityDic.ContainsKey(PrnFre)) { return(AmbiguityDic[PrnFre]); } else { return(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); } }
/// <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); }