示例#1
0
        /// <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());
        }
示例#2
0
        /// <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);
            }
        }
示例#3
0
 /// <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));
 }