gps经纬度坐标 c语言,初学者: gps:GPRMC 经纬度问题
初学者: 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 经纬度问题相关推荐
- 通过经纬度坐标计算距离的方法(经纬度距离计算)
通过经纬度坐标计算距离的方法(经纬度距离计算) 最近在网上搜索"通过经纬度坐标计算距离的方法",发现网上大部分都是如下的代码: #define PI 3.14159265 stat ...
- 给定经纬度计算距离_通过经纬度坐标计算距离的方法(经纬度距离计算)ZZ
通过经纬度坐标计算距离的方法(经纬度距离计算) 最近在网上搜索"通过经纬度坐标计算距离的方法",发现网上大部分都是如下的代码: #define PI 3.14159265 stat ...
- GPS卫星坐标用计算机计算,GPS卫星位置的计算
[摘 要]针对GPS卫星导航电文的特点和里边各种参数含义及用法,阐述了利用导航电文提供的数据计算卫星位置的方法,为进行基线解算时提供准确的卫星坐标数据. 0前言 全球卫星定位系统(GPS)是一个实时的 ...
- ecef转换经纬度坐标 c语言代码,WGS84和ECEF坐标的转换
#include "stdafx.h" #include #define PI 3.141592653 /* 该程序根据GPS.G1-X-00006.pdf文档,实现了WGS8 ...
- ecef转换经纬度坐标 c语言代码,如何计算大地坐标(ECEF)与本地参考(ENU)之间的直接和反向转换...
我正在开发一个地理空间AR应用程序,并且刚刚在Objective-C/iOS(来自Apple的this example code提供了相当多的帮助)中解决了这个问题. 将从lat lon转换为ecef ...
- 【python】经纬度坐标(以度为单位)转换为经纬度(度分秒为单位)
最近在处理数据的过程中,偶然遇到了经纬度转换的问题,如下所示,获取的GPS数据是以度为单位的,但是突然想将其转化为以度分秒为单位的数据,遂写点代码作为记录 参考数据:"D:\Data\lat ...
- mysql 计算gps坐标距离_mysql、sqlserver和php计算GPS经纬度坐标距离
摘要:mysql.sqlserver.oracle和php计算GPS经纬度坐标距离 mysql计算GPS经纬度距离DELIMITER $$ CREATEDEFINER=`root`@`localhos ...
- PHP安卓获取gpgga,科学网—GPS编码格式及C语言解码 - 王红旗的博文
有关磁偏角和地图定位的问题: 地图的方向:上北.下南.左西.右东是大多数地图的方向,但这可不是通用原则,如果地图上有方向标,可以通过方向标了解到这些. 地磁极是接近南极和北极的,但并不和南极.北极重合 ...
- PHP 经纬度坐标相关计算方法
文章目录 1. 前言 2. 计算经纬度坐标间的距离 3. 根据经纬度坐标距离排序 4. 经纬度范围查询 1. 前言 PHP 全栈技术群 想要测试本文提供的几个功能函数,可以使用下面这个数据表结构及其数 ...
最新文章
- 【莓闻】2009年黑莓增长显著 智能手机领域第一
- [vue-cli]不用vue-cli,你自己有搭建过vue的开发环境吗?流程是什么?
- scan8[16+2*4]的内容
- PictureBox
- 移植ubuntu14.04根文件系统至beaglebone开发板探索
- 小白也能读懂的接口测试,接口测试并没有那么难
- centos6.5下编译安装mariadb-10.0.20
- Visio使用遇到的问题
- ANSYS网格划分---单元类型选择及步骤
- java javaw 命令区别_java、javaw和javaws的区别
- 搜索引擎优化有哪些方法?分享SEO搜索引擎优化的12点经验
- mysql 约束 分类,MySQL约束类型及举例介绍
- PDMS批量输出ISO图
- 嵌入式行业技术思维导图
- python3+selenium3+ie9初体验
- 关于图片的像素,dpi与实际尺寸的关系
- win10计算机的管理在哪里打开,Win10磁盘管理器
- fx3g485通讯模块_三菱模块FX3U-485ADP-MB MODBUS通信模块
- HTML注册登录页面模板,左右切换,用户注册、用户登录两种功能。
- 2021保研经验——控制AI(北航AI)
热门文章
- [daily paper 11]2023 03 19 2022 1 Large Models are Parsimonious Learners Activation Sparsity in Trai
- Shell常用命令与工具
- centos系统slurm安装
- 全球及中国多功能激光打印机行业商业模式分析及投资风险预测2022年版
- CentOS 6.x - 知识简谱(不定时继续完善)
- php版本下载,PHP官方下载-PHP下载 v7.4.3官方版--pc6下载站
- iptables开放22、80端口
- LeCun狂赞:600刀GPT-3.5平替! 斯坦福70亿参数「羊驼」爆火,LLaMA杀疯了
- 1106. 解析布尔表达式
- python中的布尔表达式