python如何可视化经纬度信息

 更新时间:2024年09月10日 09:15:14   作者:LawenceRay  
在Python中处理经纬度信息,首先通过筛选得到符合条件的停车点,并去除重复数据,利用这些数据点的索引值将原始数据进行分段,并绘制地图,处理重复数据时可以使用set()方法或列表生成式,最后,可以通过DataFrame的join方法合并具有相同索引值的数据

python可视化经纬度信息

判断汽车停下

stoped_state = new_data[(new_data['acc_state']==0)&(new_data['gps_speed']==0)]

得到了5126个符合条件的点。

这样可以用来分析汽车行车过程中经过了哪些点。

然后去除掉这些点里面的重复数据:

stoped_state.drop_duplicates(inplace=True)

然后查看其长度发现问题,需要将首条数据加入:

stop = new_data.loc[[0]].append(stoped_state)

共计有165条记录。

我们想做的事是:根据这些停车点的index值将原始数据分段,然后绘制地图。

将其index组织成一个列表

new = pd.DataFrame(marks.to_list())
news = marks.to_list()

对这些点稍作处理

l = []
for i in range(len(news)-1):
    dif = news[i+1]-news[i]
#     print(dif)
    if dif<900:
        l.append(news[i])

此时,需要去除这些重复的刻度值。

有如下几种方式:

第一种是借助set()方法

import numpy as np
mark1 = list(set(news).difference(set(l)))
np.sort(mark1)

第二种是借助列表生成式

mark2 = [x for x in news if x not in l]

相对而言,列表生成式更为简洁。

之后就可以绘图了:

lat_lng = []
for i in range(len(mark2)-1):
    start = mark2[i]
    end = mark2[i+1]
    range_data = new_data[start:end]
    lng = range_data.iloc[:,3:4]#经度
    lat = range_data.iloc[:,4:5]#维度
    # 绘图的时候要将维度放在前面
    lat_lng = lat.join(lng)
    lat_lng_f = lat_lng.values.tolist()
#     lat_lng_format = [list(map(eval,x)) for x in lat_lng_f]
    locations = lat_lng_f
    m = folium.Map(lat_lng_f[0],zoom_start=10)
    route = folium.PolyLine(
        locations,
        weight=3,
        color='red',
        opacity=0.8
    ).add_to(m)
    filename = 'Heatmap'+str(i)+'.html'                              
    m.save(os.path.join(r'E:\TIANCHI\Tips\explore\2', filename)) 

index值相同的dataframe合并用new = right.join(left)

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • python实现画五角星和螺旋线的示例

    python实现画五角星和螺旋线的示例

    今天小编就为大家分享一篇python实现画五角星和螺旋线的示例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-01-01
  • pygame实现俄罗斯方块游戏(基础篇2)

    pygame实现俄罗斯方块游戏(基础篇2)

    这篇文章主要为大家介绍了pygame实现俄罗斯方块游戏基础的第2篇,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2019-10-10
  • Python实现IP代理批量采集的示例代码

    Python实现IP代理批量采集的示例代码

    这篇文章主要为大家详细介绍了如何利用Python实现IP代理批量采集,并检测代理是否可用。文中的示例代码讲解详细,需要的可以参考一下
    2022-09-09
  • Python批量查找包含多个关键词的PDF文件

    Python批量查找包含多个关键词的PDF文件

    在信息爆炸的时代,数据管理变得愈发重要,本文主要为大家介绍了如何通过Python批量查找包含多个关键词的PDF文件,希望对大家有所帮助
    2024-11-11
  • Python3 操作符重载方法示例

    Python3 操作符重载方法示例

    这篇文章主要介绍了Python3 操作符重载方法示例,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-11-11
  • python数据结构之线性表的顺序存储结构

    python数据结构之线性表的顺序存储结构

    这篇文章主要为大家详细介绍了python数据结构之线性表的顺序存储结构,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2018-09-09
  • 简单了解python的内存管理机制

    简单了解python的内存管理机制

    这篇文章主要介绍了简单了解python的内存管理机制,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2019-07-07
  • Python使用tkinter实现小时钟效果

    Python使用tkinter实现小时钟效果

    这篇文章主要为大家详细介绍了Python使用tkinter实现小时钟效果,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2021-02-02
  • 基于Python实现音乐节奏可视化效果

    基于Python实现音乐节奏可视化效果

    这篇文章主要为大家详细介绍了如何基于Python语言实现音乐节奏可视化效果,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下
    2023-06-06
  • python操作mysql中文显示乱码的解决方法

    python操作mysql中文显示乱码的解决方法

    这篇文章主要介绍了python操作mysql中文显示乱码的解决方法,是Python数据库程序设计中经常会遇到的问题,非常具有实用价值,需要的朋友可以参考下
    2014-10-10

最新评论