• 大小: 104KB
    文件类型: .zip
    金币: 2
    下载: 2 次
    发布日期: 2021-12-05
  • 语言: 其他
  • 标签: 白塞尔  

资源简介

本压缩包包含白塞尔大地主题解算的界面EXE应用程序和详细代码,计算精度高,还有使用手册。

资源截图

代码片段和文件信息

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace Solution_of_geodetic_problem
{
    //白塞尔的算法
    class Bessel
    {  /*********************************************
         * 正算方法
         * 形参为椭球选择标数、正算起算数据
         * 返回值为需求算数据的数组
         * ******************************************/

        public double[] Forward_calculate(int ellipsoid_choose double B1 double L1 double A1 double S)
        {
            //选择椭球参数(ellipsoid为椭球标志)
            double b = 0;
            double e1 = 0;
            double e2 = 0;
            if (ellipsoid_choose == 1)
            {
                b = 6356863.0187730473;
                e1 = 0.006693421622966;
                e2 = 0.006738525414683;
            }
            else if (ellipsoid_choose == 2)
            {
                b = 6356755.2881575287;
                e1 = 0.006694384999588;
                e2 = 0.006739501819473;
            }
            else if (ellipsoid_choose == 3)
            {
                b = 6356752.3142;
                e1 = 0.00669437999013;
                e2 = 0.00673949674227;
            }

            //计算起点的规划纬度
            double W1 = Math.Sqrt(1 - e1 * Math.Sin(B1) * Math.Sin(B1));
            double sinu1 = Math.Sin(B1) * Math.Sqrt(1 - e1) / W1;
            double cosu1 = Math.Cos(B1) / W1;

            //计算辅助函数值
            double sinAo = cosu1 * Math.Sin(A1);
            double cota1 = cosu1 * Math.Cos(A1) / sinu1;
            double sin2sgm1 = 2 * cota1 / (cota1 * cota1 + 1);
            double cos2sgm1 = (cota1 * cota1 - 1) / (cota1 * cota1 + 1);
            double cosAo_2 = 1 - sinAo * sinAo;
            double k2 = e2 * cosAo_2;
            double k4 = k2 * k2;
            double k6 = k2 * k2 * k2;

            //计算系数A、B、C以及alf、beita;这里可能存在精度问题
            double A = b * (1 + k2 / 4 - 3 * k4 / 64 + 5 * k6 / 256);
            double B = b * (k2 / 8 - k4 / 32 + 15 * k6 / 1024);
            double C = b * (k4 / 128 - 3 * k6 / 512);
            double alf = (e1 / 2 + e1 * e1 / 8 + e1 * e1 * e1 / 16)
                - (e1 * e1 / 16 + e1 * e1 * e1 / 16) * cosAo_2
                + (3 * e1 * e1 * e1 / 128) * cosAo_2 * cosAo_2;
            double bta = (e1 * e1 / 32 + e1 * e1 * e1 / 32) * cosAo_2
                - (e1 * e1 * e1 / 64) * cosAo_2 * cosAo_2;


            //计算球面长度
            double sgm0 = (S - (B + C * cos2sgm1) * sin2sgm1) / A;
            double sin2sgm1_sgm0 = sin2sgm1 * Math.Cos(2 * sgm0) + cos2sgm1 * Math.Sin(2 * sgm0);
            double cos2sgm1_sgm0 = cos2sgm1 * Math.Cos(2 * sgm0) - sin2sgm1 * Math.Sin(2 * sgm0);
            double sgm = sgm0 + (B + 5 * C * cos2sgm1_sgm0) * sin2sgm1_sgm0 / A;

            //计算经差改正数
            double dlta = (alf * sgm + bta * (sin2sgm1_sgm0 - sin2sgm1)) * sinAo;


            //计算终点大地坐标以及大地方位角
            double sinu2 = sinu1 * Math.Cos(sgm) + cosu1 * Math.Cos(A1) * Math.Sin(sgm);
     

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----
     目录           0  2017-12-25 00:22  Solution_of_geodetic_problem\
     文件       10038  2017-10-22 17:58  Solution_of_geodetic_problem\Bessel.cs
     文件       45168  2017-10-22 18:58  Solution_of_geodetic_problem\Form1.Designer.cs
     文件        6274  2017-10-22 18:58  Solution_of_geodetic_problem\Form1.cs
     文件        5817  2017-10-22 18:58  Solution_of_geodetic_problem\Form1.resx
     文件         509  2017-10-22 15:55  Solution_of_geodetic_problem\Program.cs
     目录           0  2017-12-25 00:22  Solution_of_geodetic_problem\Properties\
     文件        1388  2017-10-22 15:55  Solution_of_geodetic_problem\Properties\AssemblyInfo.cs
     文件        2908  2017-10-22 15:55  Solution_of_geodetic_problem\Properties\Resources.Designer.cs
     文件        5612  2017-10-22 15:55  Solution_of_geodetic_problem\Properties\Resources.resx
     文件        1115  2017-10-22 15:55  Solution_of_geodetic_problem\Properties\Settings.Designer.cs
     文件         249  2017-10-22 15:55  Solution_of_geodetic_problem\Properties\Settings.settings
     文件        3792  2017-10-22 19:03  Solution_of_geodetic_problem\Solution_of_geodetic_problem.csproj
     文件         897  2017-10-22 15:55  Solution_of_geodetic_problem\Solution_of_geodetic_problem.sln
     文件       29184  2017-12-18 23:43  Solution_of_geodetic_problem\Solution_of_geodetic_problem.suo
     目录           0  2017-12-25 00:22  Solution_of_geodetic_problem\bin\
     目录           0  2017-12-25 00:22  Solution_of_geodetic_problem\bin\Debug\
     文件       28160  2017-12-24 23:52  Solution_of_geodetic_problem\bin\Debug\Solution_of_geodetic_problem.exe
     文件       42496  2017-12-24 23:52  Solution_of_geodetic_problem\bin\Debug\Solution_of_geodetic_problem.pdb
     文件       11600  2017-12-24 23:49  Solution_of_geodetic_problem\bin\Debug\Solution_of_geodetic_problem.vshost.exe
     文件         490  2016-07-16 19:44  Solution_of_geodetic_problem\bin\Debug\Solution_of_geodetic_problem.vshost.exe.manifest
     目录           0  2017-12-27 20:40  Solution_of_geodetic_problem\bin\Release\
     目录           0  2017-12-25 00:22  Solution_of_geodetic_problem\obj\
     目录           0  2017-12-25 00:22  Solution_of_geodetic_problem\obj\x86\
     目录           0  2017-12-25 00:22  Solution_of_geodetic_problem\obj\x86\Debug\
     文件        5420  2017-11-04 17:18  Solution_of_geodetic_problem\obj\x86\Debug\DesignTimeResolveAssemblyReferences.cache
     文件        6314  2017-12-24 23:52  Solution_of_geodetic_problem\obj\x86\Debug\DesignTimeResolveAssemblyReferencesInput.cache
     文件         180  2017-12-18 23:34  Solution_of_geodetic_problem\obj\x86\Debug\Solution_of_geodetic_problem.Form1.resources
     文件         180  2017-12-18 23:34  Solution_of_geodetic_problem\obj\x86\Debug\Solution_of_geodetic_problem.Properties.Resources.resources
     文件         810  2017-12-24 23:49  Solution_of_geodetic_problem\obj\x86\Debug\Solution_of_geodetic_problem.csproj.FileListAbsolute.txt
     文件         975  2017-10-22 18:58  Solution_of_geodetic_problem\obj\x86\Debug\Solution_of_geodetic_problem.csproj.GenerateResource.Cache
............此处省略6个文件信息

评论

共有 条评论