热门标签 | HotTags
当前位置:  开发笔记 > 运维 > 正文

如何洞悉城市人群移动规律?DataV海量轨迹可视化实践解析

阿里妹导读:轨迹数据和我们的生活息息相关:小到扫地机器人的室内清洁线路,大到跨省跨国跨洲的旅行,短到一次共享单车骑行

640?wx_fmt=jpeg

阿里妹导读:轨迹数据和我们的生活息息相关:小到扫地机器人的室内清洁线路,大到跨省跨国跨洲的旅行,短到一次共享单车骑行,长到十年如一日的通信基站记录。对城市治理而言,挖掘人群和车辆的移动规律,能帮助决策者更好地规划城市交通、保障公共安全、响应突发事件,让城市变得更智能、更高效。


经典轨迹展现方式的局限


轨迹数据描述了时空维度中,移动对象的空间位置和属性随时间的变化。在这些移动对象(如人、车辆等)移动过程中,每隔一段时间,他们的位置及其他属性会通过所携带的设备(如手机、传感器等)被记录下来,形成了一个采样点数据。对于一个移动对象而言,多个采样点数据按时间顺序排列,构成了该对象轨迹数据。


然而,轨迹数据来源诸多(包括但不限于手机信令数据、车辆GPS数据、Wifi-嗅探数据、签到数据等)且时时刻刻有新数据产生,导致轨迹数据体量十分巨大,造成严重的视觉混淆和渲染压力。因此,我们借助可视分析技术,通过将轨迹数据转化流场数据,不仅保留轨迹数据的主要特征,同时大大降低数据体量,从而更好地洞察城市中人群的移动规律。


在使用可视分析技术对轨迹数据进行分析和挖掘时,一个很重要的任务是将轨迹可视化在交互界面上,为用户提供观察和探索的空间。对于轨迹数据的表达方法,在这个领域已经有了一定的研究,传统的方法有路径连接法和飞线法。其中,路径连接法将每个对象的轨迹数据中的采样点按照时间顺序进行连线,再使用其他的视觉通道,如颜色、宽度和线形等编码对象的其他属性。这种方法是最直观的轨迹展现形式,它能够清晰地展现移动对象途径的空间位置,DataV在“基础平面地图”和“3D地图”组件中“线热力层”子组件采用的就是这种可视化形式。


飞线法和路径连接法相似,不同之处在于,它通过动画的形式模拟移动对象的移动,一般情况,使用一个带有箭头的线段来编码移动对象,线段会按照时间顺序在采样点之间移动,这种方法能够更加清晰地反映移动对象的运动方向,并且具有较为炫酷的视觉效果,DataV各地图组件中的“飞线层”和“3D地图”组件中的“弧线层”、“轨迹层”、“路网轨迹层”都是这种可视化方法的实现,去年双十一惊艳亮相的“闪电图”中的闪电特效同样是采用飞线法实现的。


640?wx_fmt=png

路径连接法应用:采用DataV中的“线热力层”组件可视化全国物流干网


640?wx_fmt=png

飞线法应用:采用DataV可视化杭州一天的出租车轨迹

640?wx_fmt=png

飞线法应用:DataV双十一全国快递“闪电”大屏,每条闪电模拟了宝贝沿着真实路网从卖家发向买家的过程


以上两种可视化形式都是经典轨迹数据可视化方法,但它们也存在力不从心的时候,当针对海量轨迹数据应用这些方法时,由于数据体量惊人,原先直观清晰的视觉表达出现了大量的遮挡和重叠,如果处理不当,会很大程度上影响用户的观察和探索。此外,数据体量的提升带来了巨大的绘制压力,用户需要不断地提升硬件设备的性能才能应对,无形之中提高了轨迹分析的门槛。因此,针对海量轨迹数据,我们需要一种更为有效的可视化方法来洞察城市中移动对象的移动规律。


流场生成算法


经过研究,我们提出了一种针对海量轨迹数据的流场生成算法,能够将特定时间片段内的轨迹数据转化为流场数据,从而对“人流”、“车流”等进行表达和刻画。这种方法的特点在于,它没有直接对海量轨迹数据进行可视化,而是将轨迹数据进行一定的聚合,提取轨迹数据的主要特征,将轨迹数据转化为流场数据,再对选择合适的可视化方法对流场数据进行展现。由于流场数据保留了轨迹数据主要特征的同时大大降低了数据体量,因此能够在消除视觉遮挡和减轻绘制压力的同时,清晰直观地反映城市中移动对象的移动的规律。


算法的主要流程如下图所示:


640?wx_fmt=png


1)统计轨迹点向量


轨迹数据是由若干个采样点数据构成,采样点数据包括轨迹点位置、时间及其他属性信息。我们首先根据所有采样点数据统计出轨迹点的位置,再根据轨迹数据中两两采样点之间的流入流出情况,计算每个轨迹点出入向量的方向和大小,其中大小又包括轨迹数量和移动对象的速度;


2)过滤轨迹点向量


对于上一步中所得到的轨迹点的所有出入向量,方法将根据自定义的轨迹数量阈值对其进行过滤,筛选得到每个轨迹点的主要出入向量;


3)生成轨迹点主向量


在这一步中,方法根据用户自定义的流场方向,对上一步得到的每个轨迹点所有的出入主向量按方向进行分类和聚合,在各个方向上生成至多一个主出向量和至多一个主入向量。在生成各个方向上的主向量的同时,需要统计各个方向内向量的平均速度、平均移动距离和平均差异角度;


4)扩散轨迹点主向量


接下来,将n*m的网格平铺到用户指定的区域内,将每个轨迹点在各个方向上的主向量按照一定条件和规则扩散到n*m的网格中。其中,在进行扩散时,扩散在网格内的向量,方向和速度保持不变,轨迹数量递减,而只有满足以下条件,一个网格才会受到某主向量的辐射影响:


  • 被扩散网格中心与轨迹点之间的距离不大于轨迹点的平均移动距离;

  • 当扩散向量为入向量时,被扩散网格中心与轨迹点形成的向量与扩散主向量之间的角度应该处于[180-平均差异角度,180+平均差异角度]之间;当扩散向量为出向量时,被扩散网格中心与轨迹点形成的向量与扩散主向量之间的角度应该处于[-平均差异角度,+平均差异角度]之间。


5)计算网格主向量


在上一步中,同一个网格可能会受多个向量的辐射影响,产生多个扩散向量,因此,在这一步中,需要计算每个网格中各方向上的聚合向量(包含了流场方向、移动速度和轨迹数量),得到最终的流场数据。


在方法中,需要定义轨迹数量阈值、流场方向和网格个数。轨迹数量阈值主要用于过滤轨迹点向量,过滤是为了保留主要的轨迹,防止“噪声”对结果准确性的干扰;而对流场进行分向计算,则避免了相对方向上的移动抵消,从而能够保留更多的细节信息,使得最终结果更加准确;而在定义网格个数时,需要平衡个数较多所带来的计算压力和个数较少带来的粗糙效果。为了使得方法具有一定的自适应性,我们在扩散向量时,并没有采用固定的角度和距离,我们使用各方向上的平均移动距离和平均差异角度,使得扩散能够适应不同的向量分布,结果更加合理。


轨迹流场案例


以上是我们提出的针对海量轨迹数据的流场生成算法的简要流程,下图是方法根据某市2017年8月14日早上8:00到8:10间的手机信令数据可视化的效果:


640?wx_fmt=png


在这个案例中,我们采用了粒子流动来表现流场数据,网格内粒子的数量即为轨迹数量(移动对象数量),粒子的移动方向代表移动对象的移动方向,粒子的颜色和速度均表示移动对象的移动速度,其中速度越大颜色越接近蓝色,速度越小颜色越接近红色。同时,我们提供了一些控件,用于调整流场方向、轨迹数量阈值和网格个数等参数,用于交互查询。通过这种方式,大大降低了绘制量并减少了视觉重叠,从而能够清晰观察城市内人群移动。


DataV不仅在数据大屏领域为各行各业的客户提供支持和服务,在大数据的可视分析的研究上,也在进行积极的探索。无论是最近推出的智慧场馆解决方案,还是海量轨迹的流场生成方法,都是新的尝试,我们将不忘初心,继续努力,为大家带来更好的可视化产品。

 

本文所涉及数据均由客户提供

640?wx_fmt=png

阿里巴巴数学大赛赛题、官方参考答案现已公布。

长按识别以下二维码,关注“阿里巴巴机器智能”公众号,回复“数学大赛”,即可下载。


640?wx_fmt=jpeg

 ↑ 翘首以盼等你关注


640?wx_fmt=gif

你可能还喜欢

点击下方图片即可阅读


640?wx_fmt=jpeg

阿里巴巴为什么选择Apache Flink?


640?wx_fmt=jpeg

领域驱动设计,盒马技术团队这么做


640?wx_fmt=jpeg

看完这8本算法好书,才算真正懂了 AI



640?wx_fmt=jpeg

关注「阿里技术」

把握前沿技术脉搏


推荐阅读
  • ICRA2019最佳论文  Making Sense of Vision and Touch: SelfSupervised Learning of Multimodal Representatio
    文章目录摘要模型架构模态编码器自监督预测控制器设计策略学习控制器设计实验结论和展望会议:ICRA2019标题:《MakingSenseofVision ... [详细]
  • [译]技术公司十年经验的职场生涯回顾
    本文是一位在技术公司工作十年的职场人士对自己职业生涯的总结回顾。她的职业规划与众不同,令人深思又有趣。其中涉及到的内容有机器学习、创新创业以及引用了女性主义者在TED演讲中的部分讲义。文章表达了对职业生涯的愿望和希望,认为人类有能力不断改善自己。 ... [详细]
  • 移动传感器扫描覆盖摘要:关于传感器网络中的地址覆盖问题,已经做过很多尝试。他们通常归为两类,全覆盖和栅栏覆盖,统称为静态覆盖 ... [详细]
  • [手机][其他]绝对经典!疯狂Pinphone 3GS又发更新,Pin第三代(转载)
    已经致Pinfans疯狂的Pinphone3GS最近又放出新功能,好评如潮请设置pin。 ... [详细]
  • 本文详细解析了JavaScript中相称性推断的知识点,包括严厉相称和宽松相称的区别,以及范例转换的规则。针对不同类型的范例值,如差别范例值、统一类的原始范例值和统一类的复合范例值,都给出了具体的比较方法。对于宽松相称的情况,也解释了原始范例值和对象之间的比较规则。通过本文的学习,读者可以更好地理解JavaScript中相称性推断的概念和应用。 ... [详细]
  • 一句话解决高并发的核心原则
    本文介绍了解决高并发的核心原则,即将用户访问请求尽量往前推,避免访问CDN、静态服务器、动态服务器、数据库和存储,从而实现高性能、高并发、高可扩展的网站架构。同时提到了Google的成功案例,以及适用于千万级别PV站和亿级PV网站的架构层次。 ... [详细]
  • 本文介绍了使用Spark实现低配版高斯朴素贝叶斯模型的原因和原理。随着数据量的增大,单机上运行高斯朴素贝叶斯模型会变得很慢,因此考虑使用Spark来加速运行。然而,Spark的MLlib并没有实现高斯朴素贝叶斯模型,因此需要自己动手实现。文章还介绍了朴素贝叶斯的原理和公式,并对具有多个特征和类别的模型进行了讨论。最后,作者总结了实现低配版高斯朴素贝叶斯模型的步骤。 ... [详细]
  • 目录浏览漏洞与目录遍历漏洞的危害及修复方法
    本文讨论了目录浏览漏洞与目录遍历漏洞的危害,包括网站结构暴露、隐秘文件访问等。同时介绍了检测方法,如使用漏洞扫描器和搜索关键词。最后提供了针对常见中间件的修复方式,包括关闭目录浏览功能。对于保护网站安全具有一定的参考价值。 ... [详细]
  • 本文介绍了禅道作为一款国产开源免费的测试管理工具的特点和功能,并提供了禅道的搭建和调试方法。禅道是一款B/S结构的项目管理工具,可以实现组织管理、后台管理、产品管理、项目管理和测试管理等功能。同时,本文还介绍了其他软件测试相关工具,如功能自动化工具和性能自动化工具,以及白盒测试工具的使用。通过本文的阅读,读者可以了解禅道的基本使用方法和优势,从而更好地进行测试管理工作。 ... [详细]
  • 用ESP32与Python实现物联网(IoT)火焰检测报警系统
    下图是本案例除硬件连线外的3步导学开发过程,每个步骤中实现的功能请参考图中的说明。在硬件连线完成之后我们建议您先使用“一分钟上云体验”功能预先体验本案例的实际运行效果 ... [详细]
  • Ubuntu18.04 下载与安装
    阿里云里面有很多镜像:https:opsx.alibaba.commirrorUbuntu各个版本的镜像下载地址:http:mirrors.melbourne.co.ukubunt ... [详细]
  • Arduino + ESP32C3 + TFT(1.8‘ ST7735S)基础平台(实验四)直接显示网络图片
    ------------------------------------------------------------------------------------------ ... [详细]
  • MySQL修改表结构操作命令总结【MySQL】
    数据库|mysql教程MySQL,修改表结构命令数据库-mysql教程表的结构如下:错误页面源码,ubuntu电脑自动休眠,爬虫造景视频,rapapiphp,廊坊seo开发lzwm ... [详细]
  • Java手机看书软件(一)魔屏3.0魔屏(MoScreen)是一款手机漫画阅读器,可以查找、下载阅读多种格式的富媒体内容.魔屏3.0主要功能:漫画分类:支持分类浏览漫画名称、简介、 ... [详细]
  • 本文主要分享【im即时通讯技术】,技术文章【浅析IM即时通讯开发出现上网卡顿?网络掉线?】为【wecloud1314】投稿,如果你遇到相关问题,本文相关知识或能到你。im即时通讯技术特别推荐即时通 ... [详细]
author-avatar
手机用户2602916725
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有