算法原理:
白塞尔到底主题正算公式推导的基本思想是:将椭球面上的大地元素按照白塞尔投影条件投影到辅助球面上,继而在球面上进行大地主题解算,最后再将球面上的计算结果换算到椭球面上。
算法流程:
首先输入大底线起点纬度B1,经度,大地方位角和大底线长度。其中经纬度与大地方位角角度弧度转换函数转换为弧度再参与计算。而后给定椭球参数(本次使用克氏椭球),计算起点的归化纬度,然后计算辅助函数值,计算系数A,B,C,以及α,β。然后计算球面长度,计算经度改正差数,最后计算终点大地坐标及大地方位角,判断大地方位角符号后输出结果。
#include <iostream>
#include<cmath>
using namespace std;
double angle_to_radian(double degree, double min, double second)
{
double flag = (degree < 0) ? -1.0 : 1.0; //判断正负
double pi = 4 * atan(1);
if (degree < 0)
{
degree = degree * (-1.0);
}
double angle