CN109977179A - 一种分层的网格划分实现海量地物标记点聚散可视化方法 - Google Patents
一种分层的网格划分实现海量地物标记点聚散可视化方法 Download PDFInfo
- Publication number
- CN109977179A CN109977179A CN201910124474.XA CN201910124474A CN109977179A CN 109977179 A CN109977179 A CN 109977179A CN 201910124474 A CN201910124474 A CN 201910124474A CN 109977179 A CN109977179 A CN 109977179A
- Authority
- CN
- China
- Prior art keywords
- map
- grid
- level
- atural object
- object mark
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Landscapes
- Instructional Devices (AREA)
- Processing Or Creating Images (AREA)
Abstract
本发明公开了一种分层的网格划分实现海量地物标记点聚散可视化方法,包括获取地图当前的缩放比例,并结合预设的聚散层级计算规则确定当前为聚合展示或散开展示,所述散开展示执行的步骤包括:根据可视化的展示区域的像素坐标得到地图上对应的经纬度范围;根据经纬度范围,查询动态索引得到该经纬度范围内的标记物信息;利用网格过滤算法,依据后进先出原则对标记物信息进行筛选;将筛选后的标记物信息采用坐标转换算法渲染到地图上进行散开展示。本发明的方法可以提高海量数据在地图上展示的效率,提高海量点散开展示的辨识度,实现地图交互查询。
Description
技术领域
本发明属于数字地图技术领域,具体涉及一种分层的网格划分实现海量地物标记点聚散可视化方法。
背景技术
数字地图技术随着大数据时代的到来,其在相关应用领域也在推陈出新,海量数据的地图可视化应运而生。海量数据的地图可视化,指的是在有限的数字地图显示区域内展示海量的地图标记物(地物标记点),通常在计算机屏幕内,在浏览器窗口中,地图缩放等级很高时,比例尺很大,要显示海量的地图标记物是困难的,一般都会采用点聚合的方式,然而在地图缩放等级很低时,又需要散开显示具体的地图标记物。
目前,许多地图提供商都有点聚合的解决方案,不过他们都是基于最小边界矩形(MBR)和距离进行的。点聚合从给定的距离和任意点开始,构造以点为圆心给定距离为半径的圆的最小外接矩形,如果该外接矩形与现有的点的最小外接矩形不相交,则新建聚合点;如果相交,则把现有的点加入到聚合点中,如果点的外接矩形与多个已知点的外接矩形相交,则计算该点与多个已知点的距离,取最小的加入其中,如此循环,直到所有点都遍历完毕。对于聚合点的散开,地图提供商普遍都是直接展示。
但是上述的聚合算法,需要对所有的点逐一计算进行聚合,对于海量点(百万级、亿级)计算效率大大降低,缺少对海量点进行分层处理机制,很容易造成超出浏览器负载能力,前端页面卡死的后果。还有对聚合点的散开,缺少相应的过滤机制,无法避免图标堆叠现象,另外受限于地图提供商,不能提供一种适用多种坐标系类型地图的点聚散解决方案。
发明内容
本发明的目的在于提供一种分层的网格划分实现海量地物标记点聚散可视化方法,该方法可以提高海量数据在地图上展示的效率,提高海量点散开展示的辨识度,实现地图交互查询。
为实现上述目的,本发明所采取的技术方案为:
一种分层的网格划分实现海量地物标记点聚散可视化方法,对设定区域进行分层的网格划分,根据划分所得的网格的层级和中心点进行编码,同时根据网格的中心点信息建立静态索引;
获取所述设定区域内的地物标记点信息,按照网格的编码进行统计,并将统计信息保存至数据库,同时根据获取的地物标记点信息建立动态索引;
所述的网格划分实现海量地物标记点聚散可视化方法,包括获取地图当前的缩放比例,并结合预设的聚散层级计算规则确定当前为聚合展示或散开展示,所述散开展示执行的步骤包括:
根据可视化的展示区域的像素坐标得到地图上对应的经纬度范围;
根据经纬度范围,查询动态索引得到该经纬度范围内的地物标记点信息;
利用网格过滤算法,依据后进先出原则对地物标记点信息进行筛选;
将筛选后的地物标记点信息采用坐标转换算法渲染到地图上进行散开展示。
作为优选,所述的聚合展示执行的步骤包括:
根据可视化的展示区域的像素坐标得到地图上对应的经纬度范围;
查询静态索引,得到所述经纬度范围内对应层级的网格的中心点信息;
根据网格的中心点信息查询数据库,得到对应网格的统计信息;
采用坐标转换算法将统计信息渲染到地图上进行聚合展示。
作为优选,所述的聚合展示包括高级聚合展示和低级聚合展示,所述的网格的层级包括与高级聚合展示对应的高层级,以及与低级聚合展示对应的低层级;
若为高级聚合展示,则根据静态索引查询所得的为高层级的网格的中心点信息;若为低级聚合展示,则根据静态索引查询所得的为低层级的网格的中心点信息。
作为优选,所述网格的层级≥1层。
作为优选,所述利用网格过滤算法,依据后进先出原则对地物标记点信息进行筛选,包括:
假设展示区域中的地物标记图标的尺寸为P*Q像素单位;
假设展示区域的分辨率为S*T像素单位,结合地物标记图标缓存为P*Q像素单位,将展示区域划分为(S/2P)*(T/2Q)个网格;
对于处在同一网格中的地物标记点信息,依据后进先出原则去除重叠的地物标记点信息,得到筛选后的地物标记点信息。
作为优选,所述的静态索引和动态索引均采用K-D树索引。
本发明提供的分层的网格划分实现海量地物标记点聚散可视化方法,对网格中心点建立K-D树索引,结合对海量地物标记点计算分类统计,采用可视区显示聚合点,其他外围区域不显示,提高了统计信息的快速聚合展现;根据电子地图坐标系类型,采用封装的坐标转换算法,对不同类型坐标地图进行自适应展示,提高了通用性;对可视区范围内的海量地物标记点,采用基于图标和显示器分辨率的网格过滤算法,进行二次过滤,达到海量地图标记点去除重叠点效果,提高海量点散开展示的辨识度,提高了交互查询展示效果。
附图说明
图1为本发明分层的网格划分实现海量地物标记点聚散可视化方法的一种实施例流程框图;
图2为本发明实施例1中聚合展示的流程框图;
图3为本发明实施例1中散开展示的流程框图;
图4为本发明实施例1中市级的聚合在百度地图上渲染的示意图;
图5为本发明实施例1中区县级的聚合在百度地图上渲染的示意图;
图6为本发明实施例1中聚合点在天地图上渲染的示意图;
图7为本发明实施例1中可视区域原始未过滤散开的点的示意图;
图8为本发明实施例1中可视区域进过二次过滤之后散开的点的示意图;
图9为本发明实施例1中过滤之后的散开点在百度地图上渲染的示意图;
图10为本发明实施例1中过滤之后的散开点在天地图上渲染的示意图;
图11为本发明实施例2中高层级网格聚合在天地图上渲染的示意图;
图12为本发明实施例2中低层级网格聚合在天地图上渲染的示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
除非另有定义,本文所使用的所有的技术和科学术语与属于本发明的技术领域的技术人员通常理解的含义相同。本文中在本发明的说明书中所使用的术语只是为了描述具体的实施例的目的,不是在于限制本发明。
如图1所示,一种分层的网格划分实现海量地物标记点聚散可视化方法,首先,对设定区域进行网格划分,并定义网格属性;其次,确定聚散层级计算规则;再次,获取当前地图的缩放比例zoom,并根据聚散层级计算规则确定当前为高层级聚合展示、低层级聚合展示或散开展示,譬如百度地图缩放比例zoom有19级,确定0~4级为高层级聚合(世界地图范围)、5~7级为低层级聚合(中国区域范围),8~19级为散开展示等,需要说明的是,聚散层级计算规则可以根据实际需要进行确定;最后,
若为高层级聚合展示,则获取高层级聚合信息并进行展示;
若为低层级聚合展示,则获取低层级聚合信息并进行展示;
若为散开展示,则过滤将要展示的重叠点,进行优化后展示。在海量地物标记点的聚散可视化展示中,必不可少的是获取海量地物标记点信息,进行相应处理后进行存储,为后期搜索建立基础。
在建立搜索基础时,首先对设定区域进行分层的网格划分,根据划分所得的网格的层级和中心点进行编码,同时根据网格的中心点信息建立静态索引。当然,网格的构造要以显示器分辨率和地图地物标记点可清晰分辨为原则,拆分网格要取整。
在网格划分中,层级最低是1层,若层级为大于1级,则需将层级划分为与高级聚合展示对应的高层级,以及与低级聚合展示对应的低层级,不同的层级中包含有不同的网格中心点信息。需要说明的是,此处所述的高层级与低层级仅为相对概念,用于区别聚合程度的不同。高层级应理解为聚合程度较高的一类层级,即高层级中可包含多个不同级别的层级;同理,低层级应理解为聚合程度较低的一类层级,即低层级中可包含多个不同级别的层级。
在进行编码时,编码规则推荐但不限于“层级代码+网格代码”的形式;所建立的静态索引为K-D树索引;网格的中心点信息包括网格对应的层级和网格中心点的经纬度信息。
而后获取所述设定区域内的地物标记点信息,按照网格的编码进行统计,并将统计信息(Key-Value形式)保存至数据库(例如NoSQL数据库),同时根据获取的地物标记点信息建立动态索引,该动态索引为K-D树索引。
在进行地物标记点的聚散可视化展示时,首先获取地图当前的缩放比例zoom,并结合预设的聚散层级计算规则确定当前为聚合展示或散开展示,若为聚合展示,还需明确是高级聚合展示或低级聚合展示,以便于获取对应的展示信息。
在根据当前地图的缩放zoom级别计算得到聚散层级之后,若为聚合展示,则执行的步骤包括:
(1)根据可视化的展示区域的像素坐标得到地图上对应的经纬度范围。
根据当前客户端(浏览器)的展示区域,通过把展示区域对角线的像素坐标转化为经纬度坐标,得到当前客户端展示区域的地图经纬度范围。
展示区域的像素坐标与经纬度坐标的对应关系为:
假设展示区域的像素坐标为[x,y],地图的经纬度坐标为[X,Y],透视变换函数为F,则可得到:
[x,y]=F([X,Y]);[X,Y]=FT([x,y]),其中为FT的逆函数。
(2)查询静态索引,得到所述经纬度范围内对应层级的网格的中心点信息。
根据确定的聚散层级以及步骤(1)得到的地图的经纬度范围,查询静态索引(K-D树索引),得到指定地图经纬度范围的区域内的确定聚散层级的网格中心点信息(含层级和经纬度信息)。
(3)根据网格的中心点信息查询数据库,得到对应网格的统计信息。
对于步骤(2)获取到的中心点信息结合保存在NoSQL数据库里的统计信息,可以整合得到指定地图经纬度范围内的确定聚散层级的中心点,以及对应的统计信息(统计信息为每一网格中包含的地物标记点信息总数),即得到聚合信息。
(4)采用坐标转换算法将统计信息渲染到地图上进行聚合展示。
采用封装的坐标转换算法,可以实现对百度坐标—bd09、天地图坐标—大地2000坐标、国测局坐标—GCJ02的自适应显示。对地物进行自适应展示时,需要做坐标转换和纠偏。
当前客户端(浏览器)的展示区域随着用户平移、缩放地图(缩放不达到显示具体标记物等级)而发生变化,依据步骤(1)~步骤(4)进行快速计算得到新的聚合信息并渲染到地图上。
当然在地图上点击聚合点也会触发地图缩放,通常为向下缩放一级,显示下一层级的聚合点。在地图的缩放过程中,根据当前地图的缩放zoom级别计算得到聚散层级,确定是否为散开级别,如果聚合已到最后层级,则再往下缩放就是散开展示,即具体的地图标记物显示。
具体地,所述散开展示执行的步骤包括:
(1)根据可视化的展示区域得到地图上对应的经纬度范围,获取方法与聚合展示中一致,不再进行赘述。
(2)根据经纬度范围,查询动态索引得到该经纬度范围内的地物标记点信息。
根据步骤(1)中得到的地图经纬度范围,查询动态索引(K-D树索引),得到指定地图经纬度范围的区域内的地图地物标记点信息(含图标、名称和位置信息)。
(3)利用网格过滤算法,依据后进先出原则对地物标记点信息进行筛选。
客户端对获得的地图标记物,进行二次过滤,利用网格过滤算法,依据后进先出的原则,对地图标记物进行筛选,对筛选后的地图标记物根据地图坐标系类型渲染到地图上。
具体的网格过滤算法,过滤重叠图标,包含如下步骤:
(3.1)假设展示区域的地物标记图标的尺寸为P*Q像素单位,且该像素的坐标点位于地物标记图标的中心位置;
(3.2)假设展示区域的分辨率为S*T像素单位,结合图标缓存为P*Q像素单位,将展示区域划分为(S/2P)*(T/2Q)个网格;
(3.3)对于每一个网格,采用基于几何拓扑关系的点与面相交运算,选出位于同一网格中的地物标记点信息,依据后进先出原则去除重叠的地物标记点信息,得到筛选后的地物标记点信息。
(3.4)将筛选后的地物标记点信息采用坐标转换算法渲染到地图上进行散开展示。将海量地物标记点,根据电子地图坐标系类型,采用封装的坐标转换算法,自适应的渲染到不同类型坐标系的地图上。
若当前客户端(浏览器)的显示区域随着用户平移、缩放地图(缩放不达到聚合等级)而发生变化,依据步骤(1)~步骤(3)进行快速计算得到新的地图标记物并渲染到地图上。
当前客户端(浏览器)的显示区域随着用户平移,随意缩放地图,根据地图缩放比例zoom值,依据上述两种情形,即聚合、散开来分别采用不同的步骤快速计算得到新的地图标记物并渲染到地图上。
本实施例对网格中心点建立K-D树索引,结合对海量地物标记点计算分类统计,采用可视区显示聚合点,其他外围区域不显示,提高了统计信息的快速聚合展现;根据电子地图坐标系类型,采用封装的坐标转换算法,对不同类型坐标地图进行自适应展示,提高了通用性;对可视区范围内的海量地物标记点,采用基于图标和显示器分辨率的网格过滤算法,进行二次过滤,达到海量地图标记点去除重叠点效果,提高海量点散开展示的辨识度,提高了交互查询展示效果。
以下通过两个实施例对本发明的分层的网格划分实现海量地物标记点聚散可视化方法进一步说明。
实施例1:一种利用分层的网格划分实现海量地物标记点聚散可视化方法,聚合展示的时序如图2所示,散开展示的时序如图3所示,具体包括以下步骤:
(1)利用在线地图开放平台提供的行政区查询接口或者测绘局,可以获得全国23个省、4个直辖市、5个自治区和2个特别行政区的本级以及向下三级(到街道级)的行政区中心点信息(行政区划码、经纬度),并持久化到MySQL数据库,将行政区划作为一种网格划分。
本实施例中采用如下规则计算聚散层级:当前的地图缩放zoom级别为15级以上,其中0~9级为省级聚合,10~12级为市级聚合,12~14级为区县级聚合,15以上为散开展示。在聚合层级中,省级聚合和市级聚合可理解为高层级聚合,区县级聚合可理解为低层级聚合。
(2)对于步骤(1)得到的数据库表,对省级行政区、市级行政区和区县级行政区的中心点分别生成K-D树索引,并将索引文件保存到一起;该索引为静态索引,只需生成一次。
(3)获取海量地图标记物的位置信息(经纬度),数据来源由客户提供或者网络采集。
(4)持久化海量地物标记点到MySQL数据库,同时将地图标记物的分类计数统计信息按照行政区划,以键值对形式(行政区划码-统计个数)存到Redis数据库。
(5)对于步骤(3)得的海量位置信息建立K-D树索引,并将索引文件保存;该索引为动态索引,每次有标记物增删时,会增量更新。
需要说明的是,上述步骤(4)、(5)可以并行进行也可以顺序进行,要依据实际需求而定,一般的,对于执行时间有要求的可以并发进行。
(6)根据当前客户端(浏览器)的显示区域,通过把区域对角线的像素坐标转化为经纬度坐标,得到当前客户端显示区域的地图经纬度范围。根据当前地图的缩放zoom级别按照步骤(1)中确定的规则,计算得到聚散层级。
(7)根据步骤(6)得到的地图经纬度范围和聚散层级查询步骤(2)得到的K-D树索引,得到指定地图经纬度范围的区域内确定聚散层级对应的行政区划的中心点信息(含行政区划码和经纬度信息)。
(8)对于步骤(7)获取到的中心点信息结合步骤(4)保存在Redis数据库里的统计信息,可以整合得到指定地图经纬度范围内确定聚散层级对应的行政区划的中心点以及相应的统计信息,即得到聚合信息。
对于不同的地图缩放级别,对应的聚合信息也会显示不同,高级别的缩放等级,对应的是较高等级的行政级别聚合信息,譬如市级聚合信息,如图4所示即为市级的聚合在百度地图上渲染,图中A点的展示信息为市1:87864家,图中B点的展示信息为市2:912109家。
低级别的缩放等级,对应的是较低等级的行政级别聚合信息,譬如区县聚合信息,如图5所示即为区县级的聚合在百度地图上渲染,图中C点的展示信息为县1:329984家,图中D点的展示信息为区1:296122家,图中E点的展示信息为区2:286003家。
(9)客户端地图根据地图坐标类型渲染聚合点;一般的,国内数字地图坐标类型分为百度坐标系—bd09,天地图坐标系—CGCS2000,火星坐标系—GCJ02;对于不同坐标转换算法,对其采用统一封装的形式可以自适应不同坐标系。如图6为聚合点在天地图上渲染,图中F点的展示信息为县1:329984家,图中G点的展示信息为区1:296122家,图中H点的展示信息为区2:286003家。
上述过程为聚合展示,当前客户端(浏览器)的显示区域随着用户平移、缩放地图而发生变化(缩放不达到显示具体标记物等级),依据步骤(6)~步骤(9)进行快速计算得到新的聚合信息并渲染到地图上。
点击聚合点,也会触发地图缩放,通常为向下缩放一级,譬如省级聚合点点击之后,会显示到下一级聚合点,即显示市级聚合点;如果聚合已到区县级别,则再往下缩放就是具体的地图标记物显示,显示地图标记物也是根据当前客户端(浏览器)的地图可视区域范围确定。
(10)根据当前地图的缩放zoom级别按照步骤(1)中确定的规则,计算得到聚散层级。当达到显示具体地图标记物级别时,根据当前客户端(浏览器)的地图可视区域范围,通过把区域对角线的像素坐标转化为经纬度坐标,得到当前屏幕的地图可视区域的经纬度范围。
(11)根据地图经纬度范围查询步骤(5)得到的K-D树索引,得到指定地图经纬度范围的区域内的地图地物标记点信息(含图标、名称和位置信息)。
(12)客户端对获得的地图标记物,如图7所示为可视区域原始未过滤散开的点,进行二次过滤,利用网格过滤算法,依据后进先出的原则,对地图标记物进行筛选,对筛选后的地图标记物根据地图坐标系类型渲染到地图上,如图8所示为可视区域进过二次过滤之后散开的点,具体做法包含如下步骤:
a)假设地图标记物图标的尺寸为30*30像素,屏幕分辨率为1920*1080,则对于浏览器显示区域依据屏幕分辨率,划分为(1920/60)*(1080/60)=32*18的网格;
b)利用点与多边形相交的几何关系,依据后进先出的原则对于步骤(12)返回的点进行筛选,过滤掉同一个网格中重叠的点;
c)对过滤后的点根据地图坐标系类型进行自适应显示。
需要说明的是图7~图8主要为了体现过滤前后地物标记点信息在地图上显示的点的密集程度,主要观察圆点的位置和数量而并非图中所示的地图信息。图9~图10主要体现相同的点位,不同的标记物图标在不同地图上自适应渲染的效果,主要观察圆点位置和地图类型。
当前客户端(浏览器)的显示区域随着用户平移、缩放地图(缩放不达到聚合等级)而发生变化,依据步骤(10)~步骤(12)进行快速计算得到新的地图标记物并渲染到地图上。
上述为散开展示,当前客户端(浏览器)的显示区域随着用户平移,随意缩放地图,依据上述两种情形,即聚合、散开来分别采用不同的步骤快速计算得到新的地图标记物并渲染到地图上。
实施例2:一种利用分层的网格划分实现海量地物标记点聚散可视化方法,通过对网格进行定义和划分,可以对地图区域进行划分,划分可以不按照行政区,可以不规则。一般的,按照地形边界划分是一种常见的网格划分策略,地形边界可以分层显示,高比例尺下只显示上层边界,低比例尺下只显示下层边界。对于在地形边界基础上实现海量地物标记点聚散可视化,可以采用如下步骤:
(1)对已有的各层地形边界分别计算几何中心点(经纬度),计算出所有几何中心点,然后持久化到MySQL数据库。
本实施例中采用如下规则计算聚散层级:当前的地图缩放zoom级别为17级以上,其中0~12级为一级聚合(市级),13~14级为二级聚合(街道级),15~16级为三级聚合(村级),17级以上为散开展示。其中一级聚合和二级聚合可理解为高层级聚合,三级聚合可理解为低层级聚合。
(2)对于步骤(1)得到的数据库表,生成K-D树索引,并将索引文件保存;该索引为静态索引,只需生成一次。
(3)获取海量地图标记物的位置信息(经纬度),数据来源由客户提供。
(4)持久化海量地物标记点到MySQL数据库,同时将地图标记物的分类计数统计信息按照网格编码(“层级代码-网格代码”)-统计个数,以键值对形式(网格编码-统计个数)存到Redis数据库。
(5)对于步骤(3)获得的海量位置信息建立K-D树索引,并将索引文件保存;该索引为动态索引,每次有标记物增删时,会增量更新。
(6)根据当前客户端(浏览器)的显示区域,通过把区域对角线的像素坐标转化为经纬度坐标,得到当前客户端显示区域的地图经纬度范围。根据当前地图的缩放zoom级别按照步骤(1)中确定的规则,计算得到聚散层级。
(7)根据步骤(6)得到的地图经纬度范围和聚散层级查询步骤(2)得到的K-D树索引,得到指定地图经纬度范围的区域内确定聚散层级对应的网格的中心点信息(含网格编码和经纬度信息)。
(8)对于步骤(7)获取到的中心点信息结合步骤(4)保存在Redis数据库里的统计信息,可以整合得到指定地图经纬度范围内确定聚散层级对应的网格的中心点以及相应的统计信息,即可得到聚合信息。
对于不同的地图缩放级别,对应的聚合信息也会显示不同,高层级的缩放等级,对应的是较高层级的网格聚合信息,如图11所示即为高层级聚合,图中I点的展示信息为镇1:11466幢,图中J点的展示信息为镇2:12577幢,图中K点的展示信息为乡1:2731幢,图中L点的展示信息为街道1:3181幢,图中M点的展示信息为乡2:6062幢。
低层级的缩放等级,对应的是较低层级的网格聚合信息,如图12所示即为低层级聚合,图中N点的展示信息为村1:99幢,图中O点的展示信息为村2:326幢,图中R点的展示信息为村3:488幢,图中P点的展示信息为村4:301幢,图中S点的展示信息为村5:420幢,图中T点的展示信息为村6:455幢,图中U点的展示信息为村7:307幢,图中V点的展示信息为村8:568幢,图中W点的展示信息为村9:387幢,图中X点的展示信息为村10:448幢,图中Y点的展示信息为村11:326幢。
(9)客户端地图根据地图坐标类型渲染聚合点;一般的,国内数字地图坐标类型分为百度坐标系—bd09,天地图坐标系—CGCS2000,火星坐标系—GCJ02;对于不同坐标转换算法,对其采用统一封装的形式可以自适应不同坐标系。如图11和图12为聚合点在天地图上渲染。
当前客户端(浏览器)的显示区域随着用户平移、缩放地图而发生变化(缩放不达到显示具体标记物等级),依据步骤(6)~步骤(9)进行快速计算得到新的聚合信息并渲染到地图上。
点击聚合点,也会触发地图缩放,通常为向下缩放一级,譬如二级聚合点点击之后,会显示到下一级聚合点,显示三级聚合点;如果聚合已到最低层级,则再往下缩放就是具体的地图标记物显示,显示地图标记物也是根据当前客户端(浏览器)的地图可视区域范围确定。
(10)根据当前地图的缩放zoom级别按照步骤(1)中确定的规则,计算得到聚散层级。当达到显示具体地图标记物级别时,根据当前客户端(浏览器)的地图可视区域范围,通过把区域对角线的像素坐标转化为经纬度坐标,得到当前屏幕的地图可视区域的经纬度范围。
(11)根据地图经纬度范围查询步骤(5)得到的K-D树索引,得到指定地图经纬度范围的区域内的地图地物标记点信息(含图标、名称和位置信息)。
(12)客户端对获得的地图标记物,进行二次过滤,利用网格过滤算法,依据后进先出的原则,对地图标记物进行筛选,对筛选后的地图标记物根据地图坐标系类型渲染到地图上,具体做法包含如下步骤:
a)假设地图标记物图标的尺寸为35*35像素,屏幕分辨率为1920*1080,则对于浏览器显示区域依据屏幕分辨率,划分为(1920/70)*(1080/70)=27*15的网格;
b)利用点与多边形相交的几何关系,依据后进先出的原则对于步骤(12)返回的点进行筛选,过滤掉同一个网格中重叠的点;
c)对过滤后的点根据地图坐标系类型进行自适应显示。
当前客户端(浏览器)的显示区域随着用户平移、缩放地图(缩放不达到聚合等级)而发生变化,依据步骤(10)~步骤(12)进行快速计算得到新的地图标记物并渲染到地图上.
当前客户端(浏览器)的显示区域随着用户平移,随意缩放地图,依据上述两种情形,即聚合、散开来分别采用不同的步骤快速计算得到新的地图标记物并渲染到地图上。
以上所述实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以所附权利要求为准。
Claims (6)
1.一种分层的网格划分实现海量地物标记点聚散可视化方法,其特征在于,对设定区域进行分层的网格划分,根据划分所得的网格的层级和中心点进行编码,同时根据网格的中心点信息建立静态索引;
获取所述设定区域内的地物标记点信息,按照网格的编码进行统计,并将统计信息保存至数据库,同时根据获取的地物标记点信息建立动态索引;
所述分层的网格划分实现海量地物标记点聚散可视化方法,包括获取地图当前的缩放比例,并结合预设的聚散层级计算规则确定当前为聚合展示或散开展示,所述散开展示执行的步骤包括:
根据可视化的展示区域的像素坐标得到地图上对应的经纬度范围;
根据经纬度范围,查询动态索引得到该经纬度范围内的地物标记点信息;
利用网格过滤算法,依据后进先出原则对地物标记点信息进行筛选;
将筛选后的地物标记点信息采用坐标转换算法渲染到地图上进行散开展示。
2.如权利要求1所述的分层的网格划分实现海量地物标记点聚散可视化方法,其特征在于,所述的聚合展示执行的步骤包括:
根据可视化的展示区域的像素坐标得到地图上对应的经纬度范围;
查询静态索引,得到所述经纬度范围内对应层级的网格的中心点信息;
根据网格的中心点信息查询数据库,得到对应网格的统计信息;
采用坐标转换算法将统计信息渲染到地图上进行聚合展示。
3.如权利要求2所述的分层的网格划分实现海量地物标记点聚散可视化方法,其特征在于,所述的聚合展示包括高级聚合展示和低级聚合展示,所述的网格的层级包括与高级聚合展示对应的高层级,以及与低级聚合展示对应的低层级;
若为高级聚合展示,则根据静态索引查询所得的为高层级的网格的中心点信息;若为低级聚合展示,则根据静态索引查询所得的为低层级的网格的中心点信息。
4.如权利要求1所述的分层的网格划分实现海量地物标记点聚散可视化方法,其特征在于,所述网格的层级≥1层。
5.如权利要求1所述的分层的网格划分实现海量地物标记点聚散可视化方法,其特征在于,所述利用网格过滤算法,依据后进先出原则对地物标记点信息进行筛选,包括:
假设展示区域中的地物标记图标的尺寸为P*Q像素单位;
假设展示区域的分辨率为S*T像素单位,结合地物标记图标缓存为P*Q像素单位,将展示区域划分为(S/2P)*(T/2Q)个网格;
对于处在同一网格中的地物标记点信息,依据后进先出原则去除重叠的地物标记点信息,得到筛选后的地物标记点信息。
6.如权利要求1所述的分层的网格划分实现海量地物标记点聚散可视化方法,其特征在于,所述的静态索引和动态索引均采用K-D树索引。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910124474.XA CN109977179B (zh) | 2019-02-19 | 2019-02-19 | 一种分层的网格划分实现海量地物标记点聚散可视化方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910124474.XA CN109977179B (zh) | 2019-02-19 | 2019-02-19 | 一种分层的网格划分实现海量地物标记点聚散可视化方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109977179A true CN109977179A (zh) | 2019-07-05 |
CN109977179B CN109977179B (zh) | 2021-10-15 |
Family
ID=67077040
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910124474.XA Active CN109977179B (zh) | 2019-02-19 | 2019-02-19 | 一种分层的网格划分实现海量地物标记点聚散可视化方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109977179B (zh) |
Cited By (29)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110569292A (zh) * | 2019-07-30 | 2019-12-13 | 深圳市跨越新科技有限公司 | 基于电子地图的数据标注方法及系统 |
CN110647608A (zh) * | 2019-08-30 | 2020-01-03 | 深圳震有科技股份有限公司 | 基于地图的海量数据聚合显示方法及系统、设备、介质 |
CN110740160A (zh) * | 2019-08-29 | 2020-01-31 | 武汉烽火众智数字技术有限责任公司 | 一种多源数据地图网格化及数据状态实时推送系统 |
CN111046762A (zh) * | 2019-11-29 | 2020-04-21 | 腾讯科技(深圳)有限公司 | 一种对象定位方法、装置电子设备及存储介质 |
CN111079515A (zh) * | 2019-10-29 | 2020-04-28 | 深圳先进技术研究院 | 基于遥感大数据的区域监测方法、装置、终端及存储介质 |
CN111259642A (zh) * | 2020-01-17 | 2020-06-09 | 青梧桐有限责任公司 | 基于地图技术的报表生成方法及系统 |
CN111737285A (zh) * | 2020-05-12 | 2020-10-02 | 深圳震有科技股份有限公司 | 基于地理空间分析的建筑查询并标注处理方法、装置 |
CN112002021A (zh) * | 2020-10-30 | 2020-11-27 | 成都四方伟业软件股份有限公司 | 一种基于unity3d的聚合打点可视化方法及装置 |
CN112214562A (zh) * | 2019-07-12 | 2021-01-12 | 杭州海康威视系统技术有限公司 | 数据处理方法、装置、电子设备及机器可读存储介质 |
CN112347217A (zh) * | 2020-11-09 | 2021-02-09 | 中国船舶重工集团公司第七二四研究所 | 一种基于海量数据分层的实时标绘方法 |
CN112507055A (zh) * | 2020-12-17 | 2021-03-16 | 青岛以萨数据技术有限公司 | 一种基于leaflet实现行政区域聚合的方法及装置 |
CN112541047A (zh) * | 2020-12-04 | 2021-03-23 | 河北志晟信息技术股份有限公司 | 一种适用于多级网格化管理系统的海量数据聚合方法 |
CN112612933A (zh) * | 2021-01-05 | 2021-04-06 | 同方知网(北京)技术有限公司 | 一种分类数据可视化方法 |
CN112687007A (zh) * | 2020-12-22 | 2021-04-20 | 北京旋极伏羲科技有限公司 | 一种基于lod技术的立体网格图生成方法 |
CN112752221A (zh) * | 2020-12-16 | 2021-05-04 | 浙江绿色慧联有限公司 | 一种车辆监控系统及方法 |
CN112764859A (zh) * | 2021-01-22 | 2021-05-07 | 泰华智慧产业集团股份有限公司 | 网格化平台地图在移动端中网格员位置显示方法及系统 |
CN113010511A (zh) * | 2020-12-31 | 2021-06-22 | 杭州拓深科技有限公司 | 地图分层聚合显示方法、装置、电子装置和存储介质 |
CN113032634A (zh) * | 2019-12-09 | 2021-06-25 | 北大方正集团有限公司 | 基于光缆的数据处理方法、装置、设备和存储介质 |
CN113033931A (zh) * | 2019-12-24 | 2021-06-25 | 中国移动通信集团浙江有限公司 | 闭环自适应个体及区域分配方法、装置及计算设备 |
CN113052642A (zh) * | 2021-04-22 | 2021-06-29 | 支付宝(杭州)信息技术有限公司 | 用于线下作业的方法及装置 |
CN113076321A (zh) * | 2021-04-20 | 2021-07-06 | 中移智行网络科技有限公司 | 一种数据处理方法、装置、终端及可读存储介质 |
CN113127584A (zh) * | 2019-12-31 | 2021-07-16 | 深圳云天励飞技术有限公司 | 一种地图标注方法、装置、电子设备及存储介质 |
CN113177099A (zh) * | 2021-05-12 | 2021-07-27 | 中移(上海)信息通信科技有限公司 | 终端聚合方法、装置、电子设备和可读存储介质 |
CN113946582A (zh) * | 2021-10-20 | 2022-01-18 | 广东天亿马信息产业股份有限公司 | 一种空间聚合展示查询方法、系统和可读存储介质 |
CN114168228A (zh) * | 2021-12-10 | 2022-03-11 | 威创集团股份有限公司 | 一种地图数据渲染方法、装置、电子设备及存储介质 |
CN115757606A (zh) * | 2022-12-13 | 2023-03-07 | 中化现代农业有限公司 | 一种基于天地图的农业科研数据可视化方法及系统 |
CN117874301A (zh) * | 2024-03-11 | 2024-04-12 | 浙江省气象台 | 基于网格数据金字塔切片的处理、存储、调用的实现方法 |
CN118016251A (zh) * | 2024-04-10 | 2024-05-10 | 深圳市生强科技有限公司 | 病理图像大数据标注显示方法及其应用 |
CN118520065A (zh) * | 2024-07-23 | 2024-08-20 | 深圳天海宸光科技有限公司 | 基于gis地图的数据处理方法、装置、电子设备及存储介质 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6111578A (en) * | 1997-03-07 | 2000-08-29 | Silicon Graphics, Inc. | Method, system and computer program product for navigating through partial hierarchies |
CN103136959A (zh) * | 2011-11-25 | 2013-06-05 | 北京中交兴路信息科技有限公司 | 在移动目标监控中聚合展示移动目标信息的方法 |
CN103902622A (zh) * | 2012-12-28 | 2014-07-02 | 北京中交兴路信息科技有限公司 | 一种海量移动目标聚合的方法及装置 |
CN103927933A (zh) * | 2013-01-14 | 2014-07-16 | 北京中交兴路信息科技有限公司 | 一种海量移动目标渲染的方法及装置 |
CN104199949A (zh) * | 2014-09-12 | 2014-12-10 | 中电海康集团有限公司 | 一种实时环境下利用网格实现大规模动态目标可视化方法 |
CN105608153A (zh) * | 2015-12-18 | 2016-05-25 | 晶赞广告(上海)有限公司 | 一种通用的poi信息关联方法 |
CN107145595A (zh) * | 2017-05-27 | 2017-09-08 | 南京英斯特网络科技有限公司 | 一种基于地图的海量数据聚合显示方法 |
KR20180007747A (ko) * | 2016-07-14 | 2018-01-24 | 대한민국(산림청 국립산림과학원장) | 산불취약성 지도를 생성하기 위한 장치 및 그 방법 |
-
2019
- 2019-02-19 CN CN201910124474.XA patent/CN109977179B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6111578A (en) * | 1997-03-07 | 2000-08-29 | Silicon Graphics, Inc. | Method, system and computer program product for navigating through partial hierarchies |
CN103136959A (zh) * | 2011-11-25 | 2013-06-05 | 北京中交兴路信息科技有限公司 | 在移动目标监控中聚合展示移动目标信息的方法 |
CN103902622A (zh) * | 2012-12-28 | 2014-07-02 | 北京中交兴路信息科技有限公司 | 一种海量移动目标聚合的方法及装置 |
CN103927933A (zh) * | 2013-01-14 | 2014-07-16 | 北京中交兴路信息科技有限公司 | 一种海量移动目标渲染的方法及装置 |
CN104199949A (zh) * | 2014-09-12 | 2014-12-10 | 中电海康集团有限公司 | 一种实时环境下利用网格实现大规模动态目标可视化方法 |
CN105608153A (zh) * | 2015-12-18 | 2016-05-25 | 晶赞广告(上海)有限公司 | 一种通用的poi信息关联方法 |
KR20180007747A (ko) * | 2016-07-14 | 2018-01-24 | 대한민국(산림청 국립산림과학원장) | 산불취약성 지도를 생성하기 위한 장치 및 그 방법 |
CN107145595A (zh) * | 2017-05-27 | 2017-09-08 | 南京英斯特网络科技有限公司 | 一种基于地图的海量数据聚合显示方法 |
Cited By (42)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112214562A (zh) * | 2019-07-12 | 2021-01-12 | 杭州海康威视系统技术有限公司 | 数据处理方法、装置、电子设备及机器可读存储介质 |
CN112214562B (zh) * | 2019-07-12 | 2024-02-27 | 杭州海康威视系统技术有限公司 | 数据处理方法、装置、电子设备及机器可读存储介质 |
CN110569292A (zh) * | 2019-07-30 | 2019-12-13 | 深圳市跨越新科技有限公司 | 基于电子地图的数据标注方法及系统 |
CN110740160A (zh) * | 2019-08-29 | 2020-01-31 | 武汉烽火众智数字技术有限责任公司 | 一种多源数据地图网格化及数据状态实时推送系统 |
CN110647608A (zh) * | 2019-08-30 | 2020-01-03 | 深圳震有科技股份有限公司 | 基于地图的海量数据聚合显示方法及系统、设备、介质 |
CN111079515A (zh) * | 2019-10-29 | 2020-04-28 | 深圳先进技术研究院 | 基于遥感大数据的区域监测方法、装置、终端及存储介质 |
CN111079515B (zh) * | 2019-10-29 | 2023-10-27 | 深圳先进技术研究院 | 基于遥感大数据的区域监测方法、装置、终端及存储介质 |
CN111046762A (zh) * | 2019-11-29 | 2020-04-21 | 腾讯科技(深圳)有限公司 | 一种对象定位方法、装置电子设备及存储介质 |
CN113032634A (zh) * | 2019-12-09 | 2021-06-25 | 北大方正集团有限公司 | 基于光缆的数据处理方法、装置、设备和存储介质 |
CN113033931A (zh) * | 2019-12-24 | 2021-06-25 | 中国移动通信集团浙江有限公司 | 闭环自适应个体及区域分配方法、装置及计算设备 |
CN113033931B (zh) * | 2019-12-24 | 2023-12-29 | 中国移动通信集团浙江有限公司 | 闭环自适应个体及区域分配方法、装置及计算设备 |
CN113127584B (zh) * | 2019-12-31 | 2024-06-07 | 深圳云天励飞技术有限公司 | 一种地图标注方法、装置、电子设备及存储介质 |
CN113127584A (zh) * | 2019-12-31 | 2021-07-16 | 深圳云天励飞技术有限公司 | 一种地图标注方法、装置、电子设备及存储介质 |
CN111259642A (zh) * | 2020-01-17 | 2020-06-09 | 青梧桐有限责任公司 | 基于地图技术的报表生成方法及系统 |
CN111737285A (zh) * | 2020-05-12 | 2020-10-02 | 深圳震有科技股份有限公司 | 基于地理空间分析的建筑查询并标注处理方法、装置 |
CN112002021A (zh) * | 2020-10-30 | 2020-11-27 | 成都四方伟业软件股份有限公司 | 一种基于unity3d的聚合打点可视化方法及装置 |
CN112347217A (zh) * | 2020-11-09 | 2021-02-09 | 中国船舶重工集团公司第七二四研究所 | 一种基于海量数据分层的实时标绘方法 |
CN112541047A (zh) * | 2020-12-04 | 2021-03-23 | 河北志晟信息技术股份有限公司 | 一种适用于多级网格化管理系统的海量数据聚合方法 |
CN112752221A (zh) * | 2020-12-16 | 2021-05-04 | 浙江绿色慧联有限公司 | 一种车辆监控系统及方法 |
CN112507055A (zh) * | 2020-12-17 | 2021-03-16 | 青岛以萨数据技术有限公司 | 一种基于leaflet实现行政区域聚合的方法及装置 |
CN112507055B (zh) * | 2020-12-17 | 2024-02-13 | 青岛以萨数据技术有限公司 | 一种基于leaflet实现行政区域聚合的方法及装置 |
CN112687007A (zh) * | 2020-12-22 | 2021-04-20 | 北京旋极伏羲科技有限公司 | 一种基于lod技术的立体网格图生成方法 |
CN112687007B (zh) * | 2020-12-22 | 2023-09-08 | 北斗伏羲信息技术有限公司 | 一种基于lod技术的立体网格图生成方法 |
CN113010511A (zh) * | 2020-12-31 | 2021-06-22 | 杭州拓深科技有限公司 | 地图分层聚合显示方法、装置、电子装置和存储介质 |
CN112612933A (zh) * | 2021-01-05 | 2021-04-06 | 同方知网(北京)技术有限公司 | 一种分类数据可视化方法 |
CN112612933B (zh) * | 2021-01-05 | 2024-03-26 | 同方知网(北京)技术有限公司 | 一种分类数据可视化方法 |
CN112764859A (zh) * | 2021-01-22 | 2021-05-07 | 泰华智慧产业集团股份有限公司 | 网格化平台地图在移动端中网格员位置显示方法及系统 |
CN113076321A (zh) * | 2021-04-20 | 2021-07-06 | 中移智行网络科技有限公司 | 一种数据处理方法、装置、终端及可读存储介质 |
CN113076321B (zh) * | 2021-04-20 | 2022-07-29 | 中移智行网络科技有限公司 | 一种数据处理方法、装置、终端及可读存储介质 |
CN113052642A (zh) * | 2021-04-22 | 2021-06-29 | 支付宝(杭州)信息技术有限公司 | 用于线下作业的方法及装置 |
CN113052642B (zh) * | 2021-04-22 | 2022-08-19 | 支付宝(杭州)信息技术有限公司 | 用于线下作业的方法及装置 |
CN113177099B (zh) * | 2021-05-12 | 2022-05-24 | 中移(上海)信息通信科技有限公司 | 终端聚合方法、装置、电子设备和可读存储介质 |
CN113177099A (zh) * | 2021-05-12 | 2021-07-27 | 中移(上海)信息通信科技有限公司 | 终端聚合方法、装置、电子设备和可读存储介质 |
CN113946582A (zh) * | 2021-10-20 | 2022-01-18 | 广东天亿马信息产业股份有限公司 | 一种空间聚合展示查询方法、系统和可读存储介质 |
CN113946582B (zh) * | 2021-10-20 | 2024-08-13 | 广东天亿马信息产业股份有限公司 | 一种空间聚合展示查询方法、系统和可读存储介质 |
CN114168228A (zh) * | 2021-12-10 | 2022-03-11 | 威创集团股份有限公司 | 一种地图数据渲染方法、装置、电子设备及存储介质 |
CN115757606A (zh) * | 2022-12-13 | 2023-03-07 | 中化现代农业有限公司 | 一种基于天地图的农业科研数据可视化方法及系统 |
CN117874301A (zh) * | 2024-03-11 | 2024-04-12 | 浙江省气象台 | 基于网格数据金字塔切片的处理、存储、调用的实现方法 |
CN117874301B (zh) * | 2024-03-11 | 2024-05-31 | 浙江省气象台 | 基于网格数据金字塔切片的处理、存储、调用的实现方法 |
CN118016251A (zh) * | 2024-04-10 | 2024-05-10 | 深圳市生强科技有限公司 | 病理图像大数据标注显示方法及其应用 |
CN118520065A (zh) * | 2024-07-23 | 2024-08-20 | 深圳天海宸光科技有限公司 | 基于gis地图的数据处理方法、装置、电子设备及存储介质 |
CN118520065B (zh) * | 2024-07-23 | 2024-10-18 | 深圳天海宸光科技有限公司 | 基于gis地图的数据处理方法、装置、电子设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN109977179B (zh) | 2021-10-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109977179A (zh) | 一种分层的网格划分实现海量地物标记点聚散可视化方法 | |
Swetnam et al. | Quantifying visual landscape quality in rural Wales: A GIS-enabled method for extensive monitoring of a valued cultural ecosystem service | |
Langford et al. | Generating and mapping population density surfaces within a geographical information system | |
Bocher et al. | A geoprocessing framework to compute urban indicators: The MApUCE tools chain | |
CN103927389B (zh) | 一种洪涝灾害地理分析评估动态模型的构建方法 | |
Hanson | The urban system of Roman Asia Minor and wider urban connectivity | |
CN110019568A (zh) | 基于空间聚类的选址方法、装置、计算机设备及存储介质 | |
CN109299298A (zh) | 多尺度影像模型的构建方法、装置、应用方法及系统 | |
CN107144288A (zh) | 一种无路网地形条件下的路径规划的方法及其装置 | |
US7629986B2 (en) | Motion-based visualization | |
CN111782745B (zh) | 一种时空大数据网格编码高效可视化方法及系统 | |
Masumoto et al. | Construction and visualization of a three dimensional geologic model using GRASS GIS | |
CN106547842A (zh) | 一种在虚拟地球平台上可视化基于位置的情感的方法 | |
Damiani et al. | Spatial data warehouse modelling | |
Vargas-Amado et al. | Western Mexico is a priority area for the conservation of Cosmos (Coreopsideae, Asteraceae), based on richness and track analysis | |
CN110110132A (zh) | 一种建立空间网格体系的方法、装置及遥感影像处理系统 | |
Schulz et al. | Point-based visualization for large hierarchies | |
US20100118049A1 (en) | Motion-based visualization | |
WO2018196214A1 (zh) | 一种地理影响民居建筑形态的统计系统及统计方法 | |
Yuan et al. | A typology of spatiotemporal information queries | |
CN106887040B (zh) | 多点地质统计学建模方法和装置 | |
Glander et al. | Cell-based generalization of 3D building groups with outlier management | |
Antrop et al. | Analysing landscape patterns | |
Whigham | Hierarchies of space and time | |
CN106445943A (zh) | 一种日志的展示方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |