请写出高斯投影正反算代码,用c#语言
时间: 2023-03-16 14:44:40 浏览: 297
高斯投影坐标转换C#(正算)
高斯投影正算代码://高斯投影正算
//输入:经纬度坐标(B,L)
//输出:大地坐标(X,Y)
#include<math.h>
#define a 6378137.0 //椭球长半轴
#define b 6356752.3142 //椭球短半轴
#define pi 3.1415926
double B,L; //经纬度
double X,Y; //大地坐标
//以下为正算部分
double ee,N,T,C,A,M;
//椭球第一偏心率的平方
ee=pow(a*a-b*b,0.5)/a;
//卯酉圈曲率半径
N=a/pow(1-ee*ee*sin(B)*sin(B),0.5);
T=tan(B)*tan(B);
C=ee*ee*cos(B)*cos(B);
A=(L*pi)/180.0;
M=a*((1-ee*ee/4-3*ee*ee*ee*ee/64-5*ee*ee*ee*ee*ee*ee/256)*B-(3*ee*ee/8+3*ee*ee*ee*ee/32+45*ee*ee*ee*ee*ee*ee/1024)*sin(2*B)+(15*ee*ee*ee*ee/256+45*ee*ee*ee*ee*ee*ee/1024)*sin(4*B)-(35*ee*ee*ee*ee*ee*ee/3072)*sin(6*B));
X=N*cos(B)*A+M;
Y=N*sin(B)*A;
阅读全文