Пример #1
0
        /// <summary>
        /// GNSS网的精度限差, 单位米
        /// </summary>
        /// <param name="gnssGrade">GNSS网等级</param>
        /// <param name="distanceMeter">基线长度,单位米</param>
        /// <returns>GNSS网的精度限差, 单位米</returns>
        public static double GetGnssGradeToleranceMeter(GnssGradeType gnssGrade, double distanceMeter)
        {
            double fixedError       = 3;
            double coefOfProportion = 1;

            switch (gnssGrade)
            {
            case GnssGradeType.AA:
                fixedError       = 3;
                coefOfProportion = 0.01;
                break;

            case GnssGradeType.A:
                fixedError       = 5;
                coefOfProportion = 0.1;
                break;

            case GnssGradeType.B:
                fixedError       = 8;
                coefOfProportion = 1;
                break;

            case GnssGradeType.C:
                fixedError       = 10;
                coefOfProportion = 5;
                break;

            case GnssGradeType.D:
                fixedError       = 10;
                coefOfProportion = 10;
                break;

            case GnssGradeType.E:
                fixedError       = 10;
                coefOfProportion = 20;
                break;

            default:
                break;
            }

            var mm = GnssReveiverNominalAccuracy.GetToleranceErrorMilliMeter(fixedError, coefOfProportion, distanceMeter);

            return(mm * 0.001); //单位转换为米
        }
Пример #2
0
        /// <summary>
        ///  GNSS 测量精度计算公式
        /// </summary>
        /// <param name="gnssReveiverType">接收机类型</param>
        /// <param name="distanceMeter">基线长度</param>
        /// <param name="version">版本</param>
        /// <returns></returns>
        public static LevelVertical GetReceiverToleranceError(GnssReveiverType gnssReveiverType, double distanceMeter, string version = null)
        {
            GnssReveiverNominalAccuracy accuracy = GetNominalAccuracyOfGnssReveiver(gnssReveiverType, version);

            return(accuracy.GetToleranceErrorMilliMeter(distanceMeter));
        }