算法原理:
已知两端点经纬度,反求大地线长度及正反大地方位角。
算法流程:
首先输入两端点经纬度,将角度转化为弧度参与后续计算。然后输入椭球参数(本次使用克氏椭球),计算辅助值。再用逐次趋近法同时计算起点大地方位角、球面长度及经差(第一次趋近时,取δ=0),直到最后两次δ小于限值(此处考虑到计算机省略小数点后几位的特性,直接令两者相等)。然后计算辅助系数,之后计算大底线长度,计算反方位角。
#include <iostream>
#include<cmath>
using namespace std;
int main()
{
double angle_to_radian(double degree, double min, double second);
void radian_to_angle(double rad);
double B1,L1,B2,L2,B1d, B1f, B1m, L1d, L1f, L1m, B2d, B2f, B2m, L2d, L2f, L2m;
cout << "请输入大地线起点坐标B1=" << "°" << "′" <&