/// <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) { }
/// <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)]; } }
/// <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; } }
/// <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); } } } }