Google Earth导入GPS设备NMEA文本数据
Google Earth导入GPS设备NMEA文本数据
一、提取GPS数据生成TXT文本文件
1 GPS设备NMEA文本数据
#gps.txt
$GNGGA,032006.00,2930.35909,N,10634.37156,E,2,12,0.82,252.8,M,-26.5,M,,0000*66
$GNRMC,032007.00,A,2930.35909,N,10634.37156,E,0.000,250.87,190320,2.57,W,D*33
$GNGGA,032007.00,2930.35909,N,10634.37156,E,2,12,0.79,252.8,M,-26.5,M,,0000*63
$GNRMC,032008.00,A,2930.35910,N,10634.37156,E,0.016,250.86,190320,2.57,W,D*32
$GNGGA,032008.00,2930.35910,N,10634.37156,E,2,12,0.82,252.7,M,-26.5,M,,0000*6F
$GNRMC,032009.00,A,2930.35908,N,10634.37150,E,0.450,250.86,190320,2.57,W,D*3A
$GNGGA,032009.00,2930.35908,N,10634.37150,E,2,12,0.86,252.7,M,-26.5,M,,0000*65
$GNRMC,032010.00,A,2930.35904,N,10634.37132,E,0.809,250.76,190320,2.57,W,D*35
$GNGGA,032010.00,2930.35904,N,10634.37132,E,2,12,0.76,252.7,M,-26.5,M,,0000*6A
$GNRMC,032011.00,A,2930.35896,N,10634.37105,E,1.057,250.29,190320,2.57,W,D*32
2 GNGGA数据提取程序
程序运行环境:Python3.6
2.1 算法程序
#!/usr/bin/env python
# -*- coding: utf-8 -*-
import reclass GetGPS:def __init__(self, srcfile,dstfile):self.srcfile=srcfile;self.dstfile=dstfile;def run(self):print("GetGPS"+self.srcfile)print("run..."+'\n')print("SRC: "+self.srcfile+"\n")print("DST: " + self.dstfile + "\n")dstfd = open(self.dstfile, 'wt', encoding='UTF-8')if dstfd == None:return ;with open(self.srcfile, 'rt', encoding='UTF-8') as fd:for line in fd:line = line.strip('\n')#print(line);mtype=re.findall(r"\$(.+?),",line,re.M)#print(mtype[0])if len(mtype) == 0 :continueif mtype[0]!="GNGGA":continue# print(line)#print(re.findall(r"[^ ]* [^,]*,[^,]*,(.+?),",line,re.M))reg = re.compile(r'(?P<mtype>.+?),(?P<time_str>.+?),(?P<latitude_str>.+?),(?P<lathem_str>.+?),(?P<longtitude_str>.+?),(?P<longthem_str>.+?),[^,]*,[^,]*,[^,]*,(?P<altitude_str>.+?),(?P<altunit_str>.+?),')regMatch = reg.match(line)if regMatch == None :print(line)print("ERROR : regMatch == None")continuelinebits = regMatch.groupdict()#for k, v in linebits.items():# print(k + ": " + v)latitude=self.str2latitude(linebits["latitude_str"])longtitude=self.str2longtitude(linebits["longtitude_str"])strtmp=linebits["time_str"]+','+str(latitude)+','+linebits["lathem_str"]+','+str(longtitude)+','+linebits["longthem_str"]\+','+linebits["altitude_str"]+','+linebits["altunit_str"]print(strtmp)dstfd.write(strtmp+'\n')fd.close();dstfd.close();def str2latitude(self,latitude_str):#print(latitude_str)degree=latitude_str[0:2]minute=latitude_str[2:]#print(degree+" "+minute)latitude=round(float(degree) + (float(minute) / 60),6)# print(latitude)return latitudedef str2longtitude(self,longtitude_str):# print(longtitude_str)degree = longtitude_str[0:3]minute = longtitude_str[3:]# print(degree+" "+minute)longtitude = round(float(degree) + (float(minute) / 60),6)# print(longtitude)return longtitude
2.2 调用方法
if __name__ == '__main__':srcfile=r"d://gps.txt"dstfile=r"d://gps_out.txt"mobj=GetGPS(srcfile,dstfile);mobj.run();
2.3 提取GNGGA生成gps_out.txt文件
#gps_out.txt 数据格式为:世界时间,纬度,纬度半球,经度,经度半球,大地水准面高度异常差值,高度单位
032006.00,29.505985,N,106.572859,E,252.8,M
032007.00,29.505985,N,106.572859,E,252.8,M
032008.00,29.505985,N,106.572859,E,252.7,M
032009.00,29.505985,N,106.572858,E,252.7,M
032010.00,29.505984,N,106.572855,E,252.7,M
二、 Google Earth导入TXT文本文件
1 启动Google Earth
2 打开gps_out.txt
【文件】--> 【打开】-->选择gps_out.txt
3 数据导入向导配置
3.1 指定分隔符
【已限定】-->【逗号】-->【下一步】
3.2 选择维度/经度字段
【维度字段】选择第二项
【经度字段】选择第四项
注意:字段要与gps_out.txt数据格式相对应
3.3 指定字段类型
可采用默认选项
4 显示GPS数据
4.1 配置Google Earth软件的位置
在Google Earth软件的左侧位置管理窗口中选择临时位置里刚加入的gps_out.txt
4.2 应用样式模板
可选择【否】
4.3 gps数据的展示效果
Google Earth导入GPS设备NMEA文本数据相关推荐
- Google Earth导入经纬高(txt文件)
目录 一.提取GNSS数据生成txt文本文件 二.Google Earth导入txt文件 1.启动Google Earth 2.打开vig_result.txt
- Google earth导入矢量并显示属性
打开Google earth,文件→导入,选择自己文件的后缀名对文件进行选择. 右键属性→样式/颜色→共享样式,更改线宽.面积透明度. 显示矢量的名称 首先在arcgis里使用 数据管理工具 里&qu ...
- c 将txt导入oracle,如何把文本数据导入Oracle中?
1.首先,服务器端的侦听服务必须已经开启. 测试方法:Dos 下输入 C:\>sqlplus username/password@serviceName 2.然后使用 Oracle 的 sqll ...
- Google Earth Engine(GEE)——导出数据到Google硬盘和云端存储!和最大像素限制导出
导出数据 您可以从 Earth Engine 导出图像.地图图块.表格和视频.导出可以发送到您的 Google Drive 帐户,到Google Cloud Storage或新的 Earth Engi ...
- Google earth engine 下载哨兵二号数据
文章目录 上传ROI 加载ROI 运行任务 导入到谷歌云盘 上传ROI 加载ROI var district = ee.FeatureCollection("users/hammesbrid ...
- Google Earth Engine(GEE)——sentinel2数据介绍
之前有粉丝在公众号问我,对于sentinel2是否需要进行去云的问题,这里就简单写一下关于这个数据的问题: 现在回答是因为所有光学影像都是需要去云的,因为遇到没有云的影像概率太小了,况且数据预处理阶段 ...
- Google Earth Engine(GEE)——MODIS数据利用地形提取水体面积(以青海省为例)
全球水掩膜使用SWBD(SRTM水体数据)与MODIS 250米数据相结合,创建一个完整的250米空间分辨率的全球地表水地图,大约在2000-2002年.该数据集用于处理栅格数据和在最终的栅格数据产品 ...
- Google Earth Engine ——利用公开的河流数据计算河流的有效宽度
本次教程该代码使用两个公开可用的数据集(GSW 和 HydroLakes_polygons)和作为可共享资产上传的更新河网(Updated_river_network).目的是使用 GSW 数据集估计 ...
- [进阶]往Google Earth里导入现有数据
转自:http://www.godeyes.cn/html/2008/08/23/google_earth_56.html 用 Google Earth 的导入功能可以将用户自定义的地理数据导入到 G ...
- Google earth engine (GEE)如何规避数据无法运行无法导出问题
使用Google earth engine(GEE)处理数据,经常会遇到数据无法导出,无法运行的情况,最近我也遇到了类似的情况,如下图.我最近遇到的这个问题,研究区是青藏高原,面积不算太大,但是在运行 ...
最新文章
- python模块之HTMLParser之穆雪峰的案例(理解其用法原理)
- zigbee的路由器能分配网络地址吗_真核细胞无丝分裂能将核DNA精准的平均分配到两个子细胞中吗?...
- C和指针之函数之在数组中找特定元素并返回指向该位置的指针
- Java笔记-jpa中数据存储及更新应该注意的问题
- anconda设置镜像源_三、DockerFile 定制属于自己的专属镜像
- DevExpress DXperience 的ASPxFilterControl 不显示 Like 菜单的方法
- kali创建文件_kali 创建快捷方式的方法
- 虚拟机上的linux里安装ngnix,虚拟机(linux)下安装nginx的步骤教程
- springmvc框架使用拦截器实现301永久重定向,其实用过滤器应该是更好
- Java智能教育平台源码基于 SpringBoot + Mybatis + Shiro + mysql + redis构建,前后端分离。
- 3. Vue入门实战教程之vue-element-admin初体验
- Unity中解析Excel表格工具
- 酒店管理系统 java_java酒店管理系统项目书.pdf
- Tungsten Fabric解决方案指南-Kubernetes集成
- c++中引用、指针、值的区别与用途详解
- 图像模式识别 (五)
- APP服务器被恶意攻击怎么办?
- [zz]美团点评智能支付核心交易系统的可用性实践
- 计算机英语领域有哪些构词法,计算机专业英语的构词方法(共2969字).doc
- 构建MFS+Keepalived双机高可用热备方案`
热门文章
- matlab图例显示均值方差,MATLAB中均值、方差、均方差的计算方法
- 计算机视觉——SIFT图像匹配算法
- Home Assistant 自动化
- homeassistant搭建_智能家居 篇二:Home Assistant简易智能家居环境搭建
- Home Assistant启动失败,页面报404
- enum ordinal java_Spring 3.x自动将枚举的ordinal值转换为枚举类型
- 量产光伏离网并网逆变器设计资料(TMS320F28335) 这个是单项的 本装置DC-DC采用Boost升压,DCAC采用单相全桥逆变电路结构
- 算法是如何体现价值的
- Java实现支付功能(支付宝)
- 浅谈IO_Link模块与现场总线模块