• 135456

    文章

  • 827

    评论

  • 13

    友链

  • 最近新加了换肤功能,大家多来逛逛吧~~~~
  • 喜欢这个网站的朋友可以加一下QQ群,我们一起交流技术。

基础软件国产化:不仅要坚持做,还要做好 ——《XSTAR:时空轨迹大数据处理与分析系统》(三期)发布了

2年想跳槽阿里,大咖揭秘大厂面试的那些事儿 >>

特别说明:《XSTAR:时空轨迹大数据处理与分析系统》由华东师范大学地理科学学院李响博士开发完成,“大数据攻城狮”为李响博士个人公众号。新版的《时空轨迹大数据处理与分析系统》是对同名旧版软件的重写和优化,基于李响博士开发的底层GIS控件 “XGIS”。


XSTAR三期功能快览,详情如下,获取方法见文末


**********前言**********


时空轨迹大数据的一个共同特征就是数据中的每项或大多数记录除了包含描述对象的属性信息之外,还带有时空标签,保存了该对象在特定时间的空间位置,因此,其可被称为“轨迹数据”。


当可采集的移动对象数量较大时,则称之为“时空轨迹大数据”。


利用已有的轨迹大数据,很多学者在城市地理学、交通地理学、时间地理学、健康地理学等领域都开展了大量的研究和应用工作。


比如出租车轨迹数据,其在每个城市都已经成为实实在在保有的重要分析源,它在客观上反应了城市每日的动态变化。


来自交通、城市规划、商业分析等领域的研究者对此喜爱有加。


然而,他们却往往不具备处理如此巨大数据量的能力,因为,通常,在这样的大数据面前,常规的数据管理和分析方法,比如Excel、SQL Server等是低效或者是无效的。流行的大数据处理工具或平台虽然已相当成熟,如Hadoop,MapReduce,HBase,Spark等,但搭建起来举步维艰,而且,要将其定制成面向时空轨迹大数据的工具也似乎颇费周折。


这是我们开发这个软件的初衷。我们希望提供一个有针对性的、小巧的、高效的数据分析工具,于是,它诞生了。目前,它的体量小于3MB,包含所有的程序文件。


利用该工具,用户可以以一种我们认为非常便捷和易于理解的方式从多个维度对数据进行探索性分析。比如,我们可以发现任意车辆在任意时刻的位置、在任意时段的轨迹、任意时刻或时段载客行程的空间分布、任意起止点在任意时刻或时段的目的地或客源地等等。


**********运行环境**********

本系统需要运行在Windows操作系统下,运行时,它可能要求你下载“.net Framework”,不必担心,只要按照提示进行即可。通常,此系统会是一个64位的应用程序,当然,如果用户的电脑及操作系统仅支持32位,那么请致信bigdatalion@yeah.net,软件作者会尝试生成一个32位的程序。但是显然,32位应用程序的数据量适用性会远低于64位应用程序。


**********系统架构**********


如上图所示,XSTAR由两部分构成,“轨迹数据处理”与“轨迹数据分析”。各部分又包含四大功能模块。前者主要用于完成对原始轨迹数据的理解、排序和索引,后者可根据构建的排序或索引文件,实现各种分析功能。


处理部分包括:生成字段描述提取移动对象标识按照标识及时间排序构建索引结构;分析部分包括:可视化排序后的轨迹轨迹时刻分析轨迹时段分析相关工具箱


各个功能模块简要介绍如下。


**********生成字段描述**********


此功能模块的目的是理清原始轨迹数据文件中信息的记载方式。



用户可以打开原始轨迹数据(文本文件),看到部分样本数据,设定结构参数,为相关字段完成匹配指定。


完成上述字段设定后,可点击“验证”,检查设定的合理性。


如设定合理,可点击“保存”,留作后用。


针对之前的数据结构描述文件,可以点击“打开”,实现查看和编辑。


轨迹数据结构描述文件的扩展名是“.rds”。


**********提取移动对象标识**********


此功能模块的目的是提取原始轨迹数据文件中移动对象的标识列表,也就是搞清楚该文件具体包含了哪些移动对象。



用户需要打开原始轨迹数据以及对应的数据结构描述文件,然后选择并行线程数量(如果电脑不错,可选择四线程或八线程),最后,点击“提取”,完成对象识别。

 

该项操作可能有一定耗时,针对10GB的轨迹数据文件,恐需要几分钟时间。

 


移动对象标识文件的扩展名是“.oid”。 


**********按照标识及时间排序**********


此功能模块的目的是完成针对原始轨迹数据的排序,首先按照对象标识排序,针对同一对象标识,按照时间升序排序。



同样,请用户打开原始轨迹数据文件、数据结构描述文件及移动对象标识文件,设定并行线程数量、时间跨度(可以接受默认的设定或选择特定时段)及坐标转换选项,布朗点参数。


由于系统提供的分析功能均是采用“近似火星坐标”,因此建议在坐标转换时,选择转换目的形式为“***->近似火星坐标”,当然,前提是用户需要事先知道当前轨迹数据的坐标系统是什么,也即“***”。通常来说是“WGS84”。


关于布朗点参数,请参阅【XSTAR更新】与布朗点的战斗


然后,点击“排序”,完成数据排序工作。

 


该项操作可能有一定耗时,针对10GB的轨迹数据文件,恐需要几分钟时间。


轨迹数据排序文件的扩展名是“.sdf”。


**********构建索引结构**********


此功能模块的目的是针对排序后的轨迹数据,建立基于时空立方体(ST-Cube)的索引,以加快数据分析速度。



用户需要打开排序后的轨迹数据文件,确定轨迹点间隔、索引时间粒度、最短载客时间、线程数量。


  1. 轨迹点间隔:如果连续两个轨迹点之间超过此时长,则认为其中间轨迹无效,比如通常来说,轨迹点(位置点)采集间隔可能是几秒或十几秒,而如果说一辆汽车在上午10点采集了一个位置点,到11点才采集了下一个位置,那么这中间的一个小时,恐怕很难确认其移动位置,因此,可以考虑认为是无效的而舍弃。当然,用户也可以认为再大的间隔也是有效的,如果是这样,那么请给出一个小于或等于0的数值。


  2. 索引时间粒度:这里的时间粒度指的是最小的时间分析单元,比如说,如果我们定义时间粒度为5秒,则我们在今后的分析中,将仅能将移动目标定位在5秒、10秒、15秒......,小于5秒的位置将无法获得。较小的时间粒度可能获得更精致的分析结果,但同时也可能快速增大索引文件数据量。索引时间粒度最好应与原始轨迹点采集间隔一致或稍小。比如说,如果原始间隔为10秒,那么,这里的时间粒度可以是5秒、10秒等,如果过大或过小则分析精度可能不够。原始轨迹点采集时间间隔并不一定是固定的,平均的采集间隔可能从数据提供者处获知,或者利用功能4打开排序后的轨迹数据,目测理解。


  3. 最短载客时间:针对出租车或有类似特征的移动目标,有明确出行目的的轨迹通常是载客行程,显然,太短的载客行程可能不与现实相符,而由于数据采集错误,可能会在轨迹数据中出现特别短的载客行程,比如20秒,这时,通过设置最短载客行程时长,可部分的解决此类问题。


  4. 并行线程数量:这通常取决于电脑的配置,用户可以自行尝试,一般来说,选择多个线程构造索引结构的运行时间会更短。针对10GB的轨迹数据,运行时间大概需要几分钟。


生成的索引文件扩展名为“idf”。


**********可视化排序后的轨迹**********



这应该是个相当简洁的原始轨迹数据浏览工具,左侧为移动对象标识列表,选中一个或多个移动对象后,其轨迹将显示在地图中,其轨迹线颜色和移动对象标识的对应关系显示在左上角。


通过拉动上方的小球,可以设定查询时段,点击时间线上的空白处,可实现最小时间索引粒度的微调。


点击时间标签,还可直接设置数值。



通过勾选不同的显示开关,可以改变显示内容;针对底图,也可设定图源;还可“导出”成Shapefile或高清大图片。


关于如何操作地图,如缩放、平移、选择等,请点击地图控制按钮中的“?”。


**********轨迹时刻分析**********


时刻分析指的是在分析轨迹数据时,我们设定的时间分析条件是一个时间点,而非一个时间段。


这里有一定数量的功能或时空条件的组合,我们在相应的控件下方给出了提示,但仍需用户不断熟悉后才可能熟练掌握。一个不变的原理是,通过设定时空条件,在地图窗口中会实时显示满足当前条件的所有移动目标位置以及当前行程的路线和起止点。如果存在聚合分析区,则也会实时显示聚合的数值结果。



左上角这几个按钮分别用于

  • 清空当前地图上的轨迹数据显示

  • 打开动画模式,实现自动调整时间点,让移动目标动起来

  • 向前调整一个时间粒度单位

  • 向后调整一个时间粒度单位





上述界面显示了

  • 当前的分析时刻:通过拖动时间进度条或微调按钮可修改此值,在动画模式下,此值会自动修改。

  • 动画模式下的模拟速度:从左到右,会提高对象的移动速度。





左侧的列表框列出了
所有移动目标的名称,如果 不选择任何对象,则会在地图中显示 所有对象的满足时空查询条件的轨迹和行程信息。否则,会仅显示选中对象的信息。如果仅选中了一个空间对象,则还可以点击“ 定位”,在地图中定位此对象。如果在文本框中输入内容,还可快速实现移动目标标识的筛选。



上述选择决定了
我们在地图可视化时,是采用 实际的轨迹线还是采用 连接行程起止点的直线。如下图所示,实际的轨迹线可能是这样的。



而如果选择直线,则看到的结果会变成这样:




上述两张图中
  • 红色的线代表载客行程,绿色的线代表空载行程。

  • 针对红色载客线,其红色小圈圈端点代表起点,绿色小圈圈端点代表终点。

  • 针对绿色空载线,其绿色小圈圈端点代表起点,红色小圈圈端点代表终点。



此外,在上述两张图中,我们为了展示行程线特征,关闭了移动目标显示,也关闭了底图显示,如打开移动对象显示及移动对象标识后,可能看到如下的结果。显然, 如果是选择“轨迹”,则移动目标的实时位置可能更接近现实,而如果选择“直线”,则移动目标的实时位置仅是直线插值后的结果。



在上图中,你可以看到移动对象标识,但看不到移动对象本身,因为他们太小了,请放大,再放大,这是你有可能会看到他们:



可以通过设置如下三组开关,决定上述显示内容。






除了“车”,我们还可以选择“人”,“船”,“飞机”,“图标”来代表移动对象,其中人、车、船、飞机的图标是可缩放的,因此,当比例尺太小时,是看不到的,而“图标”图标是不会缩放的,保证随时显示。


特别提醒:如果选择“轨迹”,并打开“轨迹线显示”,则当移动对象数量较多时,显示恐怕非常慢,这时,就建议不要启动动画模式了。

起止点分析区


当我们不限制行程的起止点区域时,可能看到的分析结果时这样的:

这也许很漂亮,但可能很难理出头绪。通常,我们如果只关心行程来自部分区域或前往特定区域,那么就可以通过设定起止点分析区的方法来实现。


比如说,我们特别关注在当前时刻,行程的起点来自于区域A的轨迹数据,则可通过起止点分析工具组合添加一个分析区,之前请记得打开生效开关,然后,你将立刻得到一个分析结果,如下:


你甚至可以定义多个起点区、终点区或者混合区(既可以是起点也可以是终点),他们会同时发挥作用,找到满足条件的行程。比如下面这样,定义了一个起点区A和一个终点区B,则找到了三条符合条件的行程轨迹:



起止点分析工具的几个按钮功能如下:
  • 添加一个分析区

  • 删除一个分析区

  • 编辑一个分析区

  • 保存当前所有分析区至一个文件

  • 加载已保存的分析区文件


添加一个分析区。就是在地图上绘制一个多边形。


当添加或编辑一个分析区的时候,可以设定分析区的属性,如下:



用户可以设定分析区的 名称类型生效时段

显然,在时刻分析中,满足特定分析区查询条件的行程数量也许很少,因为它仅查询当前时刻快照下满足条件的行程。今后,在 时段分析中,这样的应用会更具实际价值。

关于选择一个分析区的方法是:Alt+鼠标左键点击。更多关于地图的操作方法请点击地图工具栏中的“?”了解。

聚合分析区



聚合分析区为任何与当前轨迹数据存在空间叠加关系的多边形图层数据,其基于每个多边形与轨迹位置采样点或起止点之间的空间包含关系,计算汇总结果,用以反映聚合的空间分布特征。

可通过加载按钮,把已有的多边形图层数据加载进来。同时,也可通过生成按钮生成规则的聚合分析区。


每个加载的聚合分析区都会自动增加两个字段,分别是 经停点数量起止点数量,通过选择不同的字段作为标注,可实时看到统计结果的展示



结果的导出


除了在动画时刻,用户可以随时点击“导出”命令,将当前符合条件的数据导出出来。可以导出如下数据:


导出的图片类型为BMP,其它为矢量数据类型,可能是如下任意一种:

  • Shapefile:这显然是最通行的空间数据格式。

  • GIS:这是攻城狮开发的XGIS控件支持的一种数据格式,其更加高效,但仅能在攻城狮所开发的软件工具间实现数据交换。

  • GeoJson:这也是目前流行的一个空间数据格式,但其由于标准尚在逐步修改中,本工具不保证输出的数据文件可在其它系统中有效打开。

  • CSV:是一个记录二进制表格的文本文件,其前面两列包含经纬度,或者XY。



**********轨迹时段分析**********


时段分析指的是在分析轨迹数据时,我们设定的时间分析条件是一个时间段



可以通过设定类似时刻分析中的起止点分析区设定空间分析条件。


通过拉动上方的时间轴小球,可以实现时间段的定义。时间段与行程的重叠关系可以通过设定时间段定义下方的复选框来实现。可以认为选中的行程均为设定时间段范围以内的,或者是与设定时间段重叠的。


聚合分析区也同样适用于时段分析,并具有与时刻分析同样的操作方法。


时段分析提供更多的分析功能,每一项功能均可分别针对载客空载行程

进行分析。




分析结果可以自由导出成矢量图层,整个分析界面可以导出高清图片


各个分析结果图层可设置可视、标注等开关。


主要分析功能如下:


起点/终点分析


针对载客或空载行程,以及设定的时空条件,可快速提取相关行程的起点或终点。而且,如果有聚合分析区存在,则同时会计算聚合结果。



行程分析


针对载客或空载行程,以及设定的时空条件,可快速提取相关行程,行程路径可以是实际的路径,也可以是连接起止点的直线路径。



OD分析


OD分析是专门基于聚合分析区的,可以是全部的聚合分析区,也可以是选中的聚合分析区。通过OD分析,可以发现各个聚合区之间在给定时间条件下的行程数量,快速发现 并可导出。在OD分析时,起止点分析区的设定暂不被考虑。



断面分析



断面分析可发现在给定时空条件下,经过某一个或多个断面的行程数量以及经过时的平均速度。通过以上工具栏,可以构建断面。


一个断面在空间上就是一条直线或折线。而且根据绘制方向可确定相关行程经过该断面时的方向,系统会用一个小箭头代表相关行程方向。



如果是直线,那它经常代表的是在某个路段上,经过某个断面的行程数量及速度。



如果是一个折线,则可代表行程进入或离开某个区域的数量和速度。



**********工具箱**********


为支撑用户分析,系统还提供了多个辅助工具,比如地址定位器、空间聚类生成器、热力图生成器、地图文件生成工具、绘制多边形工具等。经过上述分析后导出的结果可以进一步利用这些工具实现空间聚类、热力图生成等。绘制多边形可以用来制作聚合分析区。


上述工具的使用方法请参照如下相关文章:


XGIS工具分享 | 这一次,我们为DBSCAN添加了参数定义工具:K-Distance分析图

XGIS工具分享 | 这一次,我们补充了软件工具说明书

XGIS工具分享 | DBSCAN:空间聚类

XGIS工具分享 | K-Means:空间聚类

XGIS工具分享 | ToXY:把文本形式的坐标转成空间数据

XGIS工具分享 | 可能是最快速的绘制多边形图层的工具

XGIS工具分享 | 可能是最简单的“热力图”生成工具

XGIS工具分享 | 可能是最便捷的海量POI地址匹配及修正工具



**********最后的提醒**********


攻城狮正在撰写关于XSTAR原理、功能和操作方法的详细介绍,即将出版,欢迎持续关注,并提供相关建议。



软件获取方法


  • 在此文章下方,点击“喜欢作者”,并支付任意额度的费用(就不要自定义金额了,攻城狮不需要惊人的额度),之后,会自动通过微信公众号消息发送软件下载地址。

  • 关注公众号“大数据攻城狮”。

  • 在公众号中,输入“xstar”,获得软件授权码

  • 下载软件,首次运行,需要给出注册信息,如下:

 

!!!除了软件下载,你还可能在下载文件夹中看到难得的样本数据 > 10GB 



关于有偿使用该软件的目的及说明


  • 确认狮友是一个严肃的软件工具使用者。

  • 部分承担软件工具网络存储与分发费用。

  • 此项费用并非软件购买费用,因此攻城狮无义务保证软件可正常运行,但狮友的建议或意见会被攻城狮所认真考虑。

  • 软件工具可能因任何原因而停用,攻城狮对此无责任和说明义务。


版权声明


该软件工具版权归属微信公众号“大数据攻城狮”及开发者李响博士所有,其仅可用于非商业用途,如有商业用途需求,请致信 bigdatalion@yeah.net。点击原文链接可了解软件开发者。


相关文章


基础软件国产化:不能光说,还要做 ——《时空轨迹大数据处理与分析系统》(一期)面世了


基础软件国产化:不仅要做,还要坚持做 ——《时空轨迹大数据处理与分析系统》(二期)上线了



大数据攻城狮

微信公众号:www_mapfuture_org

EMAIL:bigdatalion@yeah.net


 


本文分享自微信公众号 - 大数据攻城狮(www_mapfuture_org)。
如有侵权,请联系 support@oschina.cn 删除。
本文参与“OSC源创计划”,欢迎正在阅读的你也加入,一起分享。


695856371Web网页设计师②群 | 喜欢本站的朋友可以收藏本站,或者加入我们大家一起来交流技术!

0条评论

Loading...


发表评论

电子邮件地址不会被公开。 必填项已用*标注

自定义皮肤 主体内容背景
打开支付宝扫码付款购买视频教程
遇到问题联系客服QQ:419400980
注册梁钟霖个人博客