public override void UpdateStateTransferModels()
 {
     if (this.ParamNames.Count == 0)
     {
         foreach (var prn in EnabledPrns)
         {
             //if (prn == this.CurrentBasePrn) continue;
             var paramName = ((GnssParamNameBuilder)ParamNameBuilder).GetParamName(prn);
             if (!ParamStateTransferModelManager.Contains(paramName))
             {
                 ParamStateTransferModelManager[paramName] = new Gnsser.Models.SingleSatPhaseAmbiguityModel(prn, Option.StdDevOfPhaseModel, Option.StdDevOfCycledPhaseModel);
             }
         }
     }
     else
     {
         foreach (var prn in EnabledPrns)
         {
             if (prn == this.CurrentBasePrn)
             {
                 continue;
             }
             foreach (var item in ParamNames)
             {
                 if (item.Contains(prn.ToString()))
                 {
                     if (!ParamStateTransferModelManager.Contains(item))
                     {
                         ParamStateTransferModelManager[item] = new Gnsser.Models.SingleSatPhaseAmbiguityModel(prn, Option.StdDevOfPhaseModel, Option.StdDevOfCycledPhaseModel);
                     }
                 }
             }
         }
     }
 }
Example #2
0
 /// <summary>
 /// 差分定位的矩阵生成器,构造函数。
 /// </summary>
 /// <param name="model">解算选项</param>
 public AbstractMultiSitePeriodMatrixBuilder(
     GnssProcessOption model) : base(model)
 {
     foreach (var item in Gnsser.ParamNames.Dxyz)
     {
         ParamStateTransferModelManager.Add(item, new StaticTransferModel(Option.StdDevOfStaticTransferModel));
     }
 }
 /// <summary>
 /// 构造函数
 /// </summary>
 /// <param name="option"></param>
 public EpochDouFreDoubleDifferMatrixBuilder(
     GnssProcessOption option, int baseParamCount)
     : base(option)
 {
     this.ParamStateTransferModelManager = new ParamStateTransferModelManager(option);
     foreach (var item in Gnsser.ParamNames.Dxyz)
     {
         ParamStateTransferModelManager.Add(item, new StaticTransferModel(Option.StdDevOfStaticTransferModel));
     }
     if (baseParamCount == 4)
     {
         ParamStateTransferModelManager.Add(Gnsser.ParamNames.WetTropZpd, new RandomWalkModel(Option.StdDevOfTropoRandomWalkModel));
     }
     if (baseParamCount == 5)
     {
         ParamStateTransferModelManager.Add(Gnsser.ParamNames.WetTropZpd, new RandomWalkModel(Option.StdDevOfTropoRandomWalkModel));
         ParamStateTransferModelManager.Add(Gnsser.ParamNames.RefWetTrop, new RandomWalkModel(Option.StdDevOfTropoRandomWalkModel));
     }
     this.BaseParamCount   = baseParamCount;
     this.ParamNameBuilder = new PeriodDoubleDifferParamNameBuilder(this.Option);
 }