private void button_run_Click(object sender, EventArgs e) { var receiverType = this.enumRadioControl_gnssReceiverType.GetCurrent <GnssReveiverType>(); var gnssGrade = this.enumRadioControl_gnssGrade.GetCurrent <GnssGradeType>(); var distance = this.namedFloatControl_distance.GetValue(); var receiverVersion = this.namedStringControl_reveicerVertion.GetValue(); var gradeToleranceMiniMeter = GnssReveiverNominalAccuracy.GetGnssGradeToleranceMeter(gnssGrade, distance) * 1000; var receiverTolerance = GnssReveiverNominalAccuracy.GetReceiverToleranceError(receiverType, distance, receiverVersion); //手动输入 var levelFixed = this.namedFloatControl_fixedErrorLevel.GetValue(); var verticalFixed = this.namedFloatControl_fixedErrorVertical.GetValue(); var levelCoeef = this.namedFloatControl_levelCoefOfProprotion.GetValue(); var verticalCoeef = this.namedFloatControl_verticalCoefOfProprotion.GetValue(); var levelTolerance = GnssReveiverNominalAccuracy.GetToleranceErrorMilliMeter(levelFixed, levelCoeef, distance); var verticalTolerance = GnssReveiverNominalAccuracy.GetToleranceErrorMilliMeter(verticalFixed, verticalCoeef, distance); StringBuilder sb = new StringBuilder(); sb.AppendLine("GNSS 网等级:" + gnssGrade + ", 精度限差[mm]:" + gradeToleranceMiniMeter); sb.AppendLine(); sb.AppendLine("接收机 :" + receiverType + " " + receiverVersion + ", 精度限差(水平,垂直)[mm]:" + receiverTolerance); sb.AppendLine(); sb.AppendLine("手动输入,精度限差(水平,垂直)[mm]:" + levelTolerance + ", " + verticalTolerance); this.richTextBoxControl_result.Text = sb.ToString(); }
private void button_run_Click(object sender, EventArgs e) { //手动输入 double levelFixed = this.namedFloatControl_fixedErrorLevel.GetValue(); double verticalFixed = this.namedFloatControl_fixedErrorVertical.GetValue(); double levelCoeef = this.namedFloatControl_levelCoefOfProprotion.GetValue(); double verticalCoeef = this.namedFloatControl_verticalCoefOfProprotion.GetValue(); var GnssReveiverNominalAccuracy = new GnssReveiverNominalAccuracy(levelFixed, verticalFixed, levelCoeef, verticalCoeef); var periodSpanMinutes = this.namedFloatControl_periodSpanMinutes.GetValue(); var path = this.fileOpenControl_input.FilePath; if (!File.Exists(path)) { Geo.Utils.FormUtil.ShowWarningMessageBox("没有文件!在下无能为力!"); return; } var pathes = this.fileOpenControl_input.FilePathes; var tables = ObjectTableManager.Read(pathes, "."); //合并所有的表格 var rawTable = tables.Combine(); BaseLineNets = BaseLineNetManager.Parse(rawTable, periodSpanMinutes); //时段网 this.AllSychTrilateralQualities = BaseLineNets.BuildTriangularClosureQualies(GnssReveiverNominalAccuracy); //同步环闭合差计算 ObjectTableStorage totalSyncErrorTable = BaseLineNets.BuildSyncTrilateralErrorTable(AllSychTrilateralQualities); //复测基线较差,所有与第一个作差 var PeriodsRepeatErrors = BaseLineNets.BuildRepeatBaselineError(); var worst = PeriodsRepeatErrors.GetWorst(); if (worst != null) { StringBuilder sb = new StringBuilder(); sb.AppendLine("复测基线较差最弱边:" + worst.ToString()); this.richTextBoxControl_textResult.Text += "\r\n" + sb.ToString(); } this.PeriodsRepeatErrorslQualities = BaseLineNets.BuildRepeatBaselingQulities(PeriodsRepeatErrors, GnssReveiverNominalAccuracy); //生成所有表格 ObjectTableStorage repeatErrorTable = BaseLineNets.BuildRepeatBaselingErrorTable(PeriodsRepeatErrorslQualities, GnssReveiverNominalAccuracy); this.objectTableControl_syncclosureError.DataBind(totalSyncErrorTable); this.objectTableControl_closureErrorOfRepeatBaseline.DataBind(repeatErrorTable); this.objectTableControl_rawData.DataBind(rawTable); this.tabControl_res.SelectedTab = this.tabPage_allSync; }