一种基于leaflet实现行政区域聚合的方法及装置[发明专利]

(19)中华人民共和国国家知识产权局
(12)发明专利申请
(10)申请公布号 (43)申请公布日 (21)申请号 202011494884.2
(22)申请日 2020.12.17
(71)申请人 青岛以萨数据技术有限公司
地址 266000 山东省青岛市黄岛区峨眉山
路396号光谷软件园3号楼三层
申请人 北京以萨智能技术有限公司 
安徽以萨数据技术有限公司
(72)发明人 赵正航 李凡平 王成 
(74)专利代理机构 北京酷爱智慧知识产权代理
有限公司 11514
代理人 周俊
(51)Int.Cl.
G06F  16/29(2019.01)
G06K  9/62(2006.01)
G06Q  50/26(2012.01)
(54)发明名称
一种基于leaflet实现行政区域聚合的方法
及装置
(57)摘要
本发明公开了一种基于leaflet实现行政区
域聚合的方法及装置,所述方法包括从后端服务
器中加载地图,并对地图初始化,以得到所需的
行政区域内所有的地理行政范围,其中,地图为
leaflet;在所有的地理行政范围中创建多个
polygon对象计算出各polygon对象的质心位
置;再从后端服务器中获取该行政区域内所有的
点位信息,并进行遍历计算处理,得出各点位信
息所属的地理行政范围;再将处理后的各点位信
息定位到对应polygon对象的质心位置上;其有
益效果是:利用leaflet,运算速度快,没有复杂
的距离计算和多次迭代处理,也不会出现聚类图标重叠或点位遗漏情况,适应大多数应用场景,
使用范围广。权利要求书1页  说明书5页  附图2页CN 112507055 A 2021.03.16
C N  112507055
A
1.一种基于leaflet实现行政区域聚合的方法,其特征在于,所述方法包括:
从后端服务器中加载地图,并对所述地图初始化,以得到所需的行政区域内所有的地理行政范围,其中,所述地图为leaflet;
在所述所有的地理行政范围中创建多个polygon对象;
计算出各polygon对象的质心位置,并将其展示在地图上;
再从后端服务器中获取该行政区域内所有的点位信息,并进行遍历计算处理,以得出各点位信息所属的地理行政范围;
再将处理后的各点位信息定位到对应polygon对象的质心位置上。
2.如权利要求1所述的一种基于leaflet实现行政区域聚合的方法,其特征在于,所述polygon对象为通过
leaflet的Polygon函数创建而成。
3.如权利要求1所述的一种基于leaflet实现行政区域聚合的方法,其特征在于,通过getPolygonCenter函数计算出各polygon对象的质心位置。
4.如权利要求3所述的一种基于leaflet实现行政区域聚合的方法,其特征在于,所述方法还包括:
计算出各polygon对象的质心位置的同时,还进行存储操作;其中,所述存储包括存储在polygon的center属性上以及存储在polygonArray数组对象中。
5.一种基于leaflet实现行政区域聚合的装置,其特征在于,包括:
初始化模块,用于从后端服务器中加载地图,并对所述地图初始化,以得到所需的行政区域内所有的地理行政范围,其中,所述地图为leaflet;
创建模块,用于在所述所有的地理行政范围中创建多个polygon对象;
处理模块,用于:
计算出各polygon对象的质心位置,并将其展示在地图上;
再从后端服务器中获取该行政区域内所有的点位信息,并进行遍历计算,以得出各点位信息所属的地理行政范围;
定位模块,用于将处理后的各点位信息定位到对应polygon对象的质心位置上。
6.如权利要求5所述的一种基于leaflet实现行政区域聚合的装置,其特征在于,所述polygon对象为通过leaflet的Polygon函数创建而成。
7.如权利要求5所述的一种基于leaflet实现行政区域聚合的装置,其特征在于,通过getPolygonCenter函数计算出各polygon对象的质心位置。
8.如权利要求7所述的一种基于leaflet实现行政区域聚合的装置,其特征在于,计算出各polygon对象的质心位置的同时,还进行存储操作;其中,所述存储包括存储在polygon 的center属性上以及存储在polygonArray数组对象中。
9.一种基于leaflet实现行政区域聚合的装置,其特征在于,包括处理器、输入设备、输出设备和存储器,所述处理器、输入设备、输出设备和存储器相互连接,其中,所述存储器用于存储计算机程序,所述计算机程序包括程序指令,所述处理器被配置用于调用所述程序指令,执行如权利要求1至4任一项所述的方法。
权 利 要 求 书1/1页CN 112507055 A
一种基于leaflet实现行政区域聚合的方法及装置
技术领域
[0001]本发明涉及网络通信技术领域,具体涉及一种基于leaflet实现行政区域聚合的方法及装置。
背景技术
[0002]目前K均值聚类是著名的划分聚类的算法,由于简洁和效率是的其成为所有聚类算法中最为广泛使用的。给定一个数据点集合和需要的聚类数量k,k由用户来决定,k均值算法根据某个距离函数反复把数据分入k各聚类中。
[0003]各地图API、插件基本都有各自封装写好的聚类api或插件,目前大部分都是使用这些地图厂商各自的api、插件。但存在以下缺点:
[0004]1、性能问题,在大数据量下,算法需要多次迭代才能完成,比较消耗cpu;[0005]2、覆盖问题,可能存在由给定的聚类距离过大或者过小,存在聚类后,图标重叠或者点个点位漏掉等。
发明内容
[0006]本发明实施例的目的在于提供一种基于leaflet实现行政区域聚合的方法及装置,以克服现有技术中需要多次复杂的距离计算,易出现图标重叠或点位遗漏的缺陷。[0007]为实现上述目的,第一方面,本发明实施例提供了一种基于leaflet实现行政区域聚合的方法,所述方法包括:
[0008]从后端服务器中加载地图,并对所述地图初始化,以得到所需的行政区域内所有的地理行政范围,其中,所述地图为leaflet;
[0009]在所述所有的地理行政范围中创建多个polygon对象;
[0010]计算出各polygon对象的质心位置,并将其展示在地图上;
[0011]再从后端服务器中获取该行政区域内所有的点位信息,并进行遍历计算处理,以得出各点位信息所属的地理行政范围;
[0012]再将处理后的各点位信息定位到对应polygon对象的质心位置上。
[0013]作为本申请一种可选的实施方式,所述polygon对象为通过leaflet的Polygon函数创建而成。
[0014]作为本申请一种可选的实施方式,通过getPolygonCenter函数计算出各polygon 对象的质心位置。
[0015]作为本申请一种可选的实施方式,所述方法还包括:
[0016]计算出各polygon对象的质心位置的同时,还进行存储操作;其中,所述存储包括存储在polygon的center属性上以及存储在polygonArray数组对象中。
[0017]第二方面,本发明实施例还提供了一种基于leaflet实现行政区域聚合的装置,其特征在于,包括:
[0018]初始化模块,用于从后端服务器中加载地图,并对所述地图初始化,以得到所需的
行政区域内所有的地理行政范围,其中,所述地图为leaflet;
[0019]创建模块,用于在所述所有的地理行政范围中创建多个polygon对象;
[0020]处理模块,用于:
[0021]计算出各polygon对象的质心位置,并将其展示在地图上;
[0022]再从后端服务器中获取该行政区域内所有的点位信息,并进行遍历计算,以得出各点位信息所属的地理行政范围;
[0023]定位模块,用于将处理后的各点位信息定位到对应polygon对象的质心位置上。[0024]作为本申请一种可选的实施方式,所述polygon对象为通过leaflet的Polygon函数创建而成。
[0025]作为本申请一种可选的实施方式,通过getPolygonCenter函数计算出各polygon 对象的质心位置。
[0026]作为本申请一种可选的实施方式,计算出各polygon对象的质心位置的同时,还进行存储操作;其中,所述存储包括存储在polygon的center属性上以及存储在polygonArray 数组对象中。
[0027]第三方面,本发明实施例还提供了一种基于leaflet实现行政区域聚合的装置,包括处理器、输入设备、输出设备和存储器,所述处理器、输入设备、输出设备和存储器相互连接,其中,所述存储器用于存储计算机程序,所述计算机程序包括程序指令,所述处理器被配置用于调用所述程序指令,执行如第一方面所述的方法。
[0028]采用上述技术方案,具有以下优点:本发明提出的一种基于leaflet实现行政区域聚合的方法及装置,通过利用leaflet,实现运算速度快,每个点位只需计算一次,没有复杂的距离计算和多次迭代处理,同时也不会出现聚类图标重叠或点位单个遗漏情况,能够适应大多数应用场景,使用范围广。
附图说明
[0029]为了更清楚地说明本发明具体实施方式或现有技术中的技术方案,下面将对具体实施方式或现有技术描述中所需要使用的附图作简单地介绍。在所有附图中,类似的元件或部分一般由类似的附图标记标识。附图中,各元件或部分并不一定按照实际的比例绘制。[0030]图1是本发明实施例提供的一种基于leaflet实现行政区域聚合的方法流程图;[0031]图2是本发明实施例提供的一种基于leaflet实现行政区域聚合的装置的结构框图。
具体实施方式
[0032]下面将结合附图对本发明技术方案的实施例进行详细的描述。以下实施例仅用于更加清楚地说明本发明的技术方案,因此只是作为示例,而不能以此来限制本发明的保护范围。
[0033]需要注意的是,除非另有说明,本申请使用的技术术语或者科学术语应当为本发明所属领域技术人员所理解的通常意义。
[0034]需要说明的是,leaflet是一个为移动设备设计的交互式地图的开源的地图Javascript库。
[0035]请参考图1,是本发明实施例所提供的一种基于leaflet实现行政区域聚合的方法,所述方法包括:
[0036]S101,从后端服务器中加载地图,并对所述地图初始化,以得到所需的行政区域内所有的地理
行政范围,其中,所述地图为leaflet。
[0037]具体地,从后端服务器的数据库中提取地图;所述初始化包括选定地理坐标、设置地图视角和缩放级别等,从而得到所需进行处理的行政区域。
[0038]S102,在所述所有的地理行政范围中创建多个polygon对象。
[0039]具体地,所述polygon对象为通过leaflet的Polygon函数创建而成。
[0040]S103,计算出各polygon对象的质心位置,并将其展示在地图上。
[0041]具体地,通过getPolygonCenter函数计算出各polygon对象的质心位置;[0042]也就是说,得出多边形质心横坐标和多边形质心纵坐标;
[0043]多边形质心横坐标=多边形剖分的每一个三角形的横坐标*该三角形的面积之和/多边形的总面积。
[0044]多边形质心纵坐标=多边形剖分的每一个三角形的纵坐标*该三角形的面积之和/多边形的总面积。
[0045]其中,计算过程如下:
[0046]1、拿到ploygon上连续两个顶点的坐标,我们可以将纬度看做成横坐标,经度看成纵坐标。
[0047]2、利用向量叉乘计算两个顶点和原点组成的三角形面积。
[0048]3、求出所有三角形面积之和也就是polygon的面积。
[0049]4、求出所有三角形的重心坐标之和;即为多边形剖分的每一个三角形的质心横坐标*该三角形的面积之和以及多边形剖分的每一个三角形的质心纵坐标*该三角形的面积之和。
[0050]5、套用前述的公式即可。
[0051]进一步地,实施时,计算出各polygon对象的质心位置的同时,还进行存储操作;其中,所述存储包括存储在polygon的center属性上以及存储在polygonArray数组对象中。[0052]S104,再从后端服务器中获取该行政区域内所有的点位信息,并进行遍历计算处理,以得出各点位信息所属的地理行政范围。
[0053]具体地,通过inPolygon方法来遍历计算每一个点位属于哪个polygon对象的范围,并将该polygon对象的number属性+1;例如,某polygon对象范围内存在三个点位,每个点位都会使其number属性+1;这样通过获取number属性的值,即可得出该该polygon对象范围内有多少个点位。
[0054]S105,再将处理后的各点位信息定位到对应polygon对象的质心位置上。[0055]具体地,通过leaflet的marker定位到每个polygon对象的质心上。
[0056]即,先通过leaflet的divIcon方法以及ploygon的number属性来创建marker的图标对象,再通过leaflet的marker方法以及ploygon的质心center和上面刚刚创建的图标对象,来创建一个新的marker对象展示在polygon的质心上。
[0057]通过上述步骤,基于leaflet对行政区域进行聚合,拥有运算速度快,每一个点位只需要计算一次,没有复杂到距离计算,适应场景多;本发明针对实际应用场景,实现可清

本文发布于:2024-09-22 06:43:54,感谢您对本站的认可!

本文链接:https://www.17tex.com/xueshu/738414.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:对象   技术   计算   行政区域   点位   地图   质心   方法
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2024 Comsenz Inc.Powered by © 易纺专利技术学习网 豫ICP备2022007602号 豫公网安备41160202000603 站长QQ:729038198 关于我们 投诉建议