?? jingweidu.h
字號:
//定義平面坐標,大地經緯度,地心經緯度,球面經緯度以及坐標之間的轉化關系
//另外定義了符號函數,這樣做是為了更方便查找
#ifndef JINGWEIDU
#define JINGWEIDU
#include<iostream.h>
#include "base.h"
#define pi 3.141592653589793
//平面坐標在高斯投影中用到
class pingmian
{
public:
long double x;
long double y;
pingmian(long double i,long double j)//輸入角度
{
x=i;
y=j;
}
pingmian(const pingmian &ping)
{
x=ping.x;
y=ping.y;
}
pingmian operator=(const pingmian &ping)
{
x=ping.x;
y=ping.y;
return *this;
}
friend ostream&
operator<<(ostream & os,const pingmian &ping)
{
return os<<ping.x<<" "<<ping.y;
}
};
//定義大地經緯度
class dadijingweidu
{
public:
long double B;
long double L;
dadijingweidu(long double b=0,long double l=0)
{
B=b*pi/180;
L=l*pi/180;
}
dadijingweidu(base base1,base base2)
{
B=(base1.degree+base1.minite/60+base1.second/3600)*pi/180;
L=(base2.degree+base2.minite/60+base2.second/3600)*pi/180;
}
dadijingweidu(const dadijingweidu &da)
{
B=da.B;
L=da.L;
}
dadijingweidu operator=(const dadijingweidu &da)
{
B=da.B;
L=da.L;
return *this;
}
friend ostream&
operator<<(ostream & os,const dadijingweidu &da)
{
return os<<da.B*180/pi<<" "<<da.L*180/pi;
}
};
//在求大橢圓距離時用到地心經緯度,故定義之
class dixinjingweidu
{
public:
long double psi;
long double L;
dixinjingweidu(long double p=0,long double l=0)
{
psi=p*pi/180;
L=l*pi/180;
}
dixinjingweidu(const dixinjingweidu &di)
{
psi=di.psi;
L=di.L;
}
dixinjingweidu operator=(const dixinjingweidu &di)
{
psi=di.psi;
L=di.L;
return *this;
}
friend ostream&
operator<<(ostream & os,const dixinjingweidu &di)
{
return os<<di.psi*180/pi<<" "<<di.L*180/pi;
}
};
//在求概位時需要將大地坐標對應到輔助球面上,故定義如下
class qiumianjingweidu
{
public:
long double psi;
long double lambda;
qiumianjingweidu(long double p=0,long double l=0)
{
psi=p*pi/180;
lambda=l*pi/180;
}
qiumianjingweidu(const qiumianjingweidu &qiu)
{
psi=qiu.psi;
lambda=qiu.lambda;
}
qiumianjingweidu operator=(const qiumianjingweidu &qiu)
{
psi=qiu.psi;
lambda=qiu.lambda;
return *this;
}
friend ostream&
operator<<(ostream & os,const qiumianjingweidu &qiu)
{
return os<<qiu.psi*180/pi<<" "<<qiu.lambda*180/pi;
}
};
#endif
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -