《Python地理空间分析指南 第2版》学习笔记-5.9使用GPS数据

目前最流行的GPS数据类型是Garmin GPX,并且已经是业内事实上的标准,它是一种XML文件,遵循格式优良的XML文档规范。

另外还有一种早于XML和GPX的GPS数据格式,叫美国国家海洋电子协会标准(National Marine Electronics Association,NMEA),由ASCII文本流构成的。你会时不时地碰到这种数据,即使它们非常古老并且专业性很强,在某些领域仍然有顽强的生命力,特别是在全球船舶定位自动识别系统船舶位置通信方面的应用。

使用Python中pynmea库可以处理该类数据,通过PyPI官方网站获取。

接下来看看一个简短的NMEA文件示例:
在这里插入图片描述

本示例将解析NMEA文本到流对象中,NMEA文本包含一些天气信息,相关代码如下:

from pynmea.streamer import NMEAStream

nmeaFile = open("nmea.txt")
nmea_stream = NMEAStream(nmeaFile)
print(nmea_stream)
next_data = nmea_stream.get_objects()
nmea_objects = []

while next_data:
    nmea_objects += next_data
    next_data = nmea_stream.get_objects()

#解析NMEA流
#遍历Python对象类型输出

for nmea_ob in  nmea_objects:
    if hasattr(nmea_ob, "lat"):
        # print(nmea_ob)
        print("Lat/Lon: ({}, {})".format(nmea_ob.lat, nmea_ob.lon))

结果:

Lat/Lon: (1856.599, 15145.602)
Lat/Lon: (1856.599, 15145.602)
Lat/Lon: (6337.596, 12330.817)


总结

注意: 经纬度是以小数形式的十进制度数存储的

《Python地理空间分析指南 第2版》学习笔记,仅供学习,如有侵权请联系删除。

猜你喜欢

转载自blog.csdn.net/qq_32390983/article/details/124547293