算法原理:
已知两端点经纬度,反求大地线长度及正反大地方位角。
算法流程:
首先输入两端点经纬度,将角度转化为弧度参与后续计算。然后输入椭球参数(本次使用克氏椭球),计算平均纬度及平均纬度处各参数。然后计算deltaA,S*sin(Am),S*cos(Am),再由此计算大底线长度S,正反方位角A12,A21,然后判断方位角象限,最终输出结果。
#include <iostream>
#include <cmath>
using namespace std;
int main()
{
//输入已知量
double pi = 4 * atan(1);
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=" << "°" << "′" << "″" << endl