交通时空大数据:车辆轨迹数据分析、挖掘与可视化(Python代码)

科技   2024-08-26 08:17   北京  

大家好,我是东哥。

推荐一本关于交通时空方向的新书《交通时空大数据详解:车辆轨迹数据分析、挖掘与可视化(Python版)》,该书对于车辆轨迹的数据分析和挖掘介绍的非常详细,各种可视化的案例拿来可直接复用。

☝购书链接

车辆轨迹数据的可视化图表绘制通常需要复杂的代码编写,并且仅能展示静态图片,无法实现交互操作。如果可以将轨迹以动态、交互式的方式可视化,将有助于更直观地观察轨迹数据的特性,也能更容易地发现数据中难以察觉的问题。

本文将推荐几款强大的在线轨迹数据可视化工具,这些工具免费且用户界面友好,点点鼠标即可完成数据的可视化。
这些工具多基于WebGIS技术开发,在网页上即可打开工具使用。WebGIS是基于Web技术的地理信息系统(GIS),无需下载和安装专门的GIS软件,就可以通过Web浏览器访问基于地理信息的可视化系统。WebGIS的出现极大地降低了GIS技术的使用门槛,使得数据可视化技术更加灵活。

01

KeplerGL数据分布可视化


KeplerGL是一个开源的WebGIS可视化工具,由Uber公司开发和维护,它可以帮助用户快速创建、分享和嵌入高度交互式的地图和三维可视化效果。该工具的访问链接是:https://kepler.gl/
KeplerGL采用JavaScript中React框架、Deckgl和Mapbox GL库作为核心技术,并在这些技术的基础上形成了可视化的交互式界面,使得用户可以通过简单的操作就能够创建出地理可视化图表,KeplerGL的可视化界面如图 1所示。
图 1 keplergl界面

用KeplerGL进行格式化通常包括以下的步骤:
1.导入数据:
KeplerGL支持多种数据格式的导入,包括CSV、GeoJSON等,在导入数据后,界面中会显示已导入的数据信息,如数据的行列数、数据的类型等,也可以点开数据表进行具体内容的查看。
2. 创建可视化图层并选择可视化类型:
在一些情况下,如果Kepler能够自动识别出数据中的一些关键字段,如经纬度等信息,就会自动地生成一些可视化图层,可以按需选择是否展示。如果没有自动识别出关键字段,则需要手动创建可视化图层并选择可视化类型。KeplerGL中提供了:点图(Point)、三维曲线(Arc)、直线(Line)、方形栅格(Grid)、六边形栅格(Hexbin)、热力图(Heatmap)、聚类图(Cluster)、多边形(Polygon)等等多种可视化类型,可以根据自己的需求选择。在选择可视化类型后,需要设定数据经纬度所在的列名,以便KeplerGL能够正确识别地理信息。需要注意的是,KeplerGL中通常是先选择纬度(lat),后选择经度(lon),这与国内平时的使用习惯相反。
3.图层配置:
在选择可视化类型后,还可以对可视化图层进行一些配置,如设置图层的颜色、大小、透明度等。在图形的填充色和轮廓色中,可以选择预设的颜色,也可以自定义颜色映射的字段。在可视化大规模数据时,可以先将数据进行聚合集计,将统计的数据量以字段形式存储,然后在可视化的步骤中将数据量映射到颜色上。
4.数据筛选:
在用KeplerGL展示轨迹数据时,可以充分利用数据筛选功能来动态展示数据在时空上的变化情况。首先需要切换到数据筛选标签页,并在过滤器中选取时间字段,如图 2所示。KeplerGL会自动识别时间字段的格式,并在下方展示出时间轴柱状图,默认展示了数据在观测时间段内的分布直方图。可以通过拖动时间轴中的时间区间来筛选展示数据,也可以点击播放按钮让数据动态地进行展示。
图 2 keplergl数据筛选
车辆轨迹数据可以在KeplerGL中以点的形式进行可视化,使用时间筛选动态展示后,也能够清晰地观察轨迹点在时空分布上的变化情况。
图 3 keplergl可视化

02

Mobmap动态轨迹可视化

前面介绍的KeplerGL在观察数据整体的时空分布方面提供了非常方便快捷的方法。不过,这种可视化仅仅是将轨迹点离散地展示在地图上,很难通过这种方式观察到每一辆车轨迹连续的移动情况。该工具的访问链接是:https://mobmap.locationmind.com/
Mobmap是日本LocationMind公司开发的一款轨迹数据可视化工具,它可以连续地展示车辆的移动过程,利用这一工具可以细致地观察每一辆车的出行、停留等情况,也更加容易观察到数据中潜在的数据质量问题。
Mobmap支持CSV轨迹数据的读取,在导入数据时,需要选择数据中的车辆ID、纬度、经度和时间这四列,其他列也可以存在,但建议仅保留前面所述的四列,避免错误识别。在导入数据后,Mobmap会自动将数据按照时间进行排序,并将数据按照ID进行分组,在进行动态展示。
Mobmap的界面如图 4所示。在其中可以点击上方的播放按钮动态地展示轨迹的移动情况。地图上的每一个点表示一辆车,在地图上展示时也会按照时间顺序进行移动。在轨迹点的显示效果上,Mobmap提供了两种模式:普通轨迹点模式和亮度叠加模式。普通轨迹点模式以圆点代表轨迹个体,亮度叠加模式则以亮度的强弱代表轨迹点的数量。
图 4 Mobmap轨迹可视化
图 5 mobmap可视化
为了更加细致地观察,Mobmap也提供了筛选功能,可以选中某一辆车以观察它的移动轨迹,也可以在地图上绘制线段(Linegate,闸门)作为筛选依据,筛选观察轨迹经过闸门的车辆,如图 6所示。
图 6 Mobmap的轨迹筛选功能
此外,Mobmap工具还提供了轨迹线型与网格数据分布的可视化功能。

03

ODview出行起终点可视化
通过轨迹数据的出行识别后,可以得到每一次出行的起点与终点信息,这些信息可以用来进行OD可视化以观察出行需求的分布模式。ODview是笔者开发的一款用于可视化起点-终点(OD)出行数据的工具,该工具的访问链接是:https://ni1o1.github.io/ODview/build/
ODview基于 WebGIS 技术构建,采用 React.js 设计整个系统框架,使用 deckgl 实现地图 WebGIS 功能,而 OD 可视化功能则由 flowmap 地图库提供支持。如图图 7所示,ODview的可以在地图上用流向箭头的方式展示OD数据,同时还具备聚类显示功能。

图 7 ODview的界面

当软件启动时,它会自动加载一些示例数据。你也可以通过“导入OD数据”模块来导入自己的CSV格式数据(数据将在本地处理,不会上传到互联网)。导入的OD数据至少需要包含四列:起点经纬度(slon、slat)和终点经纬度(elon、elat),以及可选的OD计数列(count)。软件会自动识别这些列,但你也可以手动修改列名。如果没有计数列,请在计数列(count)的下拉框中选择 =1选项。数据导入的界面如图 8所示。

图 8 ODview数据导入
一旦数据导入,ODview会在地图上显示OD信息。软件提供了一些基本设置选项,具体包括:
  • 颜色:设置OD流向图的颜色映射。
  • 透明度:调整OD流向图线条的透明度。
  • 动画特效:启用后,路径线段将以动态虚线形式显示。
  • 显示节点:启用后,地图上的起终点将用圆点标记,圆点越大表示活动路径数量越多。
  • 黑色模式:启用后,在浅色背景地图上,路径线条的颜色会反转,提高可读性。
  • 是否褪色:启用后,较小的OD路径颜色会变淡,突出主要路径。
  • 褪色透明:启用后,较小的OD路径颜色会趋于透明。
  • 褪色比例:调整较小OD路径颜色变淡的程度。
ODview还提供了聚类显示功能,该功能会将相近的节点自动合并为一个节点,具体参数包括:
  • 是否聚类:启用聚类时,相近的节点会被合并。
  • 自动聚类参数:仅在启用“是否聚类”时生效。启用后,软件会根据地图当前缩放比例自动匹配合适的聚类参数。
  • 聚类层数:仅在启用“是否聚类”且关闭“自动聚类参数”时生效。可手动调整合并节点的范围,生成不同尺度的聚类图。
自定义效果的可视化效果如图 9所示(颜色Sunset,透明度50%,动画特效开启,关闭自动聚类,褪色比例40%)。
图 9 ODview自定义展示效果
图 10 ODview展示效果

图 11 ODview展示效果
本书全面介绍车辆轨迹数据的处理、分析与可视化方法,并深入探讨了基于 Python 的车辆轨迹数据处理技术,旨在帮助读者快速掌握车辆时空轨迹数据处理的基本方法和编程技巧,同时提供丰富的实际案例和技术解决方案,覆盖了从数据采集到深入分析的完整技术链条,是交通时空大数据领域车辆轨迹数据处理分析的技术指南。本书内容涵盖从车辆轨迹数据的基本特征、采集原理到预处理、质量分析、可视化,再到高级应用如路网匹配、排放计算、多智能体仿真,以及特定案例分析如电动汽车充电需求识别和无人机航拍轨迹数据分析。本书适合计算机相关专业的学生、数据分析师、研究人员以及技术开发人员阅读。

Python数据科学
以Python为核心语言,专攻于「数据科学」领域,文章涵盖数据分析,数据挖掘,机器学习等干货内容,分享大量数据挖掘实战项目分析和讲解,以及海量的学习资源。
 最新文章