将ros中的gps_msg数据导入google earth显示轨迹
2018-01-15 09:44
435 查看
1. 获取GPS数据
将ros中发布的gps topic输出到文本中rostopic echo -p /gpsData>gpsData
得到如下格式的数据
数据格式转换
因为google earth支持的kml文件中需要导入longitude,latitude,altitude 格式的数据,所以需要对生成的数据文件进行处理,这里我使用python和正则表达式写了个小程序实现数据格式的转换
import re f_in = open(r'/home/nico/gpsData') f_out = open(r'/home/nico/gps_kml','w') a=f_in.readlines() for line in a[1:]: m=re.match(r'^(\w*\,){6}([\d\-]*\.\d*)\,([\d\-]*\.\d*)\,([\d\-]*\.\d*)(\,\d*\.\d*){9}(\,\d*)$',line) lon=m.group(3) lat=m.group(2) alt=m.group(4) gpsData = lon+','+lat+','+alt+' ' f_out.write(gpsData) f_in.close() f_out.close()
输出的gps_kml文件即为转换后的结果
2. 将GPS数据导入kml模板显示轨迹点
因为要在google earth中显示轨迹,需要导入kml文件,链接中包含相关语法教程这里使用一个比较简便的方法,从google earth 中生成一个kml模板,把其中的gps数据替换成我们自己的数据即可,具体步骤如下:在Temporary Places单击右键add一个Folder
此处命名为sia
在sia处单击右键选择add->path
这里可以自行设置轨迹的线宽颜色等,然后在google earth 上按住鼠标左键拖动绘制你想要显示的轨迹,完成后点击ok
保存
sia文件夹处单击右键选择save place as...则可以在目标文件夹看到生成的kml文件
替换gps数据
找到kml文件中的coordinate处,将其中的gps数据替换成自己的gps数据即可以看到轨迹
注意替换成自己数据时保证数据格式为lon,lat,alt lon,lat,alt lon,lat,alt lon,lat,alt ...这样的格式,即经纬高之间用‘,’隔开,不可包含空格等符号,否则显示错误轨迹,gps点与点的三个坐标之间使用空格或换行符均可。
3. 轨迹显示
点击File->open->选择替换成自己数据后的kml文件这是导入一组实验数据后生成的轨迹,符合实测情况
相关文章推荐
- execle导入后 数据 无刷新 显示在 输入页面
- [进阶]往Google Earth里导入现有数据
- 在google earth 显示实时轨迹
- winform中 将DataGrid中的数据导入Excel中,并显示Excel应用程序
- 基于R+Oracle的海洋浮标数据显示系统(二)——网络爬虫程序和自动导入
- 数据导入到excel 并显示在页面
- 3.IDA-数据显示窗口(导出窗口、导入窗口、String窗口、...窗口)
- mysql生产环境导入数据后显示的编码不对 --default-character-set=utf8
- 在ASP.NET中将Excel文件中数据导入数据库并显示进度条
- Google Earth 规划路径导入GPS
- 利用SRTM数据,在Google Earth上显示等高线(需要大量工作)
- 3.IDA-数据显示窗口(导出窗口、导入窗口、String窗口、...窗口)
- C# 使用SqlBulkCopy,批量导入数据,并显示导入进度
- GPS数据解析 数据拆分 坐标转换 显示线路图源代码
- plsql使用Text Importer导入csv数据时不显示导入的个数出现假死的解决办法
- 导入excel 文件解析,一行数据,有一列分两行显示,解析时如何 合为一行?
- [导入]GridView模版列嵌套GirdView显示主从表数据
- Oracle Spatial 12C GeoRaster导入影像栅格数据并显示
- FH_1Excel报表导入,显示在JSP页面.人为判断后,不正确的数据生成PDF文档
- 使用 sqlyog 导入导出数据显示 lost connection to mysql server during query