Example #1
0
        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;
        }