/// <summary> /// 读取数据 /// </summary> public static Data.Rinex.RinexObsFile ReadFile(string ObsPath) { Data.Rinex.RinexObsFile ObsFile = null; string lastChar = Gdp.Utils.StringUtil.GetLastChar(ObsPath); string lastChar3 = Gdp.Utils.StringUtil.GetLastChar(ObsPath, 3); string lastChar5 = Gdp.Utils.StringUtil.GetLastChar(ObsPath, 5); if (String.Equals(lastChar, "o", StringComparison.CurrentCultureIgnoreCase) || String.Equals(lastChar3, "rnx", StringComparison.CurrentCultureIgnoreCase)) { var obsFileReader = new RinexObsFileReader(ObsPath); ObsFile = obsFileReader.ReadObsFile(); } //if (String.Equals(lastChar, "z", StringComparison.CurrentCultureIgnoreCase) // || String.Equals(lastChar3, "crx", StringComparison.CurrentCultureIgnoreCase) // || String.Equals(lastChar5, "crx.gz", StringComparison.CurrentCultureIgnoreCase) // ) //{ // Gdp.IO.InputFileManager inputFileManager = new Gdp.IO.InputFileManager(Setting.TempDirectory); // ObsPath = inputFileManager.GetLocalFilePath(ObsPath, "*.*o;*.rnx", "*.*"); // var obsFileReader = new RinexObsFileReader(ObsPath); // ObsFile = obsFileReader.ReadObsFile(); //} //if (String.Equals(lastChar, "s", StringComparison.CurrentCultureIgnoreCase)) //{ // ObsFile = new TableObsFileReader(ObsPath).Read(); //} if (ObsFile == null) { throw new Exception("不支持输入文件格式!"); return(ObsFile); } return(ObsFile); }
private void button_exclude_Click(object sender, EventArgs e) { string sourseDir1 = this.textBox_dir.Text; string[] files = Directory.GetFiles(sourseDir1, "*.13O"); string P1 = "P1"; progressBar1.Maximum = files.Length; progressBar1.Minimum = 1; progressBar1.Step = 1; progressBar1.Value = progressBar1.Minimum; for (int i = 0; i < files.Length; i++) { obsFile = new RinexObsFileReader(files[i]).ReadObsFile(); progressBar1.PerformStep(); progressBar1.Refresh(); throw new Exception("to be fiexd"); //if (!obsFile.Header.ObserTypes.Contains(P1)) //{ // File.Delete(files[time]); // continue; //} RinexEpochObservation firstobservation = obsFile.GetEpochObservation(obsFile.StartTime); //获取GPS卫星 List <SatelliteNumber> firstsats = firstobservation.Prns; List <SatelliteNumber> gpssats = new List <SatelliteNumber>(); foreach (var item in firstsats) { if (item.SatelliteType == SatelliteType.G) { gpssats.Add(item); } } bool hasp1p2 = false; foreach (var prn in gpssats) { if (firstobservation[prn][P1].Value != 0) { hasp1p2 = true; } } if (!hasp1p2) { File.Delete(files[i]); } } }
private void button1_Click(object sender, EventArgs e) { obsFile = (Data.Rinex.RinexObsFile) new Data.Rinex.RinexObsFileReader(this.textBox_obsPath.Text).ReadObsFile(); // new ObservationFlieReader(this.textBox_obsPath.Text).ReadObsFile(); List <SatelliteNumber> prns = obsFile.GetPrns(); List <SatelliteNumber> gpsprns = new List <SatelliteNumber>(); foreach (var prn in prns) { if (prn.SatelliteType == SatelliteType.G) { gpsprns.Add(prn); } } gpsprns.Sort(); this.bindingSource_SDWL.DataSource = gpsprns; }
/// <summary> /// 读取数据 /// </summary> private void ReadFile() { ObsFile = ObsFileUtil.ReadFile(ObsPath); if (ObsFile == null) { Geo.Utils.FormUtil.ShowWarningMessageBox("不支持输入文件格式!"); return; } this.bindingSource_obsInfo.DataSource = ObsFile; var prns = ObsFile.GetPrns(); prns.Sort(); this.bindingSource_sat.DataSource = prns; this.attributeBox1.DataGridView.DataSource = Geo.Utils.ObjectUtil.GetAttributes(ObsFile.Header, false); string msg = ""; msg += "首次观测时间:" + ObsFile.Header.StartTime + "\r\n"; msg += "最后观测时间:" + ObsFile.Header.EndTime + "\r\n"; msg += "采样间隔:" + ObsFile.Header.Interval + " 秒" + "\r\n"; this.textBox_show.Text = msg; Data.Rinex.RinexObsFile ObsFile1 = ObsFileUtil.ReadFile(ObsPath); var observations = new MemoRinexFileObsDataSource(ObsFile1); foreach (var epochInfo in observations) { int a = 1; int b = 2; } }