C++ 使用 GeographicLib 将经纬高转换为 TM90 坐标系
使用 GeographicLib 库将经纬高转换为 TM90 投影坐标系的示例代码如下:
#include <iostream>
#include <GeographicLib/GeoCoords.hpp>
int main() {
// 定义经纬高坐标
double lat = 40.7128; // 纬度
double lon = -74.0060; // 经度
double h = 0.0; // 高程
// 创建WGS84椭球
const GeographicLib::Geocentric earth(GeographicLib::Constants::WGS84_a(), GeographicLib::Constants::WGS84_f());
// 将经纬高坐标转换为TM90投影坐标
double x, y, z;
earth.Forward(lat, lon, h, x, y, z);
// 输出转换后的结果
std::cout << 'TM90 X坐标: ' << x << std::endl;
std::cout << 'TM90 Y坐标: ' << y << std::endl;
std::cout << 'TM90 高程: ' << z << std::endl;
return 0;
}
这个示例代码使用 GeographicLib 库中的Geocentric类将 WGS84 经纬高坐标转换为 TM90 投影坐标系。请注意,该示例仅适用于将单个经纬高点转换为 TM90 坐标系。如果您需要批量转换或其他特定需求,请查阅 GeographicLib 库的文档以获取更多信息。确保已正确安装 GeographicLib 库并将其链接到您的 C++ 项目中。
原文地址: https://www.cveoy.top/t/topic/bQaJ 著作权归作者所有。请勿转载和采集!