大规模城市时空数据的可视化探索:以纽约出租车载客记录的研究为例 (Visual Exploration of Big Spatio-Temporal Urban Data: A Study of New York City Taxi Trips)

目前,越来越多的出租车安装了GPS,从而产生了大量的出租车数据。这些数据记录了出租车的行为,反映了城市的生活方式,并且可以帮助出租车运行部门监控出租车运行状态、改进出租车的调度。以纽约出租车数据为例,在2009、2011和2012年共有5.4亿次载客,每次载客记录了出租车编号、司机编号、起始终止的时间和地点、行驶距离以及车费、小费和收费数据。这是一个典型的 Origin-Destination (OD) 数据,只有起始终止信息而没有轨迹信息。该数据原始大小为120GB,存储为一系列csv文件。然而,纽约的城市规划和交通专家目前并没有很好的工具来分析这些出租车数据。他们面临两大困难。首先,为了能够对数据进行筛选和统计,他们需要学习数据库查询语言 (例如SQL),而这对他们很困难。此外,他们常用的工具 (例如Matlab、R、ARCGIS) 都无法处理如此大量的数据,因此他们每次只能研究数据的一个小样本。这样一来,他们通常只能根据经验猜想数据中可能存在某种现象,然后用一个小数据来验证,而对整个数据的全面探索无法完成。而且,由于要不断的用数据库输出小样本,再调用分析工具,整个工作流程非常繁琐,还容易出错。针对以上两点问题,纽约大学 Claudio Silva 教授带领他的研究组,开发了一个出租车OD数据分析系统TaxiVis [1],能够对三年的出租车数据进行流畅的探索式分析,并且查询操作完全图形化,简单直接。

针对数据查询问题,他们与纽约的城市规划和交通专家进行了讨论,将专家的查询需求总结为三大要素:时间、地点和对象属性。他们支持三种查询:时间+地点->对象属性,时间+对象属性->地点,地点+对象属性->时间。其中时间查询通过简单的时间选择对话框完成;空间选择基于用于在地图上圈选区域,地图上同时会显示出租车的上下客地点和密度;而对象属性包括属性随时间的变化和数值的分布直方图,它也支持筛选。图1是TaxiVis的系统界面。

taxi_teaser

图1 TaxiVis系统的用户界面

针对大数据量问题,他们先试用了一些常用的数据库,包括SQLite和PostgreSQL,但是它们都需要很长的时间建立数据索引。并且,在运行时,他们需要占用大量的内存,而且查询速度太慢,无法支持用户的实时交互。因此,他们自己实现了一个基于kd树的轻量级数据库。该数据库占用的存储空间小、运行速度快。此外,为了处理大量出租车上下客点的渲染,他们实现了一个高效的LOD显示策略。

他们将TaxiVis系统运用于纽约出租车OD数据的分析。首先,他们比较了不同区域上下客流量随时间的变化。图2显示了上客流量的统计。我们可以看到,蓝色区域客流量较小,这印证了当地居民对出租车数量少的抱怨。橙色区域的客流量则以周三周四为界分成了两种,周三前客流量较大,周四开始客流量明显较小。绿色区域的客流量则在周五异常大。

taxi_case1

图2 纽约市不同区域上客流量随时间的变化

他们也研究了交通枢纽地区的交通流。在图3中,他们选择了纽约市的两个机场,并研究了从这两个机场出发的客流量。我们可以看到,周日的两个机场出发的客流量都明显较小。此外,这些客流的终点集中在纽约市中心。

taxi_case2

图3 纽约市两个机场出发的客流量随时间的变化以及终点的空间分布

最后,他们还研究了飓风Sandy和飓风Irene对纽约市出租车系统的影响,如图4所示。其中Sandy于2012年10月29日袭击纽约,我们可以看到纽约出租车数量在这一周内都明显不足,尤其是南部地区因为停电的原因,过了五天才恢复出租车运营。但是,任何一天都依然有一定量的出租车坚持工作。Irene与2011年8月27日袭击纽约,它造成的影响强度更大,其中8月28日几乎没有出租车运营。但是它影响的持续时间较短,纽约市出租车系统在8月29日就几乎恢复了。

taxi_case3

图4 飓风Sandy和Irene对纽约市出租车系统的影响

[1] Nivan Ferreira, Jorge Poco, Huy T. Vo, Juliana Freire, and Claudio T. Silva, Visual Exploration of Big Spatio-Temporal Urban Data: A Study of New York City Taxi Trips, IEEE Trans. Visual. Comput. Graph., 19(12): 2149-2158, 2013.

评论关闭。