• 大小: 13.34MB
    文件类型: .rar
    金币: 1
    下载: 0 次
    发布日期: 2023-07-30
  • 语言: C/C++
  • 标签: GPS差分  

资源简介

利用基站和移动站的RINEX文件,差分计算移动站的位置 结果输出到output.txt 附有matlab画出的XYZ和钟差的变化程序

资源截图

代码片段和文件信息

// Code difference.cpp : Defines the entry point for the console application.
//
#include “stdafx.h“
#include 
#include 
#include 
#include 
#include 
#include 
#include 
#include   
using namespace Eigen;  
using namespace std;
const double c=299792458; //light speed
const double GM=3.986005e14;
const double we=7.292115e-5; //地球自转速度
//-------------------------------------------------------------------
typedef vector> Mat;

//民用时转化为GPS时
void gpstime(int yearint monthint dayint hour int minute double second int &week double &secofweek)
{
int ry[12]={312931303130313130313031}fry[12]={312831303130313130313031};
if(year > 80) 
year = 1900 + year;
else 
year = 2000 + year;
int z=0;
for(int i1=1980; i1 < year+1; i1++)
{
if(i1%4 == 0 && i1%400 != 0)
z++;                    //记闰年数
}
if(year%4 == 0 && year%100 != 0)
{
for(int i2 = 0; i2 < month-1; i2++)
day += ry[i2];

}
else
{
for(int i3=0; i3 < month-1; i3++)
day += fry[i3];

}
day += (year-1980)*365 + z - 5;
week = day/7;
secofweek= day%7*24*3600 + hour*3600 + minute*60 + second ;
}

//观测文件类
class ReadObsFile //观测文件类
{
public:
double X0Y0Z0; //估计坐标
int epochNum;
vectorsvNum; //卫星个数
vector >c1p1p2l1l2d1d2;
vector >prn;//卫星的prn号二维向量
int week;
vectorsecofweek;
void ReadObsHeader(string ofile)
{
//用文件流读文件
ifstream in_o(ofile.c_str());
if(in_o)
cout<<“打开O文件成功“< else
cerr<<“未找到O文件“< string str;
//定位到初始坐标
while(str.find(“APPROX POSITION XYZ“) == string::npos)
{
getline(in_ostr);
}
stringstream ss(str); //用字符串流提取出来初始坐标
ss>>X0>>Y0>>Z0; //初始坐标提取

//--------------------------------------------------------------------
//定位到数据头
while(str.find(“END OF HEADER“) == string::npos)
{
getline(in_ostr);
}
//计算历元数
epochNum=0;
while(in_o)
{
getline(in_ostr);
for(int i = 0; (size_t)i < str.length(); i++)
if(str[i] == ‘G‘)
{
epochNum++;
break;
}
}
} //end of function ReadObsHeader

void ReadObsData(string ofile)
{
//定位到文件头
ifstream in_o1(ofile.c_str());
string str;
//定位到数据头
while(str.find(“END OF HEADER“) == string::npos)
{
getline(in_o1str);
}
//用历元数定义向量的列数
c1.resize(epochNum);
p1.resize(epochNum);
p2.resize(epochNum);
l1.resize(epochNum);
l2.resize(epochNum);
d1.resize(epochNum);
d2.resize(epochNum);
prn.resize(epochNum);
svNum.resize(epochNum);
secofweek.resize(epochNum);

vector second(epochNum);
int year = 0month = 0day = 0hour = 0minute = 0mark = 0;
week=0;
char g;

for(int i = 0; i < epochNum; i++) //每个历元
{
//week和secofweek提取
in_o1>>year>>month>>day>>hour>>minute>>second[i]>>mark;
//cout<

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

     文件      15962  2015-06-08 09:56  codeDifference\codeDifference\base.15N

     文件    6219816  2015-06-08 09:56  codeDifference\codeDifference\base.15O

     文件      15254  2015-06-09 16:25  codeDifference\codeDifference\codeDifference.cpp

     文件       4380  2015-06-08 11:18  codeDifference\codeDifference\codeDifference.vcxproj

     文件       1318  2015-06-08 11:18  codeDifference\codeDifference\codeDifference.vcxproj.filters

     文件        143  2015-06-08 11:18  codeDifference\codeDifference\codeDifference.vcxproj.user

     文件       1762  2015-06-09 15:58  codeDifference\codeDifference\Debug\cl.command.1.tlog

     文件      35962  2015-06-09 15:58  codeDifference\codeDifference\Debug\CL.read.1.tlog

     文件       1034  2015-06-09 15:58  codeDifference\codeDifference\Debug\CL.write.1.tlog

     文件        406  2015-06-08 11:19  codeDifference\codeDifference\Debug\codeDifference.exe.embed.manifest

     文件        472  2015-06-08 11:19  codeDifference\codeDifference\Debug\codeDifference.exe.embed.manifest.res

     文件        381  2015-06-09 15:58  codeDifference\codeDifference\Debug\codeDifference.exe.intermediate.manifest

     文件         66  2015-06-09 15:58  codeDifference\codeDifference\Debug\codeDifference.lastbuildstate

     文件       2448  2015-06-09 15:58  codeDifference\codeDifference\Debug\codeDifference.log

     文件    2176058  2015-06-09 15:58  codeDifference\codeDifference\Debug\codeDifference.obj

     文件    1179648  2015-06-08 11:19  codeDifference\codeDifference\Debug\codeDifference.pch

     文件        713  2015-06-08 11:19  codeDifference\codeDifference\Debug\codeDifference.vcxprojResolveAssemblyReference.cache

     文件          0  2015-06-08 11:19  codeDifference\codeDifference\Debug\codeDifference.write.1.tlog

     文件        218  2015-06-08 11:19  codeDifference\codeDifference\Debug\codeDifference_manifest.rc

     文件          2  2015-06-09 15:58  codeDifference\codeDifference\Debug\link-cvtres.read.1.tlog

     文件          2  2015-06-09 15:58  codeDifference\codeDifference\Debug\link-cvtres.write.1.tlog

     文件          2  2015-06-09 15:58  codeDifference\codeDifference\Debug\link.2828-cvtres.read.1.tlog

     文件          2  2015-06-09 15:58  codeDifference\codeDifference\Debug\link.2828-cvtres.write.1.tlog

     文件          2  2015-06-09 15:58  codeDifference\codeDifference\Debug\link.2828.read.1.tlog

     文件          2  2015-06-09 15:58  codeDifference\codeDifference\Debug\link.2828.write.1.tlog

     文件          2  2015-06-09 15:58  codeDifference\codeDifference\Debug\link.3456-cvtres.read.1.tlog

     文件          2  2015-06-09 15:58  codeDifference\codeDifference\Debug\link.3456-cvtres.write.1.tlog

     文件          2  2015-06-09 15:58  codeDifference\codeDifference\Debug\link.3456.read.1.tlog

     文件          2  2015-06-09 15:58  codeDifference\codeDifference\Debug\link.3456.write.1.tlog

     文件          2  2015-06-09 15:58  codeDifference\codeDifference\Debug\link.3960-cvtres.read.1.tlog

............此处省略69个文件信息

评论

共有 条评论

相关资源