GPS数据转换为OneNet需要的数据
2016-09-24 20:46
162 查看
GPS的数据格式是DDMM.MMMMMM
获取到的GPS帧数据比如是:$GNRMC,112317.000,A,3438.1633,N,11224.4992,E,0.19,186.95,240916,,,A*7D说明
经度112°24.4992′
纬度34°38.1633′
OneNet支持的GPS数据经测试是DD.DDDDD,因此需要转换
经度为 112+24.4992/60 = 112.40832纬度为 34+38.1633/60 = 34.636055
上传到GPS的数据流为
{"datastreams":[{"id":"location","datapoints":[{"value":{"lon":112.40832,"lat":34.636055}}]}]}OneNet的GPS坐标是经过百度地图纠偏过的,所以这部分转换交给平台,直接上传上面的数据即可
用Arduino测试下转换计算过程:
char lon_str[] = "11224.4992"; char lat_str[] = "3438.1633"; double longitudeToOnenetFormat() { double lon_temp = 0; long lon_Onenet = 0; int dd_int = 0; long mm_int = 0; double lon_Onenet_double = 0; lon_temp = atof(lon_str); lon_Onenet =lon_temp*100000; //转换为整数 dd_int = lon_Onenet/10000000; //取出dd mm_int = lon_Onenet%10000000; //取出MM部分 lon_Onenet_double = dd_int + (double)mm_int/60/100000;//换算为Onenet格式 return lon_Onenet_double; } double latitudeToOnenetFormat() { double lat_temp = 0; long lat_Onenet = 0; int dd_int = 0; long mm_int = 0; double lat_Onenet_double = 0; lat_temp = atof(lat_str); lat_Onenet =lat_temp*100000; //转换为整数 dd_int = lat_Onenet/10000000; //取出dd mm_int = lat_Onenet%10000000; //取出MM部分 lat_Onenet_double = dd_int + (double)mm_int/60/100000;//换算为Onenet格式 return lat_Onenet_double; } void setup() { // put your setup code here, to run once: Serial.begin(9600); while (!Serial) { ; // wait for serial port to connect. Needed for Leonardo only } Serial.println(longitudeToOnenetFormat(),5); Serial.println(latitudeToOnenetFormat(),5); } void loop(){ }
串口计算后输出内容
用到double类型,略微有偏差,这个偏差经过计算大概在地图上能差别1米内112.40832 34.63605
相关文章推荐
- socket通讯中需要用到的一些数据类型转换的方法
- JdbcTemplate 从数据库中获取数值型数据需要转换
- 将自己的图像数据转换成caffe需要的db(leveldb/lmdb)文件
- 深度学习_caffe_图像数据转换成caffe需要的db(leveldb/lmdb)文件
- JsRender 把数据转换成所需要的格式
- 关于MapGIS 格式的GIS 数据需要被转换成可供发布的ArcGIS 数据格式
- stirng与json进行数据格式转换的时候需要的jar包
- 向数据库中插入一个DateTime类型的数据到一个Date类型的字段中,需要转换类型。TO_DATE('{0}','YYYY-MM-DD'))
- socket通讯中需要用到的一些数据类型转换的方法
- 两个框架之间的数据类型转换,需要桥接技术
- 在ENVI进行的土地利用分类数据,需要做景观指数分析,如何将其转换成GRID格式呀
- iOS 一个在UDP/TCP通信时,对16进制、10进制、NSData等数据之间的转换发送等处理的工具类库,一行代码将16进制字符串轻松转换成UDP需要的指令数据
- 网络请求及数据解析(注意事项:带中文的需要转换) +从网络获取图片
- 字节序--为什么端口号和地址需要字节序转换而数据不需要
- socket通讯中需要用到的一些数据类型转换的方法 .
- #pragma mark data转换成String nsstring 与 nsstring不同格式之间的转换 date(需要转换的数据NSStringOrNSDate均可) type(原来的格式
- easyui-datagrid关于展示的字段需要进行数据类型转换的问题(自己记录备忘)
- 深度学习文章3:将自己的图像数据转换成caffe需要的db(leveldb/lmdb)文件
- 需要进行数据类型转换的常用语句
- 将list集合的数据转换为json字符串需要注意的问题