GPS坐标(大地坐标)转高斯平面坐标,并计算 GPS 坐标(大地坐标)两点间的距离...

不知道啥时候在网上找到的算法,经实验发现貌似挺精确的,经修改后备用:

#include <cmath>

//高斯平面坐标系
struct CRDCARTESIAN
{
    double x;
    double y;
    double z;
} ;

//大地坐标系(可以是 北京54坐标系,西安80坐标系,WGS84坐标系(GPS 坐标))
struct CRDGEODETIC
{
    double longitude; //经度
    double latitude; //纬度 
    double height; //大地高,可设为0
};

#define WGS84 84    //WGS84坐标系(GPS 坐标)
#define BJ54 54     //北京54坐标系
#define XIAN80 80   //西安80坐标系
#define ZONEWIDE3 3 //投影带宽度 3
#define ZONEWIDE6 6 //投影带宽度 6

//---------------------------------------------------------------------------
void BLTOXY(CRDCARTESIAN * pcc, CRDGEODETIC * pcg, int Datum, int zonewide)
{
    double B = pcg->latitude; //纬度
    double L = pcg->longitude; //经度//纬度度数

    double L0; //中央经线度数
    double N; //卯酉圈曲率半径 
    double q2;
    double x; //高斯平面纵坐标
    double y; //高斯平面横坐标
    do
  • 2
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值