经纬度与平面坐标互转,经纬度与空间直角坐标互转(C++代码)
在三维激光点云处理中,需经常用到经纬度与平面坐标、空间直角坐标互转的功能,有时只是临时写一个测试demo,不想调用gdal,太麻烦,希望有更简单的调用方式。 网上一通搜索,并没有找到很完整的代码,一些代码杂乱无章,正确性还需确认,于是自己动手写了这四个转换函数,在此与大家分享使用: 头文件: /******************************************************************* * * 作者: Sun Zhenxing * 创建日期: 20190819 * * 说明:实现经纬度与平面坐标互转,实现经纬度与空间直角坐标互转 * ******************************************************************/ #ifndef ZTGEOGRAPHYCOORDINATETRANSFORM_H #define ZTGEOGRAPHYCOORDINATETRANSFORM_H #include <math.h> struct EllipsoidParameter { double a, b, f; double e2, ep2; // 高斯投影参数 double c; double a0, a2, a4, a6; EllipsoidParameter() { // Default: