在测试GPS信号的过程中,我们可以通过NMEA_0183协议获取到当前测试件的经纬度坐标,但是如果需要测试所得到经纬度的精准度的话,我们需要通过将经纬度转换为地图中的坐标点,本文以Google Earth作为代表进行阐述。
首先需要获取到你测试过程中所读取到的经纬度坐标。如果最开始获取到的GPS信号是NMEA 0183协议格式下的信号,可通过Python进行切片处理,到经纬度信号处理得到。下图所展示的是经过处理之后的经纬度数据。
此时,使用Python脚本对导出来的GPS信号的经纬度信号进行处理,生成.kml格式文件,最后导入到Google 地球上面,运行之后就可以自然而然的看到最后的路线图。
具体的脚本如下:
def csvtokml(filename,savepath,cavfilepath):
df = pd.read_csv(cavfilepath, header=None, usecols=[0, 1], sep = ',', encoding = 'gbk') # 读经纬度,标记
fullname = filename+'.kml'
with open(os.path.join(savepath,fullname), 'a') as file:
file.write('' +'\n')
file.write('' +'\n')
file.write('' +'\n')
for num in range(df.shape[0]):
file.write(''+'\n')
file.write('' +'\n')
file.write('iconEcnu '+'\n')
des = ""+str(df.iloc[num,0])+" "
coordinate = ""+str(df.iloc[num,0])+","+str(df.iloc[num,1])+",0 "#此处0代表海拔,如果有海拔,可更改
file.write(des +'\n')
file.write(coordinate +'\n')
file.write(' ' +'\n')
file.write(' ' +'\n')
file.write(' ' +'\n')