public override void Init() { this.DataSource = new RinexFileObsDataSource(FilePath); this.Result = new ObjectTableStorage(); //最后结果 this.Result.Name = DataSource.SiteInfo.SiteName + namePostfix; // if (String.IsNullOrWhiteSpace(Result.Name)) { Result.Name = Path.GetFileNameWithoutExtension(FilePath); } this.BuffferStream = new BufferedStreamService <EpochInformation>(DataSource); //如果平滑伪距,则需要周跳探测 Revisers = new EpochInfoReviseManager(); if (IsSmoothRange) { var interval = DataSource.ObsInfo.Interval; int smoothEpochCount = (int)(600 / interval);//10 min windowData.MaxKeyGap = source.ObsInfo.Interval * 5;//已经包含着周跳探测中了 var CycleSlipDetector = CycleSlipDetectReviser.DefaultDoubleFrequencyDetector(); var rangeReviser = new PhaseSmoothRangeReviser(true, false, smoothEpochCount, true, IonoDifferCorrectionType.DualFreqCarrier); Revisers.AddProcessor(CycleSlipDetector); Revisers.AddProcessor(rangeReviser); } }
public override void Init() { this.DataSource = new RinexFileObsDataSource(FilePath); var interval = DataSource.ObsInfo.Interval == 0? 30: DataSource.ObsInfo.Interval; this.WindowDataManager = new WindowDataManager <SatelliteNumber, Time, WeightedNumeral>(int.MaxValue / 2, interval * 3); //过程计算工具 this.BuffferStream = new BufferedStreamService <EpochInformation>(DataSource); //如果平滑伪距,则需要周跳探测 Revisers = new EpochInfoReviseManager(); if (IsSmoothRange) { int smoothEpochCount = (int)(600 / interval);//10 min windowData.MaxKeyGap = source.ObsInfo.Interval * 5;//已经包含着周跳探测中了 var CycleSlipDetector = CycleSlipDetectReviser.DefaultDoubleFrequencyDetector(); var rangeReviser = new PhaseSmoothRangeReviser(true, false, smoothEpochCount, true, IonoDifferCorrectionType.DualFreqCarrier); Revisers.AddProcessor(CycleSlipDetector); Revisers.AddProcessor(rangeReviser); } this.Result = new MultiSatPeriodRmsNumeralStorage(Path.GetFileName(FilePath) + "_MW最后结果"); //最后结果 this.Result.Name = DataSource.SiteInfo.SiteName; // if (String.IsNullOrWhiteSpace(Result.Name)) { Result.Name = Path.GetFileNameWithoutExtension(FilePath); } }