?? c_xy.c
字號:
#include"p30f4013.h"
#include"math.h"
#include"stdio.h"
void main(void)
{
float a0,a3,a4,a5,a6,N,cb,sb,c2b,rjd,rwd,L0,L1,L,m,t,L2,L3,x,y;
int N1;
const float pi=3.141592653589,p=206264.806247; //定義π值及一弧度的秒值
rwd=30.49;
rjd=114.3;
N1=(int)(rjd/6); //計算某點已知經度后的帶號,以便下一步計算中央子午線的經度
L0=6*N1-3; //按6°帶計算中央子午線的經度
L1=rjd-L0; //計算與中央子午線的經度差;
m=(int)L1; //經度于中央子午線的差值的度提取出來
t=L1-m; //再將分提取出來
L2=m*3600+t*3600; //轉換成秒的格式
L=L2/p; //標準化為弧度
L3=L*L; //計算差值的平方
rwd=(rwd*pi)/180; //將經緯度都化成弧度
rjd=(rjd*pi)/180;
cb=cos(rwd); //計算經緯度的正余弦
sb=sin(rwd);
c2b=cb*cb; //計算余弦的平方
a0=32140.404-(135.3302-(0.7092-0.0040*c2b)*c2b)*c2b;
a3=(0.3333333+0.001123*c2b)*c2b-0.1666667;
a4=(0.25+0.00252*c2b)*c2b-0.04166;
a5=0.0083-(0.1667-(0.1968+0.0040*c2b)*c2b)*c2b;
a6=(0.166*c2b-0.084)*c2b;
N=6399698.902-(21562.267-(108.973-0.612*c2b)*c2b)*c2b; //計算公式所需系數
x=6367558.4969*rwd-(a0-(0.5+(a4+a6*L3)*L3)*L3*N)*sb*cb;
y=(1+(a3+a5*L3)*L3)*L*N*cb; //按優化公式計算高斯-克呂格投影下的x,y坐標
}
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -