初学者: gps:GPRMC 经纬度问题

int gps_parse_line(struct gps_t *gps, char *buffer, int size)

{

float lon, lat;

char gps_status;

char n=0,m=0,f=0;

if((buffer[1] == 'G')

&&(buffer[2] == 'P')

&&(buffer[3] == 'R')

&&(buffer[4] == 'M')

&&(buffer[5] == 'C'))//GPRMC

{

for(n=0;n<100;n++)

{

if(buffer[n] == ',')

{

m ++;

if(m == 2)

{

gps_status = buffer[n+1];

}

if(m == 3)

{

if(gps_status == 'A')

{

lat =((float)(buffer[n+1])

+(float)(buffer[n+2])

+(float)(buffer[n+3])

+(float)(buffer[n+4])

+(float)(buffer[n+6])

+(float)(buffer[n+7])

+(float)(buffer[n+8])

+(float)(buffer[n+9]));

}

}

if(m == 4)

{

"N";

}

if(m == 5)

{

lon =((float)(buffer[n+1])

+(float)(buffer[n+2])

+(float)(buffer[n+3])

+(float)(buffer[n+4])

+(float)(buffer[n+5])

+(float)(buffer[n+7])

+(float)(buffer[n+8])

+(float)(buffer[n+9])

+(float)(buffer[n+10]));

}

if(m == 6)

{

"E";

}

}

}

}

gps->lat=lat;

gps->lon=lon;

return 0;

}

int gps_get(struct gps_t *gps, float *lon, float *lat)

{

*lon=gps->lon;

*lat=gps->lat;

return 0;

}

main:

int main(int argc, char *argv[])

{

float lon, lat;

struct gps_t gps;

char *buffer = "$GPRMC,013946.00,A,3202.1855,N,11849.0769,E,0.05,218.30,111105,4.5,W,A*20";

gps_parse_line(&gps, buffer, strlen(buffer));

gps_get(&gps, &lon, &lat);

printf("lon: %f, lat: %f\n", lon, lat);

getchar();

为什么:      纬度:lat 开始值3202.1855     到 gps->lat=lat;

经度:lon开始值 11849.0769    到 gps->lon=lon;

lat值变为410.000000;

lon值变为477.000000;

debug时  gps->lat显示         : gps->lat    -1.0737418e+008    float

[本帖最后由 Rick_gu 于 2014-5-29 15:40 编辑]

搜索更多相关主题的帖子:

经纬度

gps经纬度坐标 c语言,初学者: gps:GPRMC 经纬度问题相关推荐

  1. 通过经纬度坐标计算距离的方法(经纬度距离计算)

    通过经纬度坐标计算距离的方法(经纬度距离计算) 最近在网上搜索"通过经纬度坐标计算距离的方法",发现网上大部分都是如下的代码: #define PI 3.14159265 stat ...

  2. 给定经纬度计算距离_通过经纬度坐标计算距离的方法(经纬度距离计算)ZZ

    通过经纬度坐标计算距离的方法(经纬度距离计算) 最近在网上搜索"通过经纬度坐标计算距离的方法",发现网上大部分都是如下的代码: #define PI 3.14159265 stat ...

  3. GPS卫星坐标用计算机计算,GPS卫星位置的计算

    [摘 要]针对GPS卫星导航电文的特点和里边各种参数含义及用法,阐述了利用导航电文提供的数据计算卫星位置的方法,为进行基线解算时提供准确的卫星坐标数据. 0前言 全球卫星定位系统(GPS)是一个实时的 ...

  4. ecef转换经纬度坐标 c语言代码,WGS84和ECEF坐标的转换

    #include "stdafx.h" #include #define  PI  3.141592653 /* 该程序根据GPS.G1-X-00006.pdf文档,实现了WGS8 ...

  5. ecef转换经纬度坐标 c语言代码,如何计算大地坐标(ECEF)与本地参考(ENU)之间的直接和反向转换...

    我正在开发一个地理空间AR应用程序,并且刚刚在Objective-C/iOS(来自Apple的this example code提供了相当多的帮助)中解决了这个问题. 将从lat lon转换为ecef ...

  6. 【python】经纬度坐标(以度为单位)转换为经纬度(度分秒为单位)

    最近在处理数据的过程中,偶然遇到了经纬度转换的问题,如下所示,获取的GPS数据是以度为单位的,但是突然想将其转化为以度分秒为单位的数据,遂写点代码作为记录 参考数据:"D:\Data\lat ...

  7. mysql 计算gps坐标距离_mysql、sqlserver和php计算GPS经纬度坐标距离

    摘要:mysql.sqlserver.oracle和php计算GPS经纬度坐标距离 mysql计算GPS经纬度距离DELIMITER $$ CREATEDEFINER=`root`@`localhos ...

  8. PHP安卓获取gpgga,科学网—GPS编码格式及C语言解码 - 王红旗的博文

    有关磁偏角和地图定位的问题: 地图的方向:上北.下南.左西.右东是大多数地图的方向,但这可不是通用原则,如果地图上有方向标,可以通过方向标了解到这些. 地磁极是接近南极和北极的,但并不和南极.北极重合 ...

  9. PHP 经纬度坐标相关计算方法

    文章目录 1. 前言 2. 计算经纬度坐标间的距离 3. 根据经纬度坐标距离排序 4. 经纬度范围查询 1. 前言 PHP 全栈技术群 想要测试本文提供的几个功能函数,可以使用下面这个数据表结构及其数 ...

最新文章

  1. 【莓闻】2009年黑莓增长显著 智能手机领域第一
  2. [vue-cli]不用vue-cli,你自己有搭建过vue的开发环境吗?流程是什么?
  3. scan8[16+2*4]的内容
  4. PictureBox
  5. 移植ubuntu14.04根文件系统至beaglebone开发板探索
  6. 小白也能读懂的接口测试,接口测试并没有那么难
  7. centos6.5下编译安装mariadb-10.0.20
  8. Visio使用遇到的问题
  9. ANSYS网格划分---单元类型选择及步骤
  10. java javaw 命令区别_java、javaw和javaws的区别
  11. 搜索引擎优化有哪些方法?分享SEO搜索引擎优化的12点经验
  12. mysql 约束 分类,MySQL约束类型及举例介绍
  13. PDMS批量输出ISO图
  14. 嵌入式行业技术思维导图
  15. python3+selenium3+ie9初体验
  16. 关于图片的像素,dpi与实际尺寸的关系
  17. win10计算机的管理在哪里打开,Win10磁盘管理器
  18. fx3g485通讯模块_三菱模块FX3U-485ADP-MB MODBUS通信模块
  19. HTML注册登录页面模板,左右切换,用户注册、用户登录两种功能。
  20. 2021保研经验——控制AI(北航AI)

热门文章

  1. [daily paper 11]2023 03 19 2022 1 Large Models are Parsimonious Learners Activation Sparsity in Trai
  2. Shell常用命令与工具
  3. centos系统slurm安装
  4. 全球及中国多功能激光打印机行业商业模式分析及投资风险预测2022年版
  5. CentOS 6.x - 知识简谱(不定时继续完善)
  6. php版本下载,PHP官方下载-PHP下载 v7.4.3官方版--pc6下载站
  7. iptables开放22、80端口
  8. LeCun狂赞:600刀GPT-3.5平替! 斯坦福70亿参数「羊驼」爆火,LLaMA杀疯了
  9. 1106. 解析布尔表达式
  10. python中的布尔表达式