点位数据聚合方法和系统与流程

文档序号:16628660发布日期:2019-01-16 06:21阅读:1697来源:国知局
点位数据聚合方法和系统与流程

本发明涉及地图技术领域,并且特别涉及一种点位数据聚合方法和系统,用于基于地图的热力图。



背景技术:

目前,基于地图的热力图的显示原理是根据用户提所供的全球定位系统(globalpositioningsystem,gps)点位的位置信息和数值来呈现热力图的效果。以地理信息系统(geographicinformationsystem,gis)地图的热力图的应用为例,其常用的数据加载方式是将每个经纬度点位上的数值加载到地图引擎,而后再渲染成热力图的形式。在数据量少的情况下,这个方式完全可以满足一般的业务应用需求。

然而,在某些业务应用场景中,由于用于分析热力图的数据的数量过大,导致这些数据在加载时有速度缓慢、渲染时间过长等状况,使得用户的等待时间过长。因此,需要对这些数据进行聚合处理,以达到只需加载少量的数据,借以减少数据加载和渲染的时间。



技术实现要素:

本发明提出了一种点位数据聚合方法和系统,可对大数据量的点位数据进行压缩处理,从而实现数据聚合,以达到用户端只需加载少量的数据、即可在宏观层面上达到相当的热力图呈现效果。

在一个方面,提出了一种点位数据聚合方法,其包括:

对该地图热力图的点位数据列表中的多个点位数据进行点位聚合;

计算所述多个点位数据所对应的每个点位与其它点位之间的距离,并判断该距离是否小于设定阀值;以及

对该距离小于该设定阀值的每个点位与所述多个点位数据所对应的另一个点位所对应的两个该点位数据进行聚合,以产生聚合点的点位数据并取代每个点位所对应的该点位数据。

在另一个方面,提出了一种点位数据聚合系统,其包括处理器和存储器,该存储器中存储有点位数据聚合单元,该点位数据聚合单元用于:

对该地图热力图的点位数据列表中的多个点位数据进行点位聚合;

计算所述多个点位数据所对应的每个点位与其它点位之间的距离,并判断该距离是否小于设定阀值;以及

对该距离小于该设定阀值的每个点位与所述多个点位数据所对应的另一个点位所对应的两个该点位数据进行聚合,以产生聚合点的点位数据并取代每个点位所对应的该点位数据。

本发明通过分析各个点位的位置和数值,并将距离阀值范围内的所有点位的数据聚合为一个点位数据,从而实现压缩点位数据、又不影响热力图的宏观呈现效果。

附图说明

包括附图以提供对实施例的进一步理解并且附图被并入本说明书中并且构成本说明书的一部分。附图图示了实施例并且与描述一起用于解释本发明的原理。将容易认识到其它实施例和实施例的很多预期优点,因为通过引用以下详细描述,它们变得被更好地理解。附图的元件不一定是相互按照比例的。同样的附图标记指代对应的类似部件。

图1是根据本发明的一个实施例的点位数据聚合方法的流程图;以及

图2是根据本发明的一个实施例的点位数据聚合系统的示意图。

具体实施方式

在以下详细描述中,参考附图,该附图形成详细描述的一部分,并且通过其中可实践本发明的说明性具体实施例来示出。应当理解的是,可以利用其他实施例或可以做出逻辑改变,而不背离本发明的范围。因此以下详细描述不应当在限制的意义上被采用,并且本发明的范围由所附权利要求来限定。

图1示出了根据本发明的一个实施例的点位数据聚合方法的流程图。该点位数据聚合方法应用在基于地图的热力图,用来实现热力图的点位数据的聚合。在一实施例中,该点位数据聚合方法由图2所示的点位数据聚合系统实现,应用于例如地理信息系统(geographicinformationsystem,gis)的地图热力图g(图未示)。如图1所示,该点位数据聚合方法包括以下步骤:

s10:对地图热力图g的点位数据列表l(图未示)中的点位数据dp(图未示)进行点位聚合a(图未示)。

点位数据列表l中包括地图热力图g中的所有点位数据dp,点位数据dp中包括位置信息i(图未示)和点位数值v(图未示),每个点位数据dp对应于地图热力图g中的一个点位p(图未示)。从点位数据列表l中读取所有的原始点位数据dp,并对原始点位数据dp进行点位聚合a以产生聚合结果r(图未示)。

在一实施例中,采用geohash算法实现点位聚合a。此外,可根据最终聚合的距离参数值,选择相应的geohash聚合精度,再遍历读取待计算的点位数据列表l,以对所有点位数据dp进行geohash聚合。根据相应的权重,可计算每个geohash区域块的数据点位信息,从而计算出geohash聚合的聚合结果r。

s20:计算点位数据dp所对应的每个点位p与其它点位p之间的距离d(图未示),并判断距离d是否小于设定阀值t(图未示)。

在步骤s10对点位数据列表l中的所有点位数据dp进行一次点位聚合a之后,对点位聚合a后的所有点位数据dp进行二次点位聚合a。

以遍历的形式读取聚合结果r,先将读取聚合结果r中的第一个点位数据dp直接写入自定义范围聚合结果rc(图未示),然后逐一读取聚合结果r中的(第一个点位数据dp之外的)其他点位数据dp,将每个点位数据dp与自定义范围聚合结果rc中的点位数据dp逐个进行比较。在一实施例中,步骤s20包括:

将第一个点位数据dp加入自定义范围聚合结果rc;

计算其他点位数据dp中的每一个所对应的点位p与自定义范围聚合结果rc中的每个点位数据dp所对应的点位p之间的距离d;以及

判断距离d是否小于设定阀值t。

其中,在计算其他点位数据dp中的每一个所对应的点位p与自定义范围聚合结果rc中的每个点位数据dp所对应的点位p之间的距离d的步骤中,可根据其他点位数据dp中的每一个所对应的点位p与自定义范围聚合结果rc中的每个点位数据dp所对应的点位p的三维坐标计算该两个点位p的直线距离。例如当其他点位数据dp中的一个点位pa的三维坐标为(x1,y1,z1)、自定义范围聚合结果rc中的一个点位pb的三维坐标为(x2,y2,z2),可用以下的直线距离公式来计算两个点位p之间的直线距离:

若判断的结果是距离d小于设定阀值t,则执行步骤s30。在一实施例中,若其他点位数据dp中的每一个所对应的点位p与自定义范围聚合结果rc中的所有点位数据dp所对应的点位p之间的距离d都不小于设定阀值t,则将其他点位数据dp中的每一个加入自定义范围聚合结果rc(即,与当前所有的自定义范围聚合结果rc中的点位p相比较的结果,都不存在小于设定阀值t的情况,则当前点位p的点位数据dp就为新数据写入自定义范围聚合结果rc)。

s30:对距离d小于设定阀值t的每个点位p与点位数据dp所对应的另一个点位p所对应的两个点位数据dp进行聚合,以产生聚合点m(图未示)的点位数据dp并取代每个点位p所对应的点位数据dp。

将距离d在设定阀值t范围内的所有点位p的点位数据dp聚合为一个点位数据dp,从而更新点位数据列表l。在一实施例中,步骤s30包括:

根据距离d小于设定阀值t的每个点位p与另一个点位p所对应的两个点位数据dp中的位置信息i和点位数值v,计算聚合点m的位置信息i和点位数值v;以及

产生聚合点m的点位数据dp并取代每个点位p所对应的点位数据dp,其中聚合点m的点位数据dp包括聚合点m的位置信息i和点位数值v。

例如当距离d小于设定阀值t的点位a与另一个点位b的位置信息i分别为三维坐标(xa,ya,za)和(xb,yb,zb)、点位数值分别为va和vb,聚合点m的位置信息i(xm,ym,zm)的计算公式为:

xm=(xb-xa)×va/(va+vb)+xa;

ym=(yb-ya)×va/(va+vb)+ya;

zm=(zb-za)×va/(va+vb)+za;

聚合点m的点位数值vm的计算公式为:

vm=va+vb。

重复执行步骤s20-s30,从而对点位数据列表l中的所有点位数据dp进行二次点位聚合a。过程中,步骤s30之后或步骤s20判断距离d不小于设定阀值t时,(根据制定的遍历顺序)读取经过点位聚合a后的下一组点位数据dp,直到点位数据列表l中的所有点位数据dp遍历完成,形成新的数据列表l,而后结束执行。在一实施例中,为了进一步提高数据聚合的精度,可重复步骤s20-s30对聚合结果r进行多次数据聚合,直到聚合的次数达到设定的上限次数、或聚合后的数据聚合数量未产生变化。

本实施例通对每个点位的位置坐标与其它点的位置坐标计算距离,通过两两点位的距离计算,判定距离是否小于设定阀值。在距离小于阀值时,再根据点位的数值,计算两个点位的聚合点位信息,形成新的点位数据,以取代旧的两个点位数据,从而对小于阀值的点位数据进行聚合,以达到数据压缩作用。

图2是根据本发明的一个实施例的点位数据聚合系统的示意图。该点位数据聚合系统应用在基于地图的热力图,用来实现热力图的点位数据的聚合。如图2所示,在一实施例中,点位数据聚合系统100是一种计算设备(例如服务器、电脑和移动智能终端)。点位数据聚合系统100包括处理器110和存储器120,存储器120中存储有点位数据聚合单元121。处理器110是一种集成电路芯片,例如微处理器(centralprocessingunit,cpu)、数字信号处理器(digitalsignalprocessor,dsp)、专用集成电路(applicationspecificintegratedcircuit,asic)、现成可编程门阵列(field-programmablegatearray,fpga)或其他可编程逻辑器件,用来执行存储器120中所存储的计算机程序。点位数据聚合单元121包括用来实现图1所示的点位数据聚合方法的计算机程序。

本申请实施例的点位数据聚合系统与上述点位数据聚合方法实施例基于相同的发明构思,系统的一些具体技术特征可参照方法实施例,在此不再详述。

需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素。

显然,本领域技术人员在不偏离本发明的精神和范围的情况下可以作出对本发明的实施例的各种修改和改变。以该方式,如果这些修改和改变处于本发明的权利要求及其等同形式的范围内,则本发明还旨在涵盖这些修改和改变。词语“包括”不排除未在权利要求中列出的其它元件或步骤的存在。某些措施记载在相互不同的从属权利要求中的简单事实不表明这些措施的组合不能被用于获利。权利要求中的任何附图标记不应当被认为限制范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1