資源簡介
該程序主要利用GPS觀測數(shù)據(jù),形成雙差觀測方程,利用已知點坐標(biāo)求解未知點的坐標(biāo),對理解GPS定位原理以及從事GPS算法的人有很大幫助。

代碼片段和文件信息
#include?“GPSPosition.h“
#include?“Matrix.h“
#include?“string.h“
#include?“math.h“
#include?
#include?“T_DIST.H“
void?main()
{
GPSPosition?m_GPSPosition;
m_GPSPosition.WriteToFile(“1.05o““1.05n““2.05o““2.05n““resultfree.txt“);
}
//////////////////////////////////////////////////////////////////////
GPSPosition::GPSPosition()
{
m_CoordSysType.A????????=6378137.0;???//WGS-84
m_CoordSysType.Alfa?????=1.0/298.257223563;
m_CoordSysType.E2???????=0.00669437999014132;
m_LSMOOTHCA.LSMOOTHCAweight?????????=0.1;
memset(dPointPos0x00sizeof(dPointPos));
memset(RelativeError0x00sizeof(RelativeError));
memset(m_LSMOOTHCA.SatEPHNum0x00sizeof(m_LSMOOTHCA.SatEPHNum));
memset(&m_stThreeMinus0x00sizeof(m_stThreeMinus));
DOP=0;
EPHNum=0;
IonFreeL1L2WaveHz???????=(L1WaveHZ*L1WaveHZ*L1WaveHZ-L2WaveHZ*L2WaveHZ*L1WaveHZ)/(L1WaveHZ*L1WaveHZ-L2WaveHZ*L2WaveHZ);
????IonFreeL1L2WaveLength???=(SPEED_OF_LIGHT*10e-7/IonFreeL1L2WaveHz);
memset(&m_stSPPResult0x00sizeof(m_stSPPResult));
}
GPSPosition::~GPSPosition()
{
}
bool?GPSPosition::WriteToFile(char*?GPSOBSDate1char*?GPSEphData1char*?GPSOBSDate2char*?GPSEphData2char*?Result)
{
bool?????flags;
int??????i=0j=0;
FILE?????*fpGPSEphData1*fpGPSOBSDate1*fpGPSOBSDate2*fpResult;?
????SPPResult??m_AllSPPResult[30][2];
memset(m_AllSPPResult0x00sizeof(m_AllSPPResult));
if?((fpGPSEphData1=fopen(GPSEphData1“r“))!=NULL)//讀觀測文件1的導(dǎo)航電文
flags??=?ReadGPSEph(fpGPSEphData1m_stGPSNAVMSG);
bool?flags1;
flags1=(fpGPSOBSDate1=fopen(GPSOBSDate1“r“))!=NULL;
????if?((fpGPSOBSDate1=fopen(GPSOBSDate1“r“))!=NULL&&(fpGPSOBSDate2=fopen(GPSOBSDate2“r“))!=NULL)
{
????????flags????=??ReadNavRecHeader(fpGPSOBSDate1m_stGPSOBSREC[0]);
flags????=??ReadNavRecHeader(fpGPSOBSDate2m_stGPSOBSREC[1]);
if?((fpResult=fopen(Result“w+“))!=NULL)
{
do?{
flags?=?ReadNavRec(fpGPSOBSDate1m_stGPSOBS);?//讀觀測文件1
memcpy(&m_stGPSOBSREC[0].m_stGPSOBS&m_stGPSOBSsizeof(m_stGPSOBS));
memset(&m_stGPSOBS0x00sizeof(m_stGPSOBS));
flags?=?ReadNavRec(fpGPSOBSDate2m_stGPSOBS);?//讀觀測文件2
memcpy(&m_stGPSOBSREC[1].m_stGPSOBS&m_stGPSOBSsizeof(m_stGPSOBS));
????????????????memset(&m_stGPSOBS0x00sizeof(m_stGPSOBS));
????????????????????//?獲取兩個測站相同時刻的觀測值
if?(m_stGPSOBSREC[0].m_stGPSOBS.m_GPStime.lSecond>m_stGPSOBSREC[1].m_stGPSOBS.m_GPStime.lSecond)
{
for?(i=0;;i++)
{
memset(&m_stGPSOBS0x00sizeof(m_stGPSOBS));
flags?=?ReadNavRec(fpGPSOBSDate2m_stGPSOBS);
memcpy(&m_stGPSOBSREC[1].m_stGPSOBS&m_stGPSOBSsizeof(m_stGPSOBS));
????if?(m_stGPSOBSREC[0].m_stGPSOBS.m_GPStime.lSecond==m_stGPSOBS.m_GPStime.lSecond)
break;
}
}
else?if?(m_stGPSOBSREC[0].m_stGPSOBS.m_GPStime.lSecond {
for?(i=0;;i++)
{
memset(&m_stGPSOBS0x00sizeof(m_stGPSOBS));
flags?=?ReadNavRec(fpGPSOBSDat
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????文件??????10416??2006-04-16?11:23??RPP\1.05n
?????文件?????230070??2006-04-16?11:23??RPP\1.05o
?????文件???????9806??2006-04-16?11:28??RPP\2.05n
?????文件?????234915??2006-04-16?11:28??RPP\2.05o
?????文件???????9358??2006-11-02?21:48??RPP\A.txt
?????文件????????456??2017-09-25?16:08??RPP\Debug\BscMake.command.1.tlog
?????文件??????????2??2017-09-25?16:08??RPP\Debug\BscMake.read.1.tlog
?????文件????????356??2017-09-25?16:08??RPP\Debug\BscMake.write.1.tlog
?????文件???????2014??2017-09-25?16:08??RPP\Debug\cl.command.1.tlog
?????文件??????????2??2017-09-25?16:08??RPP\Debug\cl.read.1.tlog
?????文件????????504??2017-09-25?16:08??RPP\Debug\cl.write.1.tlog
?????文件??????89379??2017-09-25?16:08??RPP\Debug\GPSPosition.obj
?????文件??????????0??2017-09-25?16:08??RPP\Debug\GPSPosition.sbr
?????文件???????1568??2017-09-25?16:08??RPP\Debug\li
?????文件??????16414??2017-09-25?16:08??RPP\Debug\Matrix.obj
?????文件??????????0??2017-09-25?16:08??RPP\Debug\Matrix.sbr
?????文件????????440??2017-09-25?16:08??RPP\Debug\rc.command.1.tlog
?????文件??????????2??2017-09-25?16:08??RPP\Debug\rc.read.1.tlog
?????文件??????????2??2017-09-25?16:08??RPP\Debug\rc.write.1.tlog
?????文件?????248832??2017-09-25?16:08??RPP\Debug\RPP.bsc
?????文件?????588288??2017-09-25?16:08??RPP\Debug\RPP.exe
?????文件????????406??2017-09-22?14:41??RPP\Debug\RPP.exe.em
?????文件????????472??2017-09-25?16:08??RPP\Debug\RPP.exe.em
?????文件????????381??2017-09-25?16:08??RPP\Debug\RPP.exe.intermediate.manifest
?????文件????1132216??2017-09-25?16:08??RPP\Debug\RPP.ilk
?????文件?????????69??2017-09-25?16:08??RPP\Debug\RPP.lastbuildstate
?????文件??????10846??2017-09-25?16:08??RPP\Debug\RPP.log
?????文件????2526208??2017-09-25?16:08??RPP\Debug\RPP.pdb
?????文件????????202??2017-09-22?14:41??RPP\Debug\RPP_manifest.rc
?????文件??????22932??2017-09-25?16:08??RPP\Debug\T_DIST.obj
............此處省略36個文件信息
評論
共有 條評論