#include <iostream>
struct Ellipsoid {
double a; // 长半轴
double b; // 短半轴
double c; // 极轴半径
};
Ellipsoid getReferenceEllipsoid(int choice) {
switch (choice) {
case 1: // WGS84椭球体参数
return {6378137.0, 6356752.3142, 6378137.0};
case 2: // CGCS2000椭球体参数
return {6378137.0, 6356752.3141, 6378137.0};
// 这里可以添加更多的选择对应不同的参考椭球体参数
default:
std::cout << "无效的选择" << std::endl;
return {0.0, 0.0, 0.0};
}
}
int main() {
int choice;
std::cout << "请选择参考椭球体:" << std::endl;
std::cout << "1. WGS84" << std::endl;
std::cout << "2. CGCS2000" << std::endl;
// 这里可以添加更多的选择
std::cin >> choice;
Ellipsoid ellipsoid = getReferenceEllipsoid(choice);
if (ellipsoid.a != 0.0 && ellipsoid.b != 0.0 && ellipsoid.c != 0.0) {
std::cout << "所选参考椭球体的参数:" << std::endl;
std::cout << "长半轴:" << ellipsoid.a << std::endl;
std::cout << "短半轴:" << ellipsoid.b << std::endl;
std::cout << "极轴半径:" << ellipsoid.c << std::endl;
}
return 0;
}