如何将ECU获取到的经纬度作为转换为Google Earth中的坐标点

2 篇文章 0 订阅

在测试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('<?xml version="1.0" encoding="UTF-8"?>' +'\n')
        file.write('<kml xmlns="http://earth.google.com/kml/2.1">' +'\n')
        file.write('<Document>' +'\n')
        for num in range(df.shape[0]):
            file.write('<Style id="iconEcnu">'+'\n')
            file.write('<IconStyle>'+'\n')
            file.write('<heading>2</heading>'+'\n')
            file.write('<Icon>'+'\n')
            file.write('<href>http://maps.google.com/mapfiles/kml/paddle/red-circle.png</href>'+'\n')
            file.write('</Icon>'+'\n')
            file.write('</IconStyle>'+'\n')
            file.write('</Style>'+'\n')
            file.write('<Placemark>' +'\n')
            file.write('<styleUrl>iconEcnu</styleUrl>'+'\n')
            des = "<description>"+str(df.iloc[num,0])+"</description>"
            coordinate = "<Point><coordinates>"+str(df.iloc[num,0])+","+str(df.iloc[num,1])+",0</coordinates></Point>"#此处0代表海拔,如果有海拔,可更改
            file.write(des +'\n')
            file.write(coordinate +'\n')
            file.write('</Placemark>' +'\n')
        file.write('</Document>' +'\n')
        file.write('</kml>' +'\n')
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小趴菜_自动驾驶搬砖人

谢谢大爷赏饭吃

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值