原作者 Billy Charlton
编译 CDA 编译团队
本文为 CDA 数据分析师原创作品,转载需授权
Uber 和 Lyft 是美国主要的两个打车应用。数据科学家对其在旧金山的出行数据进行了可视化,发现每日行程超过20万人次。
我叫 Billy Charlton,Because LLC 公司的创始人,西雅图的普吉特区域理事会的前数据总监。我擅长交通规划领域,因为这对我们的城市和日常生活有直接的影响。
最近,旧金山交通管理局发布了 Uber 和 Lyft 的城市出行数据,这是史无前例的。加在一起,这两家公司的每天都有超过 20 万次的行程,而这仅仅是在城市范围内。
当我们正在与交通管理局一起合作时,他们询问我们正在搭建的平台是否也可以用来分析这个数据集。以下是我们的成果。
在公共部门,提供拼车服务的被称为交通网络公司(网约车公司),简称“TNCs”。
可以直接访问 TNCs Today 页面:
http://tncstoday.sfcta.org/
• 你可以选择一周内某天的行程,也可以查看全天行程或者特定时间内的行程。
• 点击地图上的任意一处就会弹出一个图表,显示该区域的每日上下客总数。还可以切换每周不同的日子,比较周一和周五的数据区别。
• 可以选择 2D 或者 3D 视图: 3D 显示了一周内不同日子城市的行程模式,而 2D 视图则更容易点击和查看各个地点。
星期五的行程最多。可以清楚地看到上午和下午高峰期的通勤“驼峰”。也可以看到很多晚上和深夜的行程,这在一周内其他日子是不常见的。
数据对网约车司机的上下客数据进行估计。研究人员分析了:每个司机在“已完成行程”和“现在可以接单”状态下的纬度/经度坐标和时间戳。“这可能与乘客的出发点和目的地不完全相同,但就道路交通和拥堵的影响而言,这能够有效的掌握司机开始和结束行程的时间与地点。
注意:
该数据集表示在 2016 年秋季数周数据的平均值。只包含旧金山市内的行程,因此这可能是 Uber 和 Lyft 在市区内总行程数的较低估值。
• 星期日和星期一的行程最少,周二,周三和周四的行程日益增多,周五和周六的行程数达到最高。
随着每周时间的推移,Ubers 和 Lyfts 的行程数随之增加
• 工作日存在可预测的通勤模式,上午和下午高峰期均存在峰值。星期五和星期六比其他日子有更多的夜晚出行,延长到深夜。
• 无论何时,Uber 和 Lyft 出行在城市的东北地区更为频繁,基本上在塞萨尔·查韦斯北部和迪维萨罗东部。
• 着名的旅游景点如渔人码头,金门大桥和 GG 公园博物馆的行程很多,并且每天的分布与非常不同。
• 周末行程的高峰在星期五和星期六晚上:卡斯特罗,特派团/瓦伦西亚,北海滩,球场等地点。
周五晚有很多往返于卡斯特罗的行程。
还有一些奇怪的现象。有些地区一天存在行程高峰。而有些地区尽管没有什么特殊的,但是存在大量的行程。
有些能够解释;有些可能只是数据集中的噪音。
旧金山交通管理局指出:目前还没有针对这些数据的相关政策。
我们已经确定了一个完全开源的技术堆栈,作为该机构即将进行的数据可视化工作的基础。这些不仅仅是“免费工具”——这些组件的组合产生了更更灵活、功能更强大的产品。
后端
该数据库是 PostgreSQL 的 PostGIS 空间扩展。对于这个项目,只提供块级摘要(称为“流量分析区”),因此我们没有处理任何类型的“大数据”。任何数据库都有足够的存储空间,但是 PostGIS 扩展允许我们做一些很酷的事情,比如地理编码、空间缓冲区、路径和偏移量。PostGIS 很棒。
前端需要以某种方式与数据库联系;由于其简单的 RESTful API 和容易配置性,我们选择了PostgREST。PostgREST 作为 NGINX 的反向代理,它为指定 URL 端点提供安全性和灵活性。
前端
我们利用尽可能多的预先构建的库来实现这个功能,并快速运行。此外,旧金山需要一个现代化的 web 工具,这对员工来说更容易维护。在试验了一些替代方案后,我们决定:
• GitHub Pages 用于服务静态站点的页面。所有代码都已经在 GitHub 上,所以继续使用它们进行托管是有道理的。静态站点意味着没有服务器维护或被黑客入侵。如果我可以从现在起建立静态网站,我会的。不过,在自定义域上获取SSL支持非常困难。
• Vue.js 用于模板和反应元素,学习和使用这个框架很有趣。
• Mapbox GL JS 用于制作交互式 2D / 3D 地图。我本来想要坚持使用完全开源的 Leaflet,但我们非常喜欢 Mapbox 中的 3D 功能。
• Morris.js 用于制作互动图表。
• Semantic UI 用于制作按键。
• Modern ES2015 JavaScript,通过 webpack 和 babel,支持广泛的浏览器(但不适用所有的浏览器:我们使用 IE11)。
最终,整个过程不到 1000 行 JavaScript 代码!
我写的所有代码都在 GitHub 上。
https://github.com/sfcta/tncstoday
ref:
https://hackernoon.com/visualizing-uber-and-lyft-usage-in-san-francisco-928208b1978a
▼
往期精彩文章回顾
除了Hadoop,其他6个你必须知道的热门大数据技术