本申请涉及计算机领域,尤其涉及一种三维可视化移动轨迹数据技术。
背景技术:
随着城市发展和城市信息化爆发,对移动数据轨迹的数据分析需求不断提高,例如车辆轨迹、运动/跑步等移动轨迹,对这些数据的分析和可视化,在智慧城市、交通管理以及其他基于位置服务相关业务中需求量很大。
目前,对于移动轨迹数据的可视化有两种形式,一种是网页端轨迹可视化展示,运用绘图簿(canvas)或可缩放矢量图形(svg)绘制车辆、运动等轨迹数据。由于是将轨迹图由绘图簿或可缩放矢量图形绘制,大部分轨迹图展示的是点之间的连线,仅在二维地图内展示数据并不能满足数据分析对可视化的需求。另一种是数据直接在伪三维(3d)地图中展现,利用层叠样式表(css)的转换属性(transform)来进行视角与景深的改变。虽将二维(2d)地图经过css转换变为三维,但对数据本身的展现还停留在二维上。
技术实现要素:
本申请要解决的技术问题是,如何提供一种能够通过对图像缩放、旋转的可变化处理操作使得用户从不同视角观测三维可视化移动轨迹数据并将移动对象的移动状态可视化地展现在图像中的三维可视化移动轨迹数据的方法与设备。
根据本申请的一个方面,提供了一种三维可视化移动轨迹数据的方法,包括:
获取移动对象的相关轨迹信息,其中,所述相关轨迹信息包括所述移动对象的时间位置信息及移动状态信息;
基于所述时间位置信息,生成所述移动对象的二维移动轨迹图像;
基于所述移动状态信息及所述二维移动轨迹图像,生成所述移动对象的 三维移动轨迹图像,其中,所述三维移动轨迹图像的其中一维度展示与所述时间位置信息相对应的移动状态信息。
根据本申请的另一方面,还提供了一种三维可视化移动轨迹数据的设备,包括:
获取装置,用于获取移动对象的相关轨迹信息,其中,所述相关轨迹信息包括所述移动对象的时间位置信息及移动状态信息;
二维图像生成装置,用于基于所述时间位置信息,生成所述移动对象的二维移动轨迹图像;
三维图像生成装置,用于基于所述移动状态信息及所述二维移动轨迹图像,生成所述移动对象的三维移动轨迹图像,其中,所述三维移动轨迹图像的其中一维度展示与所述时间位置信息相对应的移动状态信息。
与现有技术相比,根据本申请的实施例所述方法及设备,由于将通过移动对象的时间位置信息生成的二维移动轨迹图像转换为三维移动轨迹图像,其中,所述三维移动轨迹图像中的一维度为移动对象的移动状态,能够使数据本身展现成三维化的移动轨迹图像,并所生成的三维图像具有支持用户根据需求对图像进行缩放、旋转的功能,从而提高人机交互性能,有效地使用户通过不同视角来观测数据,提高了对移动对象的轨迹数据的可视化展现。
附图说明
通过阅读参照以下附图所作的对非限制性实施例所作的详细描述,本申请的其它特征、目的和优点将会变得更明显:
图1示出根据本申请一个方面的一种三维可视化移动轨迹数据的设备结构示意图;
图2示出根据本申请一个方面的一种优选实施例的数据请求和传输示意图;
图3示出根据本申请一个方面的一具体实施例的二维移动轨迹图像示意图;
图4示出根据本申请一个方面的一具体实施例的三维移动轨迹图像示意图;
图5(a)示出根据本申请一个方面的一具体实施例的三维移动轨迹图像在x轴上进行旋转60度的图像示意图;
图5(b)示出根据本申请一个方面的一具体实施例的三维移动轨迹图像在x轴上进行旋转240度的图像示意图;
图6示出根据本申请一个方面的一具体实施例的三维移动轨迹图像对视角缩放后图像示意图;
图7示出根据本申请一个方面的一个优选实施例的绘制可视化图像流程图;
图8示出根据本申请又一个方面的一种三维可视化移动轨迹数据的方法流程示意图。
附图中相同或相似的附图标记代表相同或相似的部件。
具体实施方式
下面结合附图对本申请作进一步详细描述。
图1示出根据本申请一个方面的一种三维可视化移动轨迹数据的设备结构示意图。所述设备1包括获取装置11、二维图像生成装置12和三维图像生成装置13。
其中,获取装置11获取移动对象的相关轨迹信息,其中,所述相关轨迹信息包括所述移动对象的时间位置信息及移动状态信息;二维图像生成装置12基于所述时间位置信息,生成所述移动对象的二维移动轨迹图像;三维图像生成装置13基于所述移动状态信息及所述二维移动轨迹图像,生成所述移动对象的三维移动轨迹图像,其中,所述三维移动轨迹图像的其中一维度展示与所述时间位置信息相对应的移动状态信息。
在此,所述设备1包括但不限于用户设备、或用户设备与网络设备通过网络相集成所构成的设备。所述用户设备其包括但不限于任何一种可与用户通过触摸板进行人机交互的移动电子产品,例如智能手机、PDA等,所述移动电子产品可以采用任意操作系统,如android操作系统、iOS操作系统等。其中,所述网络设备包括一种能够按照事先设定或存储的指令,自动进行数值计算和信息处理的电子设备,其硬件包括但不限于微处理器、专用集成电 路(ASIC)、可编程门阵列(FPGA)、数字处理器(DSP)、嵌入式设备等。所述网络包括但不限于互联网、广域网、城域网、局域网、VPN网络、无线自组织网络(Ad Hoc网络)等。优选地,设备1还可以是运行于所述用户设备、或用户设备与网络设备、触摸终端或网络设备与触摸终端通过网络相集成所构成的设备上的脚本程序。当然,本领域技术人员应能理解上述设备1仅为举例,其他现有的或今后可能出现的设备1如可适用于本申请,也应包含在本申请保护范围以内,并在此以引用方式包含于此。
上述各装置之间是持续不断工作的,在此,本领域技术人员应理解“持续”是指上述各装置分别实时地或者按照设定的或实时调整的工作模式要求,例如所述获取装置持续获取移动对象的相关轨迹信息;所述二维图像生成装置持续基于所述时间位置信息,生成所述移动对象的二维移动轨迹图像;所述三维图像生成装置持续基于所述移动状态信息及所述二维移动轨迹图像,生成所述移动对象的三维移动轨迹图像,直至所述设备1完成确认请求用户身份工作或停止工作。
本申请一实施例所述设备1用于三维可视化移动轨迹数据,由于二维图像转换为三维图像过程中,增加了移动对象的移动状态作为其中一维度,使得数据本身三维化,而且能够对图像进行缩放和旋转等操作,从不同视角进行观测数据,实现对移动对象的轨迹数据的分析和可视化展现的功能。
其中,所述移动对象具有唯一标识信息。在此,唯一标识信息(id)用于区分不同的移动对象,如车牌号、手机号、即时通讯登录号、应用软件账号、身份证号等,因此,根据唯一标识信息可以从众多移动对象中查找到指定所述移动对象。以下以选取某一个特定id的相关轨迹信息为例,对本申请所述用于三维可视化移动轨迹数据的设备进行详细描述,当然,本领域技术人员应当能够理解此处对选取的某一个特定id的相关轨迹信息进行三维可视化分析和展现为一个方面的优选实施例的场景,现有及今后可能出现的选取三维可视化移动轨迹数据的场景,如能适用本申请,均可以引用的方式包含于本申请。
具体地,获取装置11获取移动对象的相关轨迹信息,其中,所述相关轨迹信息包括所述移动对象的时间位置信息及移动状态信息。
在此,移动对象是指在运动过程中留下轨迹所对应的对象,例如,交通中的车辆、跑步者等。所述时间位置信息包括所述移动对象的位置信息及与所述位置信息相对应的时间信息,其中,所述位置信息优选地为所述移动对象的经纬度信息。所述移动状态信息包括所述移动对象的移动相关属性信息,还包括所述移动对象的移动速度信息。
在一具体实施例中,采集如车辆轨迹、用户移动轨迹等移动对象的相关轨迹信息,其中,用户移动轨迹可以是用户的跑步轨迹、散步轨迹、生活轨迹等。对于所述相关轨迹信息,往往表现为点的集合,采集的原始数据虽各不相同,但其列名(schema)大都包含几项:一是位置,即x、y(三维情况包含z)。x、y除了表示真实的坐标,更多为经度和维度,本申请以下实施例中均以经纬度为准;二是时间,即点(x,y)被采集时的时间;三是唯一标识信息(id),用于区分留下点的对象,如车牌号、手机号、即时通讯登录号等。其余的相关轨迹信息,根据每次需求的相同选择获取,例如在交通可视化中,涉及到车辆的类型,则同时获取车辆的类型信息,例如用户跑步移动中的实时心率信息;另一些相关轨迹信息可以通过已有相关移动轨迹信息的综合计算推导获取,例如车辆或用户速度、用户所消耗的卡路里等。
在此,根据本申请一个方面的一个具体场景,将移动对象在基于html 5(第五版万维网核心语言)的数据可视化,数据请求和传输符合一般的web(网页)架构,如图2所示,数据用户所在的前端(客户端)可以发出请求,通过后端服务向数据库发出请求,数据库返回的轨迹数据通过后端网络服务中转到达客户端。获取同一id的轨迹数据也就是带有经纬度和时间的数据,在上述优选实施例中,由客户端生成http(超文本传输协议)的请求,通过服务端对数据库进行复合查询,返回用户所需的数据,实现通过对大规模数据的筛选,选择出指定id的数据,以便后续的图像绘制。
当然本领域技术人员应能理解,所述将移动对象在基于html 5的数据可视化为本申请一个方面的一个具体场景举例,其他例如基于例如JAVA的数据可视化方式等现有及今后可能出现的将移动对象进行可视化的场景,如能适用本申请,均可以引用的方式包含于本申请。
具体地,二维图像生成装置12基于所述时间位置信息,生成所述移动对 象的二维移动轨迹图像。
接前例,在描绘交通轨迹数据中,将获取的经度和纬度通过坐标变换(如网页墨卡尔变换),从经纬度坐标系变为屏幕坐标系上的点,在得到屏幕上的坐标系上的点后,开始将点进行连接绘制,得到二维的移动轨迹图像。
图3所示的二维移动轨迹图像为实际场景采集图,其中,线条轨迹为某一具体车辆的某一段运动轨迹,背景地图场景为实际的地图场景,如指定id所对应的车辆行驶过程中旁边的景物、建筑等路况和线路等,其背景地图场景的具体内容并不被限定且不影响本申请的保护范围。
具体地,三维图像生成装置13基于所述移动状态信息及所述二维移动轨迹图像,生成所述移动对象的三维移动轨迹图像,其中,所述三维移动轨迹图像的其中一维度展示与所述时间位置信息相对应的移动状态信息。
在此,移动状态信息如车辆的速率、刹车加速度、排尾气量等,跑步者的速率、心率、消耗的卡路里等。接上述实施例,在得到屏幕坐标系上的点后,开始依据对应点的坐标绘制柱状图,根据所绘制的柱状图的高度代表对应坐标点的状态数据,如速率,在后端没有提供速率的情况下,通过坐标点与时间来计算速率。
如图4所示的与图3中的二维移动轨迹图像相对应的三维移动轨迹图像,该图像为实际场景采集图,其中,背景地图场景为实际的地图场景,如指定id所对应的车辆行驶过程中旁边的景物、建筑等路况和线路等,其背景地图场景的具体内容并不被限定且不影响本申请的保护范围,每一柱状图的高度代表所对应点的速率,柱状图显示增长动画,根据柱状图高度进行渐变,增加了显示维度,更具有可视化效果。
需要说明的是,上述的三维移动轨迹图像中的柱状图为本申请一方面的一个优选实施例,也可以为其他图形,如连续的不规则的弧形体,现有及今后可能出现的表现移动状态的图形形状,如能适用本申请,均可以引用的方式包含于本申请。
优选地,所述获取装置11获取所述移动对象的时间位置信息和移动状态信息。
在此,在本身的上述实施例中,获取同一id的相关数据,即是带有经纬 度和时间的数据及其所对应的移动状态信息,客户端产生数据请求,通过服务端对数据库进行复合查询,返回需要的时间和对应位置信息,且由后端可直接提供各个时间位置信息所对应的移动状态信息,如车辆的速率通过车辆自身的速度盘进行获取。获取所需的时间位置信息和移动状态信息后,进行绘制移动轨迹图像。
优选地,所述移动状态信息包括所述移动对象的移动相关属性信息。
例如,移动对象为跑步者时,所述移动相关属性信息可为跑步者的心率、消耗的卡路里等。在交通轨迹数据中,移动对象为车辆,则所述移动相关属性信息可为该车的排尾气量、刹车性能、消耗油量等。
优选地,所述获取装置11还用于:获取所述移动对象的时间位置信息;接着,基于所述时间位置信息获取所述移动对象的移动状态信息。
在一具体实施例中,客户端产生数据请求,通过服务端对数据库进行复合查询,返回需要的时间和对应位置信息,但后端不提供各个时间位置信息所对应的移动状态信息,则需要根据时间位置信息进行计算。其中,所述移动状态信息包括移动对象的移动速度信息,所述移动状态信息还包括所述移动对象的移动相关属性信息。例如,某一跑步者的速度通过坐标点与时间进行计算,跑步者的心率和消耗的卡路里也可以通过推导计算获得。
优选地,所述设备1还包括:生成背景展示图层;所述二维图像生成装置12获取所述移动对象的时间位置信息与所述背景展示图层的位置对应关系,基于所述位置对应关系,在所述背景展示图层上生成所述移动对象的二维移动轨迹图像。
在进行实际绘制中,首先需要绘制图像时所需要的图层,即背景展示图层,还要获取移动对象的每一时间位置信息所对应的背景展示图层的位置对应关系,例如,某时间点t时移动对象所在的位置及此时旁边的建筑物、景物等和所在的路段,具有实际的地图效果。根据所获取的信息进行绘制图像,屏幕上展示图像时的背景为所获取的对应的地理场景,在背景展示图层上生成二维图像。
更优选地,所述背景展示图层具有地图图层和可缩放矢量图层,所述地图图层具有与位置相关的地图信息,所述可缩放矢量图层用于基于用户需求 缩放所述地图图层的展示尺寸。
在此,进行图像的绘制需要前端初始化,即生成背景展示图层,其中,所述背景展示图层具有地图图层和可视化需要的可缩放矢量图层(svg),并且缩放到一个合理的区域,计算视窗范围内两个点在坐标系内的坐标值xMin(x轴最小值)、yMin(y轴最小值)、xMax(x轴最大值)、yMax(y轴最大值)。获取同一id的轨迹数据也就是带有经纬度和时间的数据,将其展示区域选为[[xMin,yMin],[xMax,yMax]],以及一段时间范围[t1,t2]内。另外,前端绘制需求的数据格式为:经度(lng)、维度(lat)、时间(time)、id(唯一标识)。经度和纬度通过坐标变换变为图层中的坐标点,而地图图层具有与位置相关的地图信息,如与某时间点t时移动对象所在的位置相关的其旁边的建筑物、景物等和所在的路段等地图信息;所述可缩放矢量图层用于基于用户需求缩放所述地图图层的展示尺寸,如根据用户的需求对图像进行缩小或放大等处理,相应的图像上的点及其背景位置信息跟随变化。
优选地,所述三维图像生成装置13还包括:处理单元,用于对所述三维移动轨迹图像进行视角缩放可变化处理。
在此,在二维图像转换为三维图像过程中,支持用户对图像的缩放,旋转等可变化处理,达到通过不同视角进行观测数据的目的。例如,通过浏览器自带的层叠样式表(css),创建动画,如本申请实施例中的柱状图显示增长动画,通过层叠样式表的转换属性对三维移动轨迹图像进行缩放或旋转等的视角可变化处理。需要说明的是,所述层叠样式表用来进行网页风格的设计,通过设立样式表,可以统一控制HTML中各标志的显示属性,使用户有效地控制网页外观以及创建特殊效果的能力。
更优选地,所述处理单元用于:对所述生成的三维移动轨迹图像按照维度坐标轴进行可旋转化处理;对所述生成的三维移动轨迹图像进行可缩放化处理。
在本申请的上述优选实施例中,绘制柱状图后,根据对应的地图的角度在x轴上旋转柱状图90度,在已经是视角的地图上,可以看到垂直于地图的柱状图,在用户视角来观测为三维柱状图。如图5(a)和图5(b)所示,分别为将所得的三维移动轨迹图像在x轴上进行旋转60度和旋转240度,该图 像为实际场景采集图,其中,背景地图场景为实际的地图场景,如指定id所对应的车辆行驶过程中旁边的景物、建筑等路况和线路,其背景地图场景的具体内容并不被限定且不影响本申请的保护范围。由图5(a)和图5(b)可看出,移动轨迹中的每一点进行旋转时,其相应的时间位置信息及其所对应的背景中的地图信息跟随轨迹点在视角上进行变化,一直保持对应关系。例如,5(b)表示指定跑步者A的运动三维图像,从图可看出,柱状图高度表示跑步者A的移动状态,可看出,某一位置时跑步者的速度Speed:11mph,心率Heartrate:94bph。
如图6所示,为将三维移动轨迹图像进行视角缩放的可变化处理后的图像,该图像为实际场景采集图,其中,背景地图场景为实际的地图场景,如指定id所对应的车辆行驶过程中旁边的景物、建筑等路况和线路,其背景地图场景的具体内容并不被限定且不影响本申请的保护范围。对比无缩放功能的三维图可发现,视角放大时,每一柱状图之间的间距变大,但视角缩放过程中每一柱状图的高度、每一柱状图所对应的点的时间位置信息及其所对应的背景中的地图位置信息跟随轨迹点在视角上进行变化,保证点与相关轨迹信息的对应关系。相比于现有技术中数据直接在伪三维地图中展现时,利用层叠样式表的转换属性(transform)来进行视角与景深的改变,但对数据本身的展现还停留在二维上,而本申请中的一实施例展现了柱状图显示增长动画,且通过不同视角来观测数据,真正实现移动轨迹数据的三维可视化。
优选地,所述设备还包括:当前信息生成装置,用于基于所述三维移动轨迹图像,生成当前视角信息和景深信息。
在此,当三维移动轨迹图像生成时,当前视角信息和景深信息需要记录,即当前地图垂直于屏幕视角和所观测地图的色彩深度及线条。例如,视角为50度时,生成信息格式为转换属性文件:rotateX(50deg),需要说明的是,所述转换属性文件是表示转换方式的文件,rotateX表示在X轴上旋转,deg表示角度的格式。因此转换属性文件:rotateX(50deg)表示当前图像为在X轴上旋转柱状图50度时的图像。当然,所述视角的度数可以在0至360度任意转换。
优选地,所述移动对象具有唯一标识信息。
在此,唯一标识信息(id)用于区分不同的移动对象,如车牌号、手机号、即时通讯登录号等,获取同一id的相关轨迹信息,基于相关轨迹信息进行该id所对应的移动对象的移动轨迹数据的三维可视化图像的绘制,当然,本领域技术人员应当能够理解此处对某一id所对应的移动对象的相关轨迹信息进行三维可视化分析和展现为一个方面的优选的实施例,现有及今后可能出现的三维可视化移动轨迹数据的对象,如能适用本申请,均可以引用的方式包含于本申请。
优选地,所述设备还包括:唯一标识信息获取装置,用于基于用户请求,获取所述用户请求对应的移动对象的唯一标识信息;相应地,所述获取装置11还用于:基于所述唯一标识信息,从若干移动对象的相关轨迹信息中获取所述唯一标识信息对应的所述移动对象的相关轨迹信息。
在此,根据用户的请求,获取所请求对应的移动对象的唯一标识信息,例如,根据请求获取交通轨迹中某一车辆的相关轨迹信息,则首先获取该车辆的车牌号或其他能够标识该车与其他车进行区别的唯一标识信息(id),选定指定id后,根据用户请求,通过服务端对数据库进行复合查询,对数据进行筛选后,选择出指定id的相关轨迹信息。需要说明的是,所述通过服务端对数据库进行复合查询获取的相关轨迹信息为本申请一优选实施例,现有及今后可能出现的获取相关轨迹信息的方法,如能适用本申请,均可以引用的方式包含于本申请。
更优选地,所述设备还包括:调整装置,用于基于用户对所生成的三维移动轨迹图像的调整操作请求,对所述三维移动轨迹图像相应的视角调整和缩放调整;反馈装置,用于反馈当前所述三维移动轨迹图像的视角信息和缩放信息。
在此,根据用户对图像的调整操作请求,如对三维移动轨迹图像进行旋转60度、旋转240度、缩放到只观测其中某一段的轨迹的图像等请求;或是将三维移动轨迹图像返回到二维移动轨迹图像。在具体实施例中,当需要将三维地图返回二维,首先将三维地图的视角与景深返回初始值,也就是地图垂直于屏幕视角,如:
三维视角:transform:rotateX(50deg);
二维视角:transform:rotateX(0deg);
再根据用户的选择,隐藏现有的3d柱状图,用户得以观测2d地图。
图7示出本申请一个方面的一个优选实施例的流程图。获取装置11获取相关轨迹数据后,向客户端导入经纬度数据,二维移动轨迹生成装置12根据坐标变换将导入的数据转换为屏幕数据,即屏幕上的坐标点,判断在屏幕上的地图视窗中的坐标点,对地图视窗中的坐标点进行绘制二维地图;三维移动轨迹生成装置13由后端计算移动对象的状态,如速率、心率,基于二维图像与移动对象的状态进行绘制三维地图,用户根据需求选择二维地图或三维地图进行观测,通过对图像的观测分析具体车辆或人员等移动对象的状态变化。
图8示出根据本申请又一个方面的一种三维可视化移动轨迹数据的方法流程示意图。所述方法包括步骤S11、步骤S12和步骤S13。
其中,在步骤S11中,获取移动对象的相关轨迹信息,其中,所述相关轨迹信息包括所述移动对象的时间位置信息及移动状态信息;在步骤S12中,基于所述时间位置信息,生成所述移动对象的二维移动轨迹图像;在步骤S13中,基于所述移动状态信息及所述二维移动轨迹图像,生成所述移动对象的三维移动轨迹图像,其中,所述三维移动轨迹图像的其中一维度展示与所述时间位置信息相对应的移动状态信息。
本申请一实施例所述方法用于三维可视化移动轨迹数据,由于二维图像转换为三维图像过程中,增加了移动对象的移动状态作为其中一维度,使得数据本身三维化,而且能够对图像进行缩放和旋转等操作,从不同视角进行观测数据,实现对移动对象的轨迹数据的分析和可视化展现的功能。
其中,所述移动对象具有唯一标识信息。在此,唯一标识信息(id)用于区分不同的移动对象,如车牌号、手机号、即时通讯登录号、应用软件账号、身份证号等,因此,根据唯一标识信息可以从众多移动对象中查找到指定所述移动对象。以下以选取某一个特定id的相关轨迹信息为例,对本申请所述用于三维可视化移动轨迹数据的设备进行详细描述,当然,本领域技术人员应当能够理解此处对选取的某一个特定id的相关轨迹信息进行三维可视化分析和展现为一个方面的优选实施例的场景,现有及今后可能 出现的选取三维可视化移动轨迹数据的场景,如能适用本申请,均可以引用的方式包含于本申请。
具体地,所述步骤S11获取移动对象的相关轨迹信息,其中,所述相关轨迹信息包括所述移动对象的时间位置信息及移动状态信息。
在此,移动对象是指在运动过程中留下轨迹所对应的对象,例如,交通中的车辆、跑步者等。所述时间位置信息包括所述移动对象的位置信息及与所述位置信息相对应的时间信息,其中,所述位置信息优选地为所述移动对象的经纬度信息。所述移动状态信息包括所述移动对象的移动相关属性信息,还包括所述移动对象的移动速度信息。
在一具体实施例中,采集如车辆轨迹、用户移动轨迹等移动对象的相关轨迹信息,其中,用户移动轨迹可以是用户的跑步轨迹、散步轨迹、生活轨迹等。对于所述相关轨迹信息,往往表现为点的集合,采集的原始数据虽各不相同,但其列名(schema)大都包含几项:一是位置,即x、y(三维情况包含z)。x、y除了表示真实的坐标,更多为经度和维度,本申请以下实施例中均以经纬度为准;二是时间,即点(x,y)被采集时的时间;三是唯一标识信息(id),用于区分留下点的对象,如车牌号、手机号、即时通讯登录号等。其余的相关轨迹信息,根据每次需求的相同选择获取,例如在交通可视化中,涉及到车辆的类型,则同时获取车辆的类型信息,例如用户跑步移动中的实时心率信息;另一些相关轨迹信息可以通过已有相关移动轨迹信息的综合计算推导获取,例如车辆或用户速度、用户所消耗的卡路里等。
在此,根据本申请一个方面的一个具体场景,将移动对象在基于html 5(第五版万维网核心语言)的数据可视化,数据请求和传输符合一般的web(网页)架构,如图2所示,数据用户所在的前端(客户端)可以发出请求,通过后端服务向数据库发出请求,数据库返回的轨迹数据通过后端网络服务中转到达客户端。获取同一id的轨迹数据也就是带有经纬度和时间的数据,在上述优选实施例中,由客户端生成http(超文本传输协议)的请求,通过服务端对数据库进行复合查询,返回用户所需的数据,实现通过对大规模数据的筛选,选择出指定id的数据,以便后续的图像绘制。
当然本领域技术人员应能理解,所述将移动对象在基于html 5的数据 可视化为本申请一个方面的一个具体场景举例,其他例如基于例如JAVA的数据可视化方式等,现有及今后可能出现的将移动对象进行可视化的场景,如能适用本申请,均可以引用的方式包含于本申请。
具体地,所述步骤S12基于所述时间位置信息,生成所述移动对象的二维移动轨迹图像。
接前例,在描绘交通轨迹数据中,将获取的经度和维度通过坐标变换(如网页墨卡尔变换),从经纬度坐标系变为屏幕坐标系上的点,在得到屏幕上的坐标系上的点后,开始将点进行连接绘制,得到二维的移动轨迹图像。
图3所示的二维移动轨迹图像为实际场景采集图,其中,线条轨迹为某一具体车辆的某一段运动轨迹,背景地图场景为实际的地图场景,如指定id所对应的车辆行驶过程中旁边的景物、建筑等路况和线路等,其背景地图场景的具体内容并不被限定且不影响本申请的保护范围。
具体地,所述步骤S13基于所述移动状态信息及所述二维移动轨迹图像,生成所述移动对象的三维移动轨迹图像,其中,所述三维移动轨迹图像的其中一维度展示与所述时间位置信息相对应的移动状态信息。
在此,移动状态信息如车辆的速率、刹车加速度、排尾气量等,跑步者的速率、心率、消耗的卡路里等。接上述实施例,在得到屏幕坐标系上的点后,开始依据对应点的坐标绘制柱状图,根据所绘制的柱状图的高度代表对应坐标点的状态数据,如速率,在后端没有提供速率的情况下,通过坐标点与时间来计算速率。
如图4所示的与图3中的二维移动轨迹图像相对应的三维移动轨迹图像,该图像为实际场景采集图,其中,背景地图场景为实际的地图场景等,其背景地图场景的具体内容并不被限定且不影响本申请的保护范围,如指定id所对应的车辆行驶过程中旁边的景物、建筑等路况和线路,其内容并不被限定。,每一柱状图的高度代表所对应点的速率,柱状图显示增长动画,根据柱状图高度进行渐变,增加了显示维度,更具有可视化效果。
需要说明的是,上述的三维移动轨迹图像中的柱状图为本申请一方面的一个优选实施例,也可以为其他图形,如连续的不规则的弧形体,现有及今后可能出现的表现移动状态的图形形状,如能适用本申请,均可以引用的 方式包含于本申请。
优选地,所述步骤S11获取所述移动对象的时间位置信息和移动状态信息。
在此,在本身的上述实施例中,获取同一id的相关数据,即是带有经纬度和时间的数据及其所对应的移动状态信息,客户端产生数据请求,通过服务端对数据库进行复合查询,返回需要的时间和对应位置信息,且由后端可直接提供各个时间位置信息所对应的移动状态信息,如车辆的速率通过车辆自身的速度盘进行获取。获取所需的时间位置信息和移动状态信息后,进行绘制移动轨迹图像。
优选地,所述移动状态信息包括所述移动对象的移动相关属性信息。
例如,移动对象为跑步者时,所述移动相关属性信息可为跑步者的心率、消耗的卡路里等。在交通轨迹数据中,移动对象为车辆,则所述移动相关属性信息可为该车的排尾气量、刹车性能、消耗油量等。
优选地,所述步骤S11还包括:获取所述移动对象的时间位置信息;接着,基于所述时间位置信息获取所述移动对象的移动状态信息。
在一具体实施例中,客户端产生数据请求,通过服务端对数据库进行复合查询,返回需要的时间和对应位置信息,但后端不提供各个时间位置信息所对应的移动状态信息,则需要根据时间位置信息进行计算。其中,所述移动状态信息包括移动对象的移动速度信息,所述移动状态信息还包括所述移动对象的移动相关属性信息。例如,某一跑步者的速度通过坐标点与时间进行计算,跑步者的心率和消耗的卡路里也可以通过推导计算获得。
优选地,所述方法还包括:生成背景展示图层;所述步骤S12还包括:获取所述移动对象的时间位置信息与所述背景展示图层的位置对应关系,基于所述位置对应关系,在所述背景展示图层上生成所述移动对象的二维移动轨迹图像。
在进行实际绘制中,首先需要绘制图像时所需要的图层,即背景展示图层,还要获取移动对象的每一时间位置信息所对应的背景展示图层的位置对应关系,例如,某时间点t时移动对象所在的位置及此时旁边的建筑物、景物等和所在的路段,具有实际的地图效果。根据所获取的信息进行绘制图像, 屏幕上展示图像时的背景为所获取的对应的地理场景,在背景展示图层上生成二维图像。
更优选地,所述背景展示图层具有地图图层和可缩放矢量图层,所述地图图层具有与位置相关的地图信息,所述可缩放矢量图层用于基于用户需求缩放所述地图图层的展示尺寸。
在此,进行图像的绘制需要前端初始化,即生成背景展示图层,其中,所述背景展示图层具有地图图层和可视化需要的可缩放矢量图层(svg),并且缩放到一个合理的区域,计算视窗范围内两个点在坐标系内的坐标值xMin(x轴最小值)、yMin(y轴最小值)、xMax(x轴最大值)、yMax(y轴最大值)。获取同一id的轨迹数据也就是带有经纬度和时间的数据,将其展示区域选为[[xMin,yMin],[xMax,yMax]],以及一段时间范围[t1,t2]内。另外,前端绘制需求的数据格式为:经度(lng)、维度(lat)、时间(time)、id(唯一标识)。经度和纬度通过坐标变换变为图层中的坐标点,而地图图层具有与位置相关的地图信息,如与某时间点t时移动对象所在的位置相关的其旁边的建筑物、景物等和所在的路段等地图信息;所述可缩放矢量图层用于基于用户需求缩放所述地图图层的展示尺寸,如根据用户的需求对图像进行缩小或放大等处理,相应的图像上的点及其背景位置信息跟随变化。
优选地,所述步骤S13还包括:对所述三维移动轨迹图像进行视角缩放可变化处理。
在此,在二维图像转换为三维图像过程中,支持用户对图像的缩放,旋转等可变化处理,达到通过不同视角进行观测数据的目的。例如,通过浏览器自带的层叠样式表(css),创建动画,如本申请实施例中的柱状图显示增长动画,通过层叠样式表的转换属性对三维移动轨迹图像进行缩放或旋转等的视角可变化处理。需要说明的是,所述层叠样式表用来进行网页风格的设计,通过设立样式表,可以统一控制HTML中各标志的显示属性,使用户有效地控制网页外观以及创建特殊效果的能力。
更优选地,对所述三维移动轨迹图像进行视角缩放可变化处理包括:对所述生成的三维移动轨迹图像按照维度坐标轴进行可旋转化处理;对所述生成的三维移动轨迹图像进行可缩放化处理。
在本申请的上述优选实施例中,绘制柱状图后,根据对应的地图的角度在x轴上旋转柱状图90度,在已经是视角的地图上,可以看到垂直于地图的柱状图,在用户视角来观测为三维柱状图。如图5(a)和图5(b)所示,分别为将所得的三维移动轨迹图像在x轴上进行旋转60度和旋转240度,该图像为实际场景采集图,其中,背景地图场景为实际的地图场景,如指定id所对应的车辆行驶过程中旁边的景物、建筑等路况和线路其背景地图场景的具体内容并不被限定且不影响本申请的保护范围。由图5(a)和图5(b)可看出,移动轨迹中的每一点进行旋转时,其相应的时间位置信息及其所对应的背景中的地图信息跟随轨迹点在视角上进行变化,一直保持对应关系。例如,5(b)表示指定跑步者A的运动三维图像,从图可看出,柱状图高度表示跑步者A的移动状态,可看出,某一位置时跑步者的速度Speed:11mph,心率Heartrate:94bph。
如图6所示,为将三维移动轨迹图像进行视角缩放的可变化处理后的图像,该图像为实际场景采集图,其中,背景地图场景为实际的地图场景,如指定id所对应的车辆行驶过程中旁边的景物、建筑等路况和线路,其背景地图场景的具体内容并不被限定且不影响本申请的保护范围。对比无缩放功能的三维图可发现,视角放大时,每一柱状图之间的间距变大,但视角缩放过程中每一柱状图的高度、每一柱状图所对应的点的时间位置信息及其所对应的背景中的地图位置信息跟随轨迹点在视角上进行变化,保证点与相关轨迹信息的对应关系。相比于现有技术中,数据直接在伪三维地图中展现时,利用层叠样式表的转换属性(transform)来进行视角与景深的改变,但对数据本身的展现还停留在二维上,而本申请中的一实施例展现了柱状图显示增长动画,且通过不同视角来观测数据,真正实现移动轨迹数据的三维可视化。
优选地,所述方法还包括:当前信息生成装置,用于基于所述三维移动轨迹图像,生成当前视角信息和景深信息。
在此,当三维移动轨迹图像生成时,当前视角信息和景深信息需要记录,即当前地图垂直于屏幕视角和所观测地图的色彩深度及线条。例如,视角为50度时,生成信息格式为转换属性文件:rotateX(50deg),需要说明的是,所述转换属性文件是表示转换方式的文件,rotateX表示在X轴上旋转,deg表 示角度的格式。因此transform:rotateX(50deg)表示当前图像为在X轴上旋转柱状图50度时的图像。当然,所述视角的度数可以在0至360度任意转换。
优选地,所述移动对象具有唯一标识信息。
在此,唯一标识信息(id)用于区分不同的移动对象,如车牌号、手机号、即时通讯登录号等,获取同一id的相关轨迹信息,基于相关轨迹信息进行该id所对应的移动对象的移动轨迹数据的三维可视化图像的绘制,当然,本领域技术人员应当能够理解此处对某一id所对应的移动对象的相关轨迹信息进行三维可视化分析和展现为一个方面的优选的实施例,现有及今后可能出现的三维可视化移动轨迹数据的对象,如能适用本申请,均可以引用的方式包含于本申请。
优选地,所述方法还包括:唯一标识信息获取装置,用于基于用户请求,获取所述用户请求对应的移动对象的唯一标识信息;相应地,所述步骤S11还包括:基于所述唯一标识信息,从若干移动对象的相关轨迹信息中获取所述唯一标识信息对应的所述移动对象的相关轨迹信息。
在此,根据用户的请求,获取所请求对应的移动对象的唯一标识信息,例如,根据请求获取交通轨迹中某一车辆的相关轨迹信息,则首先获取该车辆的车牌号或其他能够标识该车与其他车进行区别的唯一标识信息(id),选定指定id后,根据用户请求,通过服务端对数据库进行复合查询,对数据进行筛选后,选择出指定id的相关轨迹信息。需要说明的是,所述通过服务端对数据库进行复合查询获取的相关轨迹信息为本申请一优选实施例,现有及今后可能出现的获取相关轨迹信息的方法,如能适用本申请,均可以引用的方式包含于本申请。
更优选地,所述方法还包括:基于用户对所生成的三维移动轨迹图像的调整操作请求,对所述三维移动轨迹图像相应的视角调整和缩放调整;反馈当前所述三维移动轨迹图像的视角信息和缩放信息。
在此,根据用户对图像的调整操作请求,如对三维移动轨迹图像进行旋转60度、旋转240度、缩放到只观测其中某一段的轨迹的图像等请求;或是将三维移动轨迹图像返回到二维移动轨迹图像。在具体实施例中,当需要将三维地图返回二维,首先将三维地图的视角与景深返回初始值,也就是地图 垂直于屏幕视角,如:
三维视角:transform:rotateX(50deg);
二维视角:transform:rotateX(0deg);
再根据用户的选择,隐藏现有的3d柱状图,用户得以观测2d地图。
图7示出本申请一个方面的一个优选实施例的流程图。在步骤S11中,获取相关轨迹数据后,向客户端导入经纬度数据,在步骤S12中,根据坐标变换将导入的数据转换为屏幕数据,即屏幕上的坐标点,判断在屏幕上的地图视窗中的坐标点,对地图视窗中的坐标点进行绘制二维地图;在步骤S13中,由后端计算移动对象的状态,如速率、心率,基于二维图像与移动对象的状态进行绘制三维地图,用户根据需求选择二维地图或三维地图进行观测,通过对图像的观测分析具体车辆或人员等移动对象的状态变化。
需要注意的是,本申请可在软件和/或软件与硬件的组合体中被实施,例如,可采用专用集成电路(ASIC)、通用目的计算机或任何其他类似硬件设备来实现。在一个实施例中,本申请的软件程序可以通过处理器执行以实现上文所述步骤或功能。同样地,本申请的软件程序(包括相关的数据结构)可以被存储到计算机可读记录介质中,例如,RAM存储器,磁或光驱动器或软磁盘及类似设备。另外,本申请的一些步骤或功能可采用硬件来实现,例如,作为与处理器配合从而执行各个步骤或功能的电路。
另外,本申请的一部分可被应用为计算机程序产品,例如计算机程序指令,当其被计算机执行时,通过该计算机的操作,可以调用或提供根据本申请的方法和/或技术方案。而调用本申请的方法的程序指令,可能被存储在固定的或可移动的记录介质中,和/或通过广播或其他信号承载媒体中的数据流而被传输,和/或被存储在根据所述程序指令运行的计算机设备的工作存储器中。在此,根据本申请的一个实施例包括一个装置,该装置包括用于存储计算机程序指令的存储器和用于执行程序指令的处理器,其中,当该计算机程序指令被该处理器执行时,触发该装置运行基于前述根据本申请的多个实施例的方法和/或技术方案。
对于本领域技术人员而言,显然本申请不限于上述示范性实施例的细节,而且在不背离本申请的精神或基本特征的情况下,能够以其他的具体 形式实现本申请。因此,无论从哪一点来看,均应将实施例看作是示范性的,而且是非限制性的,本申请的范围由所附权利要求而不是上述说明限定,因此旨在将落在权利要求的等同要件的含义和范围内的所有变化涵括在本申请内。不应将权利要求中的任何附图标记视为限制所涉及的权利要求。此外,显然“包括”一词不排除其他单元或步骤,单数不排除复数。装置权利要求中陈述的多个单元或装置也可以由一个单元或装置通过软件或者硬件来实现。第一,第二等词语用来表示名称,而并不表示任何特定的顺序。