高斯正反算程序代码Word文件下载.docx

上传人:b****6 文档编号:18817070 上传时间:2023-01-01 格式:DOCX 页数:14 大小:17.51KB
下载 相关 举报
高斯正反算程序代码Word文件下载.docx_第1页
第1页 / 共14页
高斯正反算程序代码Word文件下载.docx_第2页
第2页 / 共14页
高斯正反算程序代码Word文件下载.docx_第3页
第3页 / 共14页
高斯正反算程序代码Word文件下载.docx_第4页
第4页 / 共14页
高斯正反算程序代码Word文件下载.docx_第5页
第5页 / 共14页
点击查看更多>>
下载资源
资源描述

高斯正反算程序代码Word文件下载.docx

《高斯正反算程序代码Word文件下载.docx》由会员分享,可在线阅读,更多相关《高斯正反算程序代码Word文件下载.docx(14页珍藏版)》请在冰豆网上搜索。

高斯正反算程序代码Word文件下载.docx

longdouble*pointer_B,*pointer_L;

longdoubleDH;

pointer_B=&

FSB;

pointer_L=&

FSL;

pointer_x=&

x;

pointer_y=&

y;

printf("

\n============================欢迎使用高斯投影计算程序============================\n"

);

说明\n"

1.程序可实现在任意椭球上进行高斯三度带和六度带正算和反算;

\n"

2.经纬度的输入输出格式为:

度分秒,例如:

113°

05\'

13.68466\"

输入时为:

113.051368466;

3.y坐标的输入输出格式为:

带号*10E6+500公里+自然坐标,例如:

y=18637682.388,18为带号,自然坐标为137682.388;

4.其余可按照提示完成,如有疑问可发送Email至gys_long@,我们将尽快为您解答。

"

\n================================================================================\n"

请选择计算方式:

A.三度带正算;

\tB.三度带反算;

\tC.六度带正算;

\tD.六度带反算\n"

请选择字母后回车:

scanf("

%c"

&

XZ);

if(XZ=='

A'

||XZ=='

a'

{XZZF='

Z'

XZSL='

S'

printf("

注意:

您将要进行的是三度带正算!

}

elseif(XZ=='

B'

b'

F'

您将要进行的是三度带反算!

C'

c'

L'

您将要进行的是六度带正算!

D'

d'

您将要进行的是六度带反算!

else

{

printf("

警告:

您操作有误!

!

是否继续Y/N:

scanf("

%s"

YN);

}

do

if(YN=='

N'

||YN=='

n'

{

printf("

欢迎您继续使用此程序,如有疑问可发送Email至gys_long@,我们将尽快为您解答!

break;

}

if(XZZF=='

||XZZF=='

z'

请选择椭球:

\n1.克拉索夫斯基椭球;

2.1975年国际椭球体;

3.WGS-84椭球体;

4.自定义椭球\n"

请选择数字后回车:

scanf("

%d"

num);

switch(num)

case1:

{

a=6378245.0000000000;

b=6356863.0187730473;

您选择的是克拉索夫斯基椭球!

\n请输入经度L和纬度B:

(输入时经度和纬度之间用逗号隔开)\n"

%lf,%lf"

L,&

B);

L0=(XZSL=='

||XZSL=='

l'

)?

((N=(int)((L+3)/6.+0.5))*6-3):

((N=(int)(L/3.+0.5))*3);

\t=======================中间计算过程结果=======================\n\n"

\t\tN=%d\n\t\tL0=%f\n"

N,L0);

B1=AngleToRadian(B);

//printf("

HD=%lf"

B1);

L0=AngleToRadian(L0);

L1=AngleToRadian(L);

l=L1-L0;

GSZS(a,b,l,B1,pointer_x,pointer_y);

\n\t===========================计算结果===========================\n"

\n\t\tx=%-20.4lf\t\ty=%-20.4lf\n"

x,(y+500000+N*1000000));

\n\t==============================================================\n"

break;

}

case2:

a=6378140.0000000000;

b=6356755.2881575287;

您选择的是1975年国际椭球体!

\n\t==========================计算结果为==========================\n"

\n\t\tx=%-20.3lf\t\ty=%-20.3lf\n"

case3:

a=6378137.0000000000;

b=6356752.3142;

您选择的是WGS-84椭球体!

case4:

您选择的是自定义椭球体!

\n请输入长半轴a、短半轴b、经度L和纬度B:

(输入时数据之间用逗号隔开)\n"

%lf,%lf,%lf,%lf"

a,&

b,&

\t========================中间计算过程结果========================\n\n"

default:

您选择了错误的数字\n"

if(YN=='

欢迎您下次使用此程序,如有疑问可发送Email至gys_long@,我们将尽快为您解答!

elseif(XZZF=='

f'

//printf("

请输入中央子午线L0:

//scanf("

N);

\n请输入x坐标和y坐标:

(输入时x坐标和y坐标之间用逗号隔开)\n"

x,&

y);

FSB=Bf(a,b,x);

\t\tBf=%-20.10lf\n"

FSB);

//

DH=floor(y/1000000);

y=y-DH*1000000-500000;

//

GSFS(a,b,FSB,y,pointer_B,pointer_L);

FSB=RadianToAngle(FSB);

FSL=RadianToAngle(FSL);

(DH*6-3):

(DH*3);

\t\tDH=%-20.0lf\n\t\tL0=%-20.0lf\n\t\tl=%-20.10lf\n"

DH,L0,FSL);

\n\t\tB=%-20.10lf\t\tL=%-20.10lf\n"

FSB,L0+FSL);

\n请输入长半轴a、短半轴b、x坐标和y坐标:

您选择错误!

while(YN=='

Y'

y'

longdoubleAngleToRadian(longdoublealfa)

longdoublealfa1,alfa2;

longdoubleHS;

alfa=alfa+0.00000000000001;

alfa1=floor(alfa)+floor((alfa-floor(alfa))*100.)/60;

alfa2=(alfa*100.-floor(alfa*100.0))/36;

alfa1+=alfa2;

HS=alfa1/180.*PI;

return(HS);

longdoubleRadianToAngle(longdoublealfa)

alfa=alfa*180./PI;

alfa1=floor(alfa)+floor((alfa-floor(alfa))*60.)/100.;

alfa2=(alfa*60.-floor(alfa*60.))*0.006;

return(alfa1);

voidGSZS(longdoublea,longdoubleb,longdoublel,longdoubleB,longdouble*x,longdouble*y)

longdoublee,e1,t,u2;

longdoublem0,m2,m4,m6,m8,a0,a2,a4,a6,a8,X;

longdoublen0,n2,n4,n6,n8,sin2B,sin4B,sin6B,sin8B,N;

e=(sqrt(a*a-b*b))/a;

e1=(sqrt(a*a-b*b))/b;

t=tan(B);

u2=e1*e1*cos(B)*cos(B);

m0=a*(1-e*e);

m2=3.0/2.0*e*e*m0;

m4=5.0/4.0*e*e*m2;

m6=7.0/6.0*e*e*m4;

m8=9.0/8.0*e*e*m6;

a0=m0+m2/2.0+3.0/8.0*m4+5.0/16.0*m6+35.0/128.0*m8;

a2=m2/2.0+m4/2.0+15.0/32.0*m6+7.0/16.0*m8;

a4=m4/8.0+3.0/1

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 经管营销

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1