数据
在某些建模比赛中,经常碰见一些地理信息的数据,它们大多都是车辆在驾驶过程中随时间产生的经纬度序列,并伴随着车辆的各种参数。由于GPS信号并不是一直都很好(如过隧道或偏远地区),无论建模的问题是安全驾驶、驾驶工况或频繁路径挖掘等,都绕不过数据预处理,而地理信息可视化可以较为直观地帮助发现问题和评估效果。
下面以一辆车地行驶数据为例,对其行驶轨迹进行可视化处理。数据和代码下载可见我的Github。数据表头如下表所示:
序号 | 指标名称 | 指标说明 | 说明 |
---|---|---|---|
1 | vehicleplatenumber | 车牌号码 | |
2 | device_num | 设备号 | |
3 | direction_angle | 方向角 | 范围:0-359(从定位点的正北方向起,顺时针方向至行驶方向间的水平夹角) |
4 | lng | 经度 | 东经 |
5 | lat | 纬度 | 北纬 |
6 | acc_state | ACC 状态 | 点火 1/熄火 0 |
7 | right_turn_signals | 右转向灯 | 灭 0/开 1 |
8 | left_turn_signals | 左转向灯 | 灭 0/开 1 |
9 | hand_brake | 手刹 | 灭 0/开 1 |
10 | foot_brake | 脚刹 | 无 0/有 1 |
11 | location_time | 采集时间 | |
12 | gps_speed | GPS 速度 | 单位:km/h |
13 | mileage | GPS 里程 | 单位:km |
可视化方法——Basemap
本文共总结两种地理信息可视化,第一篇介绍Basemap的可视化方法,个人认为当前的Basemap手册上手不是很快,具体应用的时候还是要啥搜啥,感兴趣的可以先看下这位仁兄的Basemap手册翻译版本。
很多注释在代码里都写了,这里就不赘述了,就说明一下,由于是国内的数据,所以为了将省的轮廓显示出来,需要下载CHN_adm_shp包,同样在Github里也有。
# -*- coding: utf-8 -*-
import numpy as np
import matplotlib
import matplotlib.pyplot as plt
from mpl_toolkits.basemap import Basemap
import pandas as pd
#-----底图绘制
matplotlib.rcParams