数据
在某些建模比赛中,经常碰见一些地理信息的数据,它们大多都是车辆在驾驶过程中随时间产生的经纬度序列,并伴随着车辆的各种参数。由于GPS信号并不是一直都很好(如过隧道或偏远地区),无论建模的问题是安全驾驶、驾驶工况或频繁路径挖掘等,都绕不过数据预处理,而地理信息可视化可以较为直观地帮助发现问题和评估效果。
本篇为可视化第二篇,关于所用的数据集见姊妹篇 python 基于Basemap地理信息可视化。
可视化方法——Folium
使用Folium较之Basemap十分精简,关于Folium的介绍,可以看这里,下面直接贴代码。
# -*- coding: utf-8 -*-
import pandas as pd
import folium
m = folium.Map([28.68,115.89], zoom_start=8) #中心区域的确定
posi = pd.read_csv('driving_data.csv',header = 0)
num = len(posi)
lng = posi["lng"].values # 获取经度值
lat = posi["lat"].values # 获取纬度值
location = [[lat[i],lng[i]] for i in range(len(lat))]
route = folium.PolyLine( #polyline方法为将坐标用线段形式连接起来
location, #将坐标点连接起来
#weight=1000, #线的粗细
color='purple', #线的颜色
#opacity=0.8 #线的透明度
).add_to(m) #将这条线添加到刚才的区域m内
m.save("driving_data.html") #将结果以HTML形式保存
效果
Folium具有更细节的信息展示,因此,它的加载也十分缓慢,打开保存的HTML文件,请耐心等待,同时可以任意伸缩尺寸以满足不同需求的展示。
通过Folium的可视化,可以更清晰地看出数据的异常,偏移都偏到鄱阳湖里去了。下面展示局部更细节的可视化结果。
局部位置最大倍缩放的可视化结果。
可以看出,Folium使用简单,功能强大,这在建模争分夺秒的时候是非常有帮助的!