/// <summary> /// 通用构造函数 /// </summary> /// <param name="GlobalDataOption"></param> /// <param name="option"></param> /// <param name="session"></param> public DataSourceContext(GnsserConfig GlobalDataOption, GnssProcessOption option, SessionInfo session) : this() { this.GlobalDataOption = GlobalDataOption; this.Option = option; this.Session = session; }
/// <summary> /// 加载所有数据源.//2015.05.12, czs, 应该采用懒加载模式,用则加载,不用则不加载,可以提高效率 /// </summary> public void Init(GnsserConfig GlobalDataOption) { this.Add(GnssDataType.UniverseObject, UniverseObjectProvider.Instance); this.Add(GnssDataType.Antenna, new AntennaFileService(GlobalDataOption.AntennaFile)); this.Add(GnssDataType.AntennaFileIgs08, new AntennaFileService(GlobalDataOption.AntennaFileIgs08)); this.Add(GnssDataType.AntennaFileIgs14, new AntennaFileService(GlobalDataOption.AntennaFileIgs14)); this.Add(GnssDataType.SatState, new SatExcludeFileService(GlobalDataOption.SatExcludeFile)); this.Add(GnssDataType.SatInfo, new SatInfoService(GlobalDataOption.SatSateFile)); this.Add(GnssDataType.OceanLoading, new OceanLoadingHarmonicsService(GlobalDataOption.OceanTideFile)); GlobalIgsEphemerisService.Instance.Init(GlobalDataOption); this.Add(GnssDataType.IgsAutoEphemeris, GlobalIgsEphemerisService.Instance); GlobalIgsClockService.Instance.Init(GlobalDataOption); this.Add(GnssDataType.IgsAutoClock, GlobalIgsClockService.Instance); GlobalIgsSimpleClockService.Instance.Init(GlobalDataOption); this.Add(GnssDataType.IgsAutoSimpleClock, GlobalIgsSimpleClockService.Instance); GlobalIgsErpService.Instance.Init(GlobalDataOption); this.Add(GnssDataType.IgsAutoErp, GlobalIgsErpService.Instance); GlobalIgsGridIonoService.Instance.Init(GlobalDataOption); this.Add(GnssDataType.IgsGridAutoFile, GlobalIgsGridIonoService.Instance); IgsGridIonoFileService = GlobalIgsGridIonoService.Instance; GlobalKlobucharIonoService.Instance.Init(GlobalDataOption); this.Add(GnssDataType.IgsKlobucharIonoService, GlobalKlobucharIonoService.Instance); this.IgsKlobucharIonoService = GlobalKlobucharIonoService.Instance; GlobalNavEphemerisService.Instance.Init(GlobalDataOption); this.Add(GnssDataType.IgsNavEphemerisService, GlobalNavEphemerisService.Instance); this.IgsNavEphemerisService = GlobalNavEphemerisService.Instance; GlobalCodeHarmoIonoService.Instance.Init(GlobalDataOption); this.Add(GnssDataType.IgsCodeIonoHarmoFile, GlobalCodeHarmoIonoService.Instance); GlobalIgsGridIonoDcbService.Instance.Init(GlobalDataOption); this.Add(GnssDataType.IgsGridIonoDcbService, GlobalIgsGridIonoDcbService.Instance); this.Add(GnssDataType.DCB, new DcbDataService(GlobalDataOption.DcbDirectory)); if (File.Exists(GlobalDataOption.VMF1Directory)) { this.Add(GnssDataType.VMF1, new Vmf1DataService(GlobalDataOption.VMF1Directory)); } if (File.Exists(GlobalDataOption.GPT2Directory)) { this.Add(GnssDataType.GPT2, new Gpt2DataService(GlobalDataOption.GPT2Directory)); } if (File.Exists(GlobalDataOption.GPT21DegreeDirectory)) { this.Add(GnssDataType.GPT21Degree, new Gpt2DataService1Degree(GlobalDataOption.GPT21DegreeDirectory)); } }
/// <summary> /// 构造函数.星历数据源提供适配器 /// </summary> /// <param name="option"></param> /// <param name="processOption"></param> public ErpServiceProvider(GnsserConfig option, GnssProcessOption processOption) : base(option, processOption) { }
/// <summary> /// 构造函数.星历数据源提供适配器 /// </summary> /// <param name="option"></param> /// <param name="processOption"></param> public SimpleClockServiceProvider(GnsserConfig option, GnssProcessOption processOption) : base(option, processOption) { }
/// <summary> /// 构造函数.星历数据源提供适配器 /// </summary> /// <param name="option"></param> /// <param name="processOption"></param> public AbstractServiceProvider(GnsserConfig option, GnssProcessOption processOption) { this.DataSourceOption = option; this.ProcessOption = processOption; }
/// <summary> /// 构造函数.星历数据源提供适配器 /// </summary> /// <param name="option"></param> /// <param name="processOption"></param> /// <param name="ObservationDataSources"></param> public EphemerisServiceProvider(GnsserConfig option, GnssProcessOption processOption, MultiSiteObsStream ObservationDataSources = null) : base(option, processOption) { this.ObservationDataSources = ObservationDataSources; this.CurrentSession = new SessionInfo(ObservationDataSources.TimePeriod, processOption.SatelliteTypes); }