高斯投影正反算C语言程序代码,高斯投影正反算 源程序

#include "stdafx.h"

#include "iostream.h"

#include "math.h"

#include "stdio.h"

#define P 206264.806247096355

#define PI 3.141592653589793

void GaosZ_fun()

{

printf("高斯投影的正算\n");

double l,L,B,n2,x,y,N,t,V,c,e2;

double i,j,k,n,h,a0,a4,a6,a3,a5,cB2;

int m;

e2=0.006738525414683;

c=6399698.901782711;

B=17.33557339*3600/P;

L=119.15521159*3600/P;

l=L-111*3600/P // l=((m%6)*3600+n*60+h)/P;

t=tan(B);

n2=e2*cos(B)*cos(B);

V=sqrt(1+n2);

cB2=pow(cos(B),2);

N=6399698.902-(21562.267-(108.973-0.612*cB2)*cB2)*cB2; // N=c/V; a0=32140.404-(135.3302-(0.7092-0.004*cB2)*cB2)*cB2;

a4=(0.25+0.00252*cB2)*cB2-0.04166;

a6=(0.166*cB2-0.084)*cB2;

a3=(0.3333333+0.001123*cB2)*cB2-0.1666667;

a5=0.0083-(0.1667-(0.1968+0.0040*cB2)*cB2)*cB2;

// x=X+N*sin(B)*cos(B)*l*l/2+N*sin(B)*pow(cos(B),3)*(5-t*t+9*n2+4*n2*n2)*pow(l,

4)/24+N*sin(B)*pow(cos(B),5)*(61-58*t*t+pow(t,4))*pow(l,6)/720;

// y=N*cos(B)*l+N*pow(cos(B),3)*(1-t*t+n2)*pow(l,5)/6+N*pow(cos(B),5)*(5-18*t*t +pow(t,4)+14*n2-58*n2*t*t)*pow(l,5)/120;

x=6367558.4969*B-(a0-(0.5+(a4+a6*l*l)*l*l)*l*l*N)*sin(B)*cos(B);

y=(1+(a3+a5*l*l)*l*l)*l*N*cos(B);

printf("x=%f\ny=%f\n",x,y);

}

void GaosF_fun()

{

printf("高斯投影的反算\n");

double B,Bf,Nf,b,b2,b3,b4,b5,Z,x,y,L0,l;

你可能感兴趣的:(高斯投影正反算C语言程序代码)