地图栅格化方法及平台与流程

文档序号:17587232发布日期:2019-05-03 21:26阅读:3042来源:国知局
地图栅格化方法及平台与流程

本公开涉及电子地图技术领域,特别涉及地图栅格化方法及平台。



背景技术:

海量的位置数据信息隐藏着巨大的价值,在挖掘其价值的过程中,需基于区域性特点或规律对位置数据信息进行数据统计。由于位置数据信息多以经纬度作为标记,为实现上述目的,现有技术多采用栅格化的方式对数据进行归集以将相邻的经纬度点聚合成面,并对某个面的特征进行考察,以实现归集数据及统计分析得出有价值信息的目的。但现有的栅格化方式过于繁杂,其大多为针对自由项目的特定方案,无法方便迁移,除此之外,现有的栅格化方式在初始化过程中需对整个地图生成所有栅格并记录栅格标识,会导致空间消耗。

应该注意,上面对技术背景的介绍只是为了方便对本公开的技术方案进行清楚、完整的说明,并方便本领域技术人员的理解而阐述的。不能仅仅因为这些方案在本公开的背景技术部分进行了阐述而认为上述技术方案为本领域技术人员所公知。



技术实现要素:

本公开旨在至少解决现有技术中存在的技术问题之一,提出了地图栅格化方法及平台。

第一方面,本公开实施例提供了一种地图栅格化方法,包括:

生成待栅格化地图,所述待栅格化地图具有经度边界值和纬度边界值;

当接收到输入的经纬度点信息时,基于所述经纬度点信息、所述待栅格化地图、地球半径及预设栅格大小粒度值在所述待栅格化地图上映射出所述经纬度点所属的隐式栅格,所述经纬度点位于所述栅格化地图内,所述经纬度点信息为经纬度点的经度和纬度。

在一些实施例中,在映射出经纬度点所属的隐式栅格的步骤之前还包括:

根据所述待栅格化地图的纬度边界值、地球半径和预设栅格大小粒度值计算出单位经度差;

根据地球半径和预设栅格大小粒度值计算出单位纬度差。

在一些实施例中,映射出经纬度点所属的隐式栅格的步骤具体包括:

根据所述经纬度点信息、所述待栅格化地图的经度边界值和纬度边界值、及单位经度差和单位纬度差计算出所述经纬度点的栅格坐标和候选栅格中心点经纬度边界值,所述栅格坐标由纬度栅格坐标和经度栅格坐标组成,所述候选栅格中心点经纬度边界值由经度左界值、经度右界值、纬度上界值和纬度下界值组成;

基于所述纬度栅格坐标和经度栅格坐标间的不同奇偶性从所述候选栅格中心点经纬度边界值中选择性组合生成两个候选栅格中心点;

选择与所述经纬度点间的欧氏距离最小的候选栅格中心点作为所述经纬度点的映射栅格中心点;

生成以所述映射栅格中心点为中心的正多边形栅格为所述经纬度点所属的隐式栅格。

在一些实施例中,生成两个候选栅格中心点的步骤具体包括:

判断纬度栅格坐标和经度栅格坐标的奇偶性是否相同,若判断出纬度栅格坐标和经度栅格坐标的奇偶性相同,根据经度左界值和纬度下界值生成第一候选栅格中心点、根据经度右界值和纬度上界值生成第二候选栅格中心点,若判断出纬度栅格坐标和经度栅格坐标的奇偶性不同,根据经度左界值和纬度上界值生成第一候选栅格中心点、根据经度右界值和纬度下界值生成第二候选栅格中心点。

在一些实施例中,通过公式

计算出单位经度差,其中,diffhor表示单位经度差,step表示栅格大小粒度值,maxlat表示最大纬度边界值,minlat表示最小纬度边界值,radius表示地球半径;

通过公式计算出单位纬度差,其中,diffver表示单位纬度差,step表示栅格大小粒度值,radius表示地球半径。

在一些实施例中,通过公式计算出纬度栅格坐标,其中,numlat表示纬度栅格坐标,input_lat表示经纬度点的纬度,minlat表示最小纬度边界值,diffver表示单位纬度差;

通过公式计算出经度栅格坐标,其中,numlon表示经度栅格坐标,input_lon表示经纬度点的经度,minlon表示最小经度边界值,diffhor表示单位经度差。

在一些实施例中,通过公式计算出纬度下界值,其中,latdown表示纬度下界值,numlat表示纬度栅格坐标,diffver表示单位纬度差,minlat表示最小纬度边界值;

通过公式计算出纬度上界值,其中,latup表示纬度上界值,numlat表示纬度栅格坐标,diffver表示单位纬度差,minlat表示最小纬度边界值;

通过公式计算出经度左界值,其中,lonleft表示经度左界值,numlon表示经度栅格坐标,diffhor表示单位经度差,minlon表示最小经度边界值;

通过公式计算出经度右界值,其中,lonright表示经度右界值,numlon表示经度栅格坐标,diffhor表示单位经度差,minlon表示最小经度边界值。

第二方面,本公开实施例提供了一种地图栅格化平台,包括:

生成模块,用于生成待栅格化地图,所述待栅格化地图具有经度边界值和纬度边界值;

接收模块,用于接收输入的经纬度点信息;

映射模块,用于当接收到输入的经纬度点信息时,基于所述经纬度点信息、所述待栅格化地图、地球半径及预设栅格大小粒度值在所述待栅格化地图上映射出所述经纬度点所属的隐式栅格,所述经纬度点位于所述栅格化地图内,所述经纬度点信息为经纬度点的经度和纬度。

在一些实施例中,还包括:

计算模块,用于根据所述待栅格化地图的纬度边界值、地球半径和预设栅格大小粒度值计算出单位经度差,根据地球半径和预设栅格大小粒度值计算出单位纬度差。

在一些实施例中,所述映射模块包括:

计算子模块,用于根据所述经纬度点信息、所述待栅格化地图的经度边界值和纬度边界值、及单位经度差和单位纬度差计算出所述经纬度点的栅格坐标和候选栅格中心点经纬度边界值,所述栅格坐标由纬度栅格坐标和经度栅格坐标组成,所述候选栅格中心点经纬度边界值由经度左界值、经度右界值、纬度上界值和纬度下界值组成;

生成子模块,用于基于所述纬度栅格坐标和经度栅格坐标间的不同奇偶性从所述候选栅格中心点经纬度边界值中选择性组合生成两个候选栅格中心点,生成以映射栅格中心点为中心的正多边形栅格为所述经纬度点所属的隐式栅格;

选择子模块,用于选择与所述经纬度点间的欧氏距离最小的候选栅格中心点作为所述经纬度点的所述映射栅格中心点。

本公开具有以下有益效果:

本公开提供的地图栅格化方法,当接收到输入的经纬度点信息时,基于经纬度点信息、待栅格化地图、地球半径及预设栅格大小粒度值在待栅格化地图上映射出经纬度点所属的隐式栅格。其将地图隐式划分为六边形栅格,无需预先计算并显式地枚举出整个地图中所有的栅格标识,只有当接收到输入的经纬度点信息时,方生成该经纬度点所属的隐式栅格,仅对所输入的经纬度点信息组的地图栅格化,能够有效达到节约资源的提升效率的目的。进一步地,当该方法应用于运营商业务分析场景中时,能够将离散化的位置数据归集到所属栅格,从而实现运营商海量信令位置数据的区域性分析,在提升信令位置数据的地图栅格化效率的同时,保证了海量信令位置数据的利用率,还具有灵活性较高、迁移方便和精准度高的优良效果。

参照后文的说明和附图,详细公开了本公开的特定实施方式,指明了本公开的原理可以被采用的方式。应该理解,本公开的实施方式在范围上并不因而受到限制。在所附权利要求的精神和条款的范围内,本公开的实施方式包括许多改变、修改和等同。

针对一种实施方式描述和/或示出的特征可以以相同或类似的方式在一个或更多个其它实施方式中使用,与其它实施方式中的特征相组合,或替代其它实施方式中的特征。

应该强调,术语“包括/包含”在本文使用时指特征、整件、步骤或组件的存在,但并不排除一个或更多个其它特征、整件、步骤或组件的存在或附加。

附图说明

为了更清楚地说明本公开实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本公开的一些实施例,对于本领域技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。

图1为本公开实施例提供的一种地图栅格化方法的流程示意图;

图2为本公开实施例提供的另一种地图栅格化方法的流程示意图;

图3为本公开实施例提供的一种地图栅格化方法的应用流程示意图;

图4为图3中在地图圈出任意多边形的示意图;

图5为本公开实施例提供的一种地图栅格化平台的结构示意图。

具体实施方式

为使本领域的技术人员更好地理解本公开的技术方案,下面结合附图对本公开中的技术方案进行清楚、完整的描述,显然,所描述的实施例是本公开的一部分实施例,而不是全部的实施例。基于本公开中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本公开保护的范围。

本领域技术技术人员知道,本公开的实施方式可以实现为一种系统、装置、设备、方法或计算机程序产品。因此,本公开可以具体实现为以下形式,即:完全的硬件、完全的软件(包括固件、驻留软件、微代码等),或者硬件和软件结合的形式。

下面参考本公开的若干代表性实施方式,详细阐释本公开的原理和精神。

图1为本公开实施例提供的一种地图栅格化方法的流程示意图,如图1所示,该方法包括以下步骤:

步骤s1、生成待栅格化地图。

优选地,本实施例中的各方法步骤由地图栅格化平台执行。

待栅格化地图为未预先计算出图中所有栅格标识的地图。本实施例的地图栅格化方法无需预先计算出并显式地枚举出地图中所有的栅格标识,能够有效节约存储空间,避免存储空间的浪费,提升地图栅格化效率。

待栅格化地图具有经度边界值和纬度边界值。纬度边界值包括最大纬度边界值maxlat和最小纬度边界值minlat,经度边界值包括最大经度边界值maxlot和最小经度边界值minlot。如:待栅格化地图为中国部分区域的地图时,其最大纬度边界值maxlat为北纬53.606011°,最小纬度边界值minlat为北纬16.3°或北纬17.750627°,最大经度边界值maxlot为东经135.606735°,最小经度边界值为东经73.123872°。

步骤s2、当接收到输入的经纬度点信息时,基于经纬度点信息、待栅格化地图、地球半径及预设栅格大小粒度值在待栅格化地图上映射出经纬度点所属的隐式栅格。

该经纬度点位于栅格化地图内,经纬度点信息为经纬度点的经度和纬度。输入的经纬度点input表示为(input_lat,input_lon),input_lat表示经纬度点的纬度,input_lon表示经纬度点的经度。隐式栅格为与现有技术中所显式枚举出的地图栅格相对的概念,本实施例的地图栅格化方法只有当接收到输入的经纬度点信息时,方生成该经纬度点所属的隐式栅格,仅对所输入的经纬度点信息组的地图栅格化,能够有效达到节约资源和提升效率的目的。

当本实施例的该地图栅格化方法应用于运营商业务分析场景中时,经纬度点信息即为运营商所采集的海量信令位置数据,运营商所采集的海量信令位置数据的数据量极大、且每个信令位置数据相互独立不具有区域性、且海量信令位置数据并未覆盖地图上的所有区域,该地图栅格化方法能够对应生成每个信令位置数据所属的隐式栅格,从而根据栅格化后的结果实现海量信令位置数据的区域性分析,在提升信令位置数据的地图栅格化效率的同时,保证了海量信令位置数据的利用率。

本实施例中地球半径radius取6317.393千米,预设栅格大小粒度值step取0.15千米。在实际应用场景中,栅格大小粒度值step可进行自适应性调节,如:对于人口密度相差较大的区域,如城市与郊区、东部省份与西部省份,可对应设置不同的栅格大小粒度,人口密度较大的区域其栅格大小粒度较小。当输入海量的经纬度点信息时,栅格大小粒度值step的自适应性调节的设计,能够有效节约资源并提升后续基于栅格的区域性统计准确性。

图2为本公开实施例提供的另一种地图栅格化方法的流程示意图,如图2所示,在本实施例的一些可选实现方式中,在步骤s2之前还包括:

步骤s121、根据待栅格化地图的纬度边界值、地球半径和预设栅格大小粒度值计算出单位经度差。

单位经度差表示一个隐式栅格占用的经度。

通过公式:

计算出单位经度差,其中,diffhor表示单位经度差,step表示栅格大小粒度值,maxlat表示最大纬度边界值,minlat表示最小纬度边界值,radius表示地球半径。

步骤s122、根据地球半径和预设栅格大小粒度值计算出单位纬度差。

单位纬度差表示一个隐式栅格占用的纬度。

通过公式计算出单位纬度差,其中,diffver表示单位纬度差,step表示栅格大小粒度值,radius表示地球半径。

进一步地,如图2所示,步骤s2具体包括:

步骤s201、根据经纬度点信息、待栅格化地图的经度边界值和纬度边界值、及单位经度差和单位纬度差计算出经纬度点的栅格坐标和候选栅格中心点经纬度边界值。

栅格坐标由纬度栅格坐标和经度栅格坐标组成。经纬度点的栅格坐标用于表示该经纬度点在纬度上的栅格坐标及该经纬度点在经度上的栅格坐标。

通过公式计算出纬度栅格坐标,其中,numlat表示纬度栅格坐标,input_lat表示经纬度点的纬度,minlat表示最小纬度边界值,diffver表示单位纬度差。

通过公式计算出经度栅格坐标,其中,numlon表示经度栅格坐标,input_lon表示经纬度点的经度,minlon表示最小经度边界值,diffhor表示单位经度差。

候选栅格中心点经纬度边界值由经度左界值、经度右界值、纬度上界值和纬度下界值组成。

通过公式计算出纬度下界值,其中,latdown表示纬度下界值,numlat表示纬度栅格坐标,diffver表示单位纬度差,minlat表示最小纬度边界值。

通过公式计算出纬度上界值,其中,latup表示纬度上界值,numlat表示纬度栅格坐标,diffver表示单位纬度差,minlat表示最小纬度边界值。

通过公式计算出经度左界值,其中,lonleft表示经度左界值,numlon表示经度栅格坐标,diffhor表示单位经度差,minlon表示最小经度边界值。

通过公式计算出经度右界值,其中,lonright表示经度右界值,numlon表示经度栅格坐标,diffhor表示单位经度差,minlon表示最小经度边界值。

步骤s202、基于纬度栅格坐标和经度栅格坐标间的不同奇偶性从候选栅格中心点经纬度边界值中选择性组合生成两个候选栅格中心点。

判断纬度栅格坐标numlat和经度栅格坐标numlon的奇偶性是否相同,若判断出纬度栅格坐标numlat和经度栅格坐标numlon的奇偶性相同,根据经度左界值lonleft和纬度下界值latdown生成第一候选栅格中心点、根据经度右界值lonright和纬度上界值latup生成第二候选栅格中心点,若判断出纬度栅格坐标numlat和经度栅格坐标numlon的奇偶性不同,根据经度左界值lonleft和纬度上界值latup生成第一候选栅格中心点、根据经度右界值lonright和纬度下界值latdown生成第二候选栅格中心点。

通过公式生成纬度栅格坐标numlat和经度栅格坐标numlon的奇偶性标识,其中,parity表示奇偶性标识。判断纬度栅格坐标numlat和经度栅格坐标numlon的奇偶性标识parity是否为0,若奇偶性标识parity为0,判断出纬度栅格坐标numlat和经度栅格坐标numlon的奇偶性相同,纬度栅格坐标numlat和经度栅格坐标numlon同为奇数或同为偶数;若奇偶性标识parity为1,判断出纬度栅格坐标numlat和经度栅格坐标numlon的奇偶性不同。

具体通过以下公式生成两个候选栅格中心点:

其中,cp表示候选栅格中心点组合,parity表示奇偶性标识,lonleft表示经度左界值,lonright表示经度右界值,latup表示纬度上界值,latdown表示纬度下界值。(lonleft,latdown)表示当奇偶性标识parity为0时生成的第一候选栅格中心点坐标,(lonright,latup)表示当奇偶性标识parity为0时生成的第二候选栅格中心点坐标,(lonleft,latup)表示当奇偶性标识parity为1时生成的第一候选栅格中心点坐标,(lonright,latdown)表示当奇偶性标识parity为1时生成的第二候选栅格中心点坐标。

步骤s203、选择与经纬度点间的欧氏距离最小的候选栅格中心点作为经纬度点的映射栅格中心点。

分别生成第一候选栅格中心点、第二候选栅格中心点与该经纬度点之间的欧式距离。

通过以下公式:

生成经纬度点的映射栅格中心点,其中,rp表示映射栅格中心点,input表示输入的经纬度点,cp[0]表示第一候选栅格中心点,cp[1]表示第二候选栅格中心点,distince()表示欧式距离函数。

步骤s204、生成以映射栅格中心点为中心的正多边形栅格为经纬度点所属的隐式栅格。

经纬度点所属的隐式栅格栅格以该映射中心点为中心生成。栅格的半径为大小粒度值step,栅格边上任一点至中心点的距离均为栅格大小粒度值step。优选地,本实施例中的栅格为正六边形。

栅格形状不局限于本实施例提供的六边形,也可以为矩形、八边形或十二边形。

应当注意,尽管在附图中以特定顺序描述了本公开方法的操作,但是,这并非要求或者暗示必须按照该特定顺序来执行这些操作,或是必须执行全部所示的操作才能实现期望的结果。附加地或备选地,可以省略某些步骤,将多个步骤合并为一个步骤执行,和/或将一个步骤分解为多个步骤执行。

本实施例提供的地图栅格化方法,将地图隐式划分为六边形栅格,无需初始化计算出地图上的所有栅格标识,只需输入经纬度点,即可映射获得该经纬度点所属的隐式栅格,能够将离散化的位置数据归集到所属栅格,能够有效节约地图栅格化的空间资源和时间资源。除此之外,相较现有技术而言,该方法还具有灵活性较高、迁移方便和精准度高的优良效果。

以下举例说明本实施例提供的地图栅格化方法的应用场景:

图3为本公开实施例提供的一种地图栅格化方法的应用流程示意图,图4为图3中在地图圈出任意多边形的示意图,如图3和图4所示,在实际应用场景中,当前端用户在地图圈出任意多边形或圆形的封闭区域时,基于本实施例提供的该地图栅格化方法,能够即时计算出封闭区域所覆盖及半覆盖的栅格面积并反馈该封闭区域的统计结果。具体地,对原生位置数据库中的经纬度点均进行地图栅格化并生成栅格数据库,栅格数据库中包含各经纬度点与所属栅格的对应信息。当前端用户在地图圈出任意多边形或圆形封闭区域时,获取该封闭区域所覆盖的所有栅格的id并生成栅格id集合,根据栅格id集合与栅格数据库返回该栅格id集合的属性信息与面积占比,如属性信息可以为中心商务区,基于返回的栅格id集合的属性信息与面积占比加权计算得到统计结果。此处,由于封闭区域的边界可能半覆盖栅格的一部分,对半覆盖的栅格采用加权平均的方法以生成统计结果,最后将统计结果反馈至前端用户,实现快速高效反馈指定闭环区域相关数据的技术效果。

当应用场景为运营商业务分析场景时,原生位置数据库可以为运营商采集存储的海量数据,统计结果可以反映区域性数据特点或区域用户画像。

本实施例提供的地图栅格化方法,无需预先计算并显式地枚举出整个地图中所有的栅格标识,只有当接收到输入的经纬度点信息时,方生成该经纬度点所属的隐式栅格,仅对所输入的经纬度点信息组的地图栅格化,能够有效达到节约资源的提升效率的目的。当该方法应用于运营商业务分析场景中时,能够将离散化的位置数据归集到所属栅格,从而实现运营商海量信令位置数据的区域性分析,在提升信令位置数据的地图栅格化效率的同时,保证了海量信令位置数据的利用率,还具有灵活性较高、迁移方便和精准度高的优良效果。

图5为本公开实施例提供的一种地图栅格化平台的结构示意图,如图5所示,该平台包括:生成模块11、接收模块12和映射模块13。

生成模块11用于生成待栅格化地图,待栅格化地图具有经度边界值和纬度边界值。接收模块12用于接收输入的经纬度点信息。映射模块13用于当接收到输入的经纬度点信息时,基于经纬度点信息、待栅格化地图、地球半径及预设栅格大小粒度值在待栅格化地图上映射出经纬度点所属的隐式栅格,经纬度点位于栅格化地图内,经纬度点信息为经纬度点的经度和纬度。

进一步地,该平台还包括:计算模块14。计算模块14用于根据待栅格化地图的纬度边界值、地球半径和预设栅格大小粒度值计算出单位经度差,根据地球半径和预设栅格大小粒度值计算出单位纬度差。

进一步地,映射模块13具体包括:计算子模块131、生成子模块132和选择子模块133。

计算子模块131用于根据经纬度点信息、待栅格化地图的经度边界值和纬度边界值、及单位经度差和单位纬度差计算出经纬度点的栅格坐标和候选栅格中心点经纬度边界值,栅格坐标由纬度栅格坐标和经度栅格坐标组成,候选栅格中心点经纬度边界值由经度左界值、经度右界值、纬度上界值和纬度下界值组成。生成子模块132用于基于纬度栅格坐标和经度栅格坐标间的不同奇偶性从候选栅格中心点经纬度边界值中选择性组合生成两个候选栅格中心点,生成以映射栅格中心点为中心的正多边形栅格为经纬度点所属的隐式栅格。选择子模块133用于选择与所述经纬度点间的欧氏距离最小的候选栅格中心点作为所述经纬度点的所述映射栅格中心点。

本实施例提供的地图栅格化平台可用于实施本实施例提供的地图栅格化方法。

本实施例提供的地图栅格化平台,能够有效达到节约资源的提升效率的目的。当其应用于运营商业务分析场景中时,能够将离散化的位置数据归集到所属栅格,从而实现运营商海量信令位置数据的区域性分析,在提升信令位置数据的地图栅格化效率的同时,保证了海量信令位置数据的利用率,还具有灵活性较高、迁移方便和精准度高的优良效果。

本领域内的技术人员应明白,本公开的实施例可提供为方法、系统、或计算机程序产品。因此,本公开可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本公开可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。

本公开是参照根据本公开实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。

这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。

这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。

本公开中应用了具体实施例对本公开的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本公开的方法及其核心思想;同时,对于本领域的一般技术人员,依据本公开的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本公开的限制。

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