坐标转换程序:布尔沙七参数计算、投影正反算、坐标换带等

由于工作需要,编写了大地测量方面坐标转换的程序,主要实现以下功能:

  1. 投影正反算
  2. 布尔沙七参数计算
  3. 七参数坐标转换
  4. 投影换带
  5. 大地坐标系、投影坐标系、空间直角坐标系的任意互转

程序特点:

  1. 支持任意椭球参数
    程序内定义了北京54、西安80、WGS84、CGCS2000等常用椭球基准,并且可以采用自定义椭球,只需要输入椭球长轴半径和扁率的倒数两个最常用的参数,即可完成椭球的定义。方便快捷。
  2. 支持单点转换和文件转换两种方式
    两种方式共用一个按键,两种方式同时执行。单点转换可以可视化的观察坐标转换的结果,文件转换可以大批量的进行数据转换,无数量限制。
  3. 支持多种角度单位
    无论是“度”或者dd.mmss的经纬度格式,均可支持。也可以用来进行“度”和dd.mmss格式的转换。

经过大量的实验数据验证,程序稳定可靠。精度可达到亚毫米级别。

作者作为测绘工作者,长期从事摄影测量数据的处理工作,包括相机标定,畸变校正,空三处理,地形数据编辑,DOM,DEM等数据的制作。拥有一整套针对摄影测量的内外业解决方案。

程序和代码均可分享,可联系:[email protected]

//度数和弧度的转换
double Deg2Rad(double deg);
double Rad2Deg(double rad);

//度转度分秒
double Deg2DMS(double deg);
//度分秒转度
double DMS2Deg(double DMS);

//高斯投影正反算
void GaussForward(double a,double f,double B,double L,double L0,double &x,double &y,double east_plus);
void GaussBackword(double a,double f,double x,double y,double L0,double &B,double &L,double east_plus);

//UTM投影正反算
void UTMForward(double a,double f,double B,double L,double L0,double &x,double &y,double east_plus);
void UTMBackword(double a,double f,double x,double y,double L0,double &B,double &L,double east_plus);

//大地坐标系和空间直角坐标系的相互转换
void BLH2XYZ(double a,double f,double B,double L,double H, double &X,double &Y,double &Z);
void XYZ2BLH(double a,double f,double X,double Y,double Z, double &B,double &L,double &H);```

软件截图如下:
坐标转换程序:布尔沙七参数计算、投影正反算、坐标换带等