/// <summary> /// 构造文件名称 /// </summary> /// <returns></returns> public string BuildFileName(string ObsFileName, CycleSlipDetectorType DetectType, SatObsDataType SatObsDataType) { var timeMark = DateTime.Now.Ticks.ToString(); StringBuilder sb = new StringBuilder(); sb.Append(ObsFileName); //sb.Append("_"); //sb.Append(timeMark.Substring(timeMark.Length / 2));//避免相同文件文件的时间冲突。 sb.Append("_"); sb.Append(DetectType.ToString()); sb.Append("_"); sb.Append(SatObsDataType.ToString()); sb.Append(".CycleSlip"); return(sb.ToString()); }
/// <summary> /// 周跳探测器建立 /// </summary> /// <param name="obsType"></param> /// <param name="type"></param> /// <param name="Option"></param> /// <param name="isRevered"></param> /// <returns></returns> public static ICycleSlipDetector Create(SatObsDataType obsType, CycleSlipDetectorType type, GnssProcessOption Option, bool isRevered = false) { bool isUseRecorded = !isRevered && Option.IsUsingRecordedCycleSlipInfo; switch (type) { case CycleSlipDetectorType.高次差法: return(new HighDifferSlipDetector(Option) { IsUsingRecordedCsInfo = isUseRecorded }); break; case CycleSlipDetectorType.LI组合: return(new LiCycleSlipDetector(Option) { IsUsingRecordedCsInfo = isUseRecorded }); break; case CycleSlipDetectorType.多项式拟合法: return(new LsPolyFitDetector(Option) { IsUsingRecordedCsInfo = isUseRecorded }); break; case CycleSlipDetectorType.数值平均法: return(new AverageDetector(Option) { IsUsingRecordedCsInfo = isUseRecorded }); break; case CycleSlipDetectorType.灰色模型法: return(new GreyPolyFitDetector(Option) { IsUsingRecordedCsInfo = isUseRecorded }); break; case CycleSlipDetectorType.MW组合: return(new MwCycleSlipDetector(Option) { IsUsingRecordedCsInfo = isUseRecorded }); break; case CycleSlipDetectorType.首次出现标记法: return(new TimeValueCycleSlipDetector(Option) { IsUsingRecordedCsInfo = isUseRecorded }); break; default: throw new NotSupportedException("尚未实现!" + type); } }
/// <summary> /// 周跳探测器建立 /// </summary> /// <param name="type"></param> /// <param name="Option"></param> /// <param name="isRevered"></param> /// <returns></returns> public static ICycleSlipDetector Create(CycleSlipDetectorType type, GnssProcessOption Option, bool isRevered = false) { return(Create(Option.ObsDataType, type, Option, isRevered)); }