资源简介
东南大学22系导航选修课的C++编程作业参考,包含两个不同的程序版本,可以自己参考。有说明文档和原始数据。
代码片段和文件信息
/* 功能 C++解析GPGGA数据并显示 时间 2017-12-26* by 黄天意*/
#include //文件输入输出流
#include
#include //输入输出流
#include //用于储存临时数据的容器
#include //字符串流,用于转换数据类型
#include //操纵运算子,本例中用于保留转换数据后经纬度的输出精度
using namespace std;
//数据类型转换模板函数
template
Type stringToNum(const string str)
{
istringstream iss(str);
Type num;
iss >> num;
return num; //字符串转数字类型
}
int main()
{
ifstream in(“D:/GPGGA_File/GPGGA+ZDA52.txt“);
ofstream out(“D:/GPGGA_File/GPGGA+ZDA52print.txt“); //文件读取与输出
string filename;
string line;
int i;
for(i=0;i<=51;i++)
{
//读取第一行 GGA格式 $GPGGA022432.003203.44939287N11847.34198256E1190.714.284M0.949M*68
//GGA字段含义 语句IDUTC时间,纬度,N/S,经度,E/W,GPS状态,卫星数量,精度因子,海拔
getline(inline); //读取in文件第一行
vector arr1; //定义一个字符串容器
int position = 0; //行开始位置
do
{
string tmp_s; position = line.find(““); //找到逗号的位置
tmp_s = line.substr(0position); //截取需要的字符串
line.erase(0position+1); //将已读取的数据删去
arr1.push_back(tmp_s); //将字符串压入容器中
} while(position != -1); //读取整行数据
// 读取第二行 ZDA格式 $GPZDA022431.010071120160000*53
// ZDA字段含义 语句ID,UTC时间,日,月,年,时区
position = 0; //重新定位开始第二行,以下同上
getline(inline);
vector arr2;
do
{
string tmp_s;
position = line.find(““);
tmp_s = line.substr(0position);
line.erase(0position+1);
arr2.push_back(tmp_s);
}while(position != -1);
string date1 = arr2[4]+“.“+arr2[3]+“.“+arr2[2];
int d0 = stringToNum(arr1[1]);
int d1=d0/10000+8; //转东八区
string datetime = arr1[1].substr(22)+“:“+arr1[1].substr(42);
out<<“UTC日期:“< out<<“时间:“< long double w0 = stringToNum(arr1[2]);
out< long double j1 = stringToNum(arr1[4]);
out< out<<“定位质量指示:“< out<<“使用卫星数量:“< position = 0;
arr1.clear();
arr2.clear(); //清空容器以便连续读取多组数据
}
cout<<“输出文件成功,文件路径D:\\GPGGA_File\\GPGGA+ZDA52print.txt“< return 0;
}
/* 输入数据
$GPGGA022431.003203.44938748N11847.34197908E1180.814.307M0.949M*67
$GPZDA022431.010071120160000*53
$GPGGA022432.003203.44939287N11847.34198256E1190.714.284M0.949M*68
$GPZDA022432.010071120160000*50
$GPGGA022433.003203.44939714N11847.34198425E1180.814.266M0.949M*66
$GPZDA022433.010071120160000*51
$GPGGA022434.003203.
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 14855 2018-01-11 15:21 GPGGA数据解析程序_修改最终版\GPGGA\gpgga.cpp
文件 899 2018-01-11 15:21 GPGGA数据解析程序_修改最终版\GPGGA\GPGGA.dev
文件 2143440 2018-01-11 15:21 GPGGA数据解析程序_修改最终版\GPGGA\GPGGA.exe
文件 95 2018-01-11 15:21 GPGGA数据解析程序_修改最终版\GPGGA\GPGGA.layout
文件 186651 2018-01-11 15:21 GPGGA数据解析程序_修改最终版\GPGGA\gpgga.o
文件 1204 2018-01-11 15:21 GPGGA数据解析程序_修改最终版\GPGGA\Makefile.win
文件 6292 2018-01-02 14:04 GPGGA数据解析程序_修改最终版\GPGGA_File\GPGGA+ZDA52.txt
文件 5460 2018-01-11 15:18 GPGGA数据解析程序_修改最终版\GPGGA_File\GPGGA+ZDA52print.txt
文件 23345 2018-01-07 22:56 GPGGA数据解析程序_修改最终版\解析GPGGA数据-格式分析与使用说明.docx
目录 0 2018-01-02 15:53 GPGGA数据解析程序_修改最终版\GPGGA
目录 0 2018-01-02 15:54 GPGGA数据解析程序_修改最终版\GPGGA_File
目录 0 2018-03-24 16:08 GPGGA数据解析程序_修改最终版
文件 39216 2018-01-07 23:31 GPGGA数据解析程序_修改最终版\完整版\1.DAT
文件 4372 2018-01-09 14:39 GPGGA数据解析程序_修改最终版\完整版\gps数据读取.cpp
文件 1927767 2018-01-09 14:39 GPGGA数据解析程序_修改最终版\完整版\gps数据读取.exe
文件 1472 2018-01-09 14:04 GPGGA数据解析程序_修改最终版\完整版\Output.txt
目录 0 2018-03-24 16:08 GPGGA数据解析程序_修改最终版\完整版
----------- --------- ---------- ----- ----
4355068 17
评论
共有 条评论