一种电子地图海量位置点展示的方法技术

技术编号:31624835 阅读:25 留言:0更新日期:2021-12-29 19:01
本发明专利技术公开了一种电子地图海量位置点展示的方法,以服务器为核心,依赖服务器强大的运算能力,将复杂的点聚合算法放在服务器计算,采用先计算、后响应、再渲染的技术思想,高度轻量化客户端;采用了两种算法相结合的方式,当数据点总数小于某一阈值或可视范围面积小于某一阈值时,采用基于网格的点聚合算法,其它情况采用速度更快的基于方格和距离的点聚合算法;保留了两种算法的运算速度较快、聚合点较精确的反映了所包含的原始点要素的位置信息的优点,避免了两个算法的缺点。避免了两个算法的缺点。避免了两个算法的缺点。

【技术实现步骤摘要】
一种电子地图海量位置点展示的方法


[0001]本专利技术涉及电子地图
,尤其涉及一种电子地图海量位置点展示的方法。

技术介绍

[0002]目前,现有主流地图服务商提供的SDK展示海量位置点只能在客户端先向服务器请求数据,然后通过点聚合算法(一般采用基于方格和距离结合的点集合算法)计算出聚合点集,最后再渲染到地图上去。
[0003]现有技术展示海量数据点是先向服务器请求到所有数据,如果数据量非常大,数据传输不仅会占用大量带宽,也会增加数据传输时间,大大的消耗了客户流量资源和增加数据刷新延时影响用户体验。客户端收到数据后,通过点聚合算法计算出聚合点集,然后渲染到地图展示,由于点聚合算法中存在对每个位置点的迭代运算,如果数据量非常大,存在消耗大量网络带宽、占用客户端CPU资源和非常依赖客户端硬件资源等缺陷,重则引起系统卡顿。
[0004]因此需要研发出一种电子地图海量位置点展示的方法来解决上述问题。

技术实现思路

[0005]本专利技术的目的就在于为了解决上述问题设计了一种电子地图海量位置点展示的方法。
[0006]本专利技术通过以下技术方案来实现上述目的:
[0007]一种电子地图海量位置点展示的方法,包括:
[0008]S1、获得客户端请求;进入步骤S2;
[0009]S2、根据客户端请求生成参数1和参数2;其中参数1为可视范围,参数2为缩放等级;进入步骤S3;
[0010]S3、从数据库查询可视范围内的所有数据点;进入步骤S4;
[0011]S4、判断数据点总数是否小于某一阈值;如是则进入步骤S6,如否则进入步骤S5;
[0012]S5、判断可视范围面积是否小于某一阈值;如是则进入步骤S6,如否则进入步骤S7;
[0013]S6、采用基于方格和距离结合的点聚合算法计算得到聚合点集;进入步骤S8;
[0014]S7、采用基于网格的点聚合算法计算得到聚合点集;进入步骤S8,
[0015]S8、发送聚合点集至服务器,服务器响应后开始客户端渲染。
[0016]本专利技术的有益效果在于:
[0017]以服务器为核心,依赖服务器强大的运算能力,将复杂的点聚合算法放在服务器计算,采用先计算、后响应、再渲染的技术思想,高度轻量化客户端;
[0018]采用了两种算法相结合的方式,当数据点总数小于某一阈值或可视范围面积小于某一阈值时,采用基于网格的点聚合算法,其它情况采用速度更快的基于方格和距离的点聚合算法;保留了两种算法的运算速度较快、聚合点较精确的反映了所包含的原始点要素
的位置信息的优点,避免了两个算法的缺点。
附图说明
[0019]图1是本申请的方法流程图;
[0020]图2是本申请中基于网格的点聚合算法的流程图;
[0021]图3是本申请中基于方格和距离的点聚合算法的流程图;
[0022]图4是本申请中请求机制的流程图;
具体实施方式
[0023]为使本专利技术实施例的目的、技术方案和优点更加清楚,下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述。显然,所描述的实施例是本专利技术一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本专利技术实施例的组件可以以各种不同的配置来布置和设计。
[0024]因此,以下对在附图中提供的本专利技术的实施例的详细描述并非旨在限制要求保护的本专利技术的范围,而是仅仅表示本专利技术的选定实施例。基于本专利技术中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本专利技术保护的范围。
[0025]应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。
[0026]在本专利技术的描述中,需要理解的是,术语“上”、“下”、“内”、“外”、“左”、“右”等指示的方位或位置关系为基于附图所示的方位或位置关系,或者是该专利技术产品使用时惯常摆放的方位或位置关系,或者是本领域技术人员惯常理解的方位或位置关系,仅是为了便于描述本专利技术和简化描述,而不是指示或暗示所指的设备或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本专利技术的限制。
[0027]此外,术语“第一”、“第二”等仅用于区分描述,而不能理解为指示或暗示相对重要性。
[0028]在本专利技术的描述中,还需要说明的是,除非另有明确的规定和限定,“设置”、“连接”等术语应做广义理解,例如,“连接”可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是机械连接,也可以是电连接;可以是直接连接,也可以通过中间媒介间接连接,可以是两个元件内部的连通。对于本领域的普通技术人员而言,可以根据具体情况理解上述术语在本专利技术中的具体含义。
[0029]下面结合附图,对本专利技术的具体实施方式进行详细说明。
[0030]如图1所示,一种电子地图海量位置点展示的方法,包括:
[0031]S1、获得客户端请求;进入步骤S2;
[0032]S2、根据客户端请求生成参数1和参数2;其中参数1为可视范围,参数2为缩放等级;进入步骤S3;客户端在向服务器请求数据时需传入两个参数,即地图可视范围和当前缩放等级。地图可视范围即显示终端上当前地图显示的地图边界,通常为长方形,以东北(northeast)、西南角(southwest)经纬度表示。对于可视范围,经度范围为[

180
°
,180
°
],纬度范围为[

90
°
,90
°
],如果东经180
°
不在可视范围内,northeast的经度大于southwest
的经度;如果东经180
°
在可视范围内,northeast的经度小于southwest的经度,同时在查询数据库数据和点聚合计算按[west,180
°
]、[

180
°
,east]分两段进行查询和计算。
[0033]S3、从数据库查询可视范围内的所有数据点;进入步骤S4;
[0034]S4、判断数据点总数是否小于某一阈值;如是则进入步骤S6,如否则进入步骤S5;
[0035]S5、判断可视范围面积是否小于某一阈值;如是则进入步骤S6,如否则进入步骤S7;
[0036]S6、采用基于方格和距离结合的点聚合算法计算得到聚合点集;进入步骤S8;
[0037]S7、采用基于网格的点聚合算法计算得到聚合点集;进入步骤S8,
[0038]S8、发送聚合点集至服务器,服务器响应后开始客户端渲染。
[0039]如图2所示,采用基于网格的点聚合算法计算得到聚合点集包括:
[0040]S71、计算经度步进和纬度步进;进入步骤S72;
[0041]S72、根据可视范围、经度步进本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种电子地图海量位置点展示的方法,其特征在于,包括:S1、获得客户端请求;进入步骤S2;S2、根据客户端请求生成参数1和参数2;其中参数1为可视范围,参数2为缩放等级;进入步骤S3;S3、从数据库查询可视范围内的所有数据点;进入步骤S4;S4、判断数据点总数是否小于某一阈值;如是则进入步骤S6,如否则进入步骤S5;S5、判断可视范围面积是否小于某一阈值;如是则进入步骤S6,如否则进入步骤S7;S6、采用基于方格和距离结合的点聚合算法计算得到聚合点集;进入步骤S8;S7、采用基于网格的点聚合算法计算得到聚合点集;进入步骤S8,S8、发送聚合点集至服务器,服务器响应后开始客户端渲染。2.根据权利要求1所述的一种电子地图海量位置点展示的方法,其特征在于,采用基于网格的点聚合算法计算得到聚合点集包括:S71、计算经度步进和纬度步进;进入步骤S72;S72、根据可视范围、经度步进、纬度步进计算出可视范围内的各分割网格范围集合;进入步骤S73;S73、取一个位置点;进入步骤S74;S74、遍历所有网格集合,判断位置点是否在网格内,如是则进入步骤S75,如否则进入步骤S76;S75、将该位置点添加到网格中,并计数加1;进入步骤S77;S76、判断遍历是否完成;如是则进入步骤S77,如否则进入步骤S74;S77、判断是否为最后一个位置点;如是则进入步骤S78,如否则进入步骤S73;S78、移除网格内无位置点的网格。3.根据权利要求1所述的一种电子地图海量位置点展示的方法,其特征在于,采用基于方格和距离结合的点聚合算法计算得到聚合点集包括:S61、计算经度步进和纬度步进;进入步骤S62;S62、取一个位置点;进入步骤S63;S63、遍历聚合点集合,判断位置点是否在聚合点范围内,如是则进入步骤S64,如否则进入步骤S65;S...

【专利技术属性】
技术研发人员:杨长富马贵东杨健罗顺华
申请(专利权)人:成都国卫通信技术有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1