高斯投影正、反算 代码

本文介绍了如何使用C语言实现高斯投影的正算和反算过程,包括从经纬度转换到平面坐标和反之的转换算法,适用于地理信息系统和地图制图领域的计算。
摘要由CSDN通过智能技术生成

 

 
//高斯投影正、反算 
//6度带宽 54年北京坐标系 
//高斯投影由经纬度(Unit:DD)反算大地坐标(含带号,Unit:Metres) 

void GaussProjCal(double longitude, double latitude, double *X, double *Y) 
{
 int ProjNo=0; int ZoneWide; 带宽 
 double longitude1,latitude1, longitude0,latitude0, X0,Y0, xval,yval;
 double a,f, e2,ee, NN, T,C,A, M, iPI;
 iPI = 0.0174532925199433; 3.1415926535898/180.0; 
 ZoneWide = 6; 6度带宽 
 a=6378245.0; f=1.0/298.3; //54年北京坐标系参数 
 a=6378140.0; f=1/298.257; //80年西安坐标系参数 
 ProjNo = (int)(longitude / ZoneWide) ; 
 longitude0 = ProjNo * ZoneWide + ZoneWide / 2; 
 longitude0 = longitude0 * iPI ;
 latitude0=0; 
 longitude1 = longitude * iPI ; //经度转换为弧度
 latitude1 = latitude * iPI ; //纬度转换为弧度
 e2=2*f-f*f;
 ee=e2*(1.0-e2);
 NN=a/sqrt(1.0-e2*sin(latitude1)*sin(latitude1));
 T=tan(latitude1)*tan(latitude1);
 C
评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值