CN116049576B - 地图数据的聚合展示方法、装置、电子设备 - Google Patents
地图数据的聚合展示方法、装置、电子设备 Download PDFInfo
- Publication number
- CN116049576B CN116049576B CN202310042917.7A CN202310042917A CN116049576B CN 116049576 B CN116049576 B CN 116049576B CN 202310042917 A CN202310042917 A CN 202310042917A CN 116049576 B CN116049576 B CN 116049576B
- Authority
- CN
- China
- Prior art keywords
- map data
- aggregation
- current
- classification
- point
- 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.)
- Active
Links
- 238000004220 aggregation Methods 0.000 title claims abstract description 862
- 230000002776 aggregation Effects 0.000 title claims abstract description 849
- 238000000034 method Methods 0.000 title claims abstract description 60
- 230000004044 response Effects 0.000 claims abstract description 26
- 230000004931 aggregating effect Effects 0.000 claims description 13
- 230000001960 triggered effect Effects 0.000 claims description 10
- 238000012545 processing Methods 0.000 abstract description 4
- 238000004590 computer program Methods 0.000 description 14
- 238000006116 polymerization reaction Methods 0.000 description 6
- 238000010586 diagram Methods 0.000 description 5
- 230000008569 process Effects 0.000 description 5
- 238000012937 correction Methods 0.000 description 4
- 230000000694 effects Effects 0.000 description 3
- 238000005315 distribution function Methods 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000013459 approach Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 238000012806 monitoring device Methods 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 238000005192 partition Methods 0.000 description 1
- 238000003672 processing method Methods 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/953—Querying, e.g. by the use of web search engines
- G06F16/9537—Spatial or temporal dependent retrieval, e.g. spatiotemporal queries
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/23—Updating
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/28—Databases characterised by their database models, e.g. relational or object models
- G06F16/284—Relational databases
- G06F16/285—Clustering or classification
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/29—Geographical information databases
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/953—Querying, e.g. by the use of web search engines
- G06F16/9538—Presentation of query results
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Remote Sensing (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请公开了一种地图数据的聚合展示方法及装置,属于地图数据处理技术领域,用于解决客户端查询响应时间和获取更多有效地图信息无法兼容的问题。所述方法应用于服务端,包括:响应于客户端的查询,获取查询对应的目标聚合层级;从目标地图的对应各聚合层级分层存储的聚合地图数据中,获取对应的聚合地图数据;根据聚合地图数据,获取查询的聚合点数据;向客户端发送聚合点数据,使得客户端基于聚合点数据进行地图信息聚合展示。本方法通过预先在服务端进行地图数据聚合,客户端只需执行一次查询操作,即可获取到携带更多有效信息的聚合点,实现密集地图数据点的聚合展示,且可以提升客户端查询地图数据的需求响应速度。
Description
技术领域
本申请涉及地图数据处理技术领域,特别是涉及地图数据的聚合展示方法、装置,及电子设备及计算机可读存储介质。
背景技术
随着数据更加精细化,一些基于云的应用或者设备,在地图上展现可视化数据需要能够看到更加详细的信息。以摄像头的云管控平台为例,每一个街口、道路都有多个摄像头,如果需要对全国范围内的摄像头进行云管控,那么地图数据的显示不能仅仅只看到设备的大致分布,而要针对每一个设备的状态、类型、威胁等信息的精确展示;而在这种云管控平台中,由于地图范围可以放大缩小,此时必然需要地图数据的动态聚合。
现有技术中,一种地图数据的聚合展示方法为:服务端在接收到客户端请求后,根据当前的数据集合进行实时聚合运算,并将运算结果返回给客户端。而由于请求响应时间的需求,对服务端执行大量数据的读取和有害运算聚合的效率要求高,现有技术中,服务端为了保障客户端相应需求,采用损失聚合精度的方式进行地图数据聚合,导致输出给客户端的数据不够精准,单个数据点显示的有效信息更少。
可见,现有技术中的地图数据的聚合展示方法还需要改进。
发明内容
本申请实施例提供一种地图数据的聚合展示方法、装置,及电子设备,有助于解决为满足请求响应时间的需求,服务端损失聚合精度,导致输出给客户端的聚合地图数据有效信息少的问题。
第一方面,本申请实施例公开了一种地图数据的聚合展示方法,应用于服务端,所述方法包括:
响应于客户端的查询,获取所述查询对应的目标聚合层级;
从目标地图的对应各聚合层级分层存储的聚合地图数据中,获取与所述目标聚合层级对应的所述聚合地图数据;
根据与所述目标聚合层级对应的所述聚合地图数据,获取所述查询对应的聚合点数据;
向所述客户端发送所述聚合点数据,使得所述客户端基于所述聚合点数据进行地图信息聚合展示。
可选的,所述聚合地图数据是通过以下方法生成的:
响应于新增待聚合地图数据点,获取待聚合地图数据点的坐标;
分别以每个所述聚合层级作为当前聚合层级,执行以下第一单点聚合操作:
获取所述当前聚合层级对应的聚合距离;
根据所述当前聚合层级对应的所述聚合距离、所述待聚合地图数据点的坐标、所述当前聚合层级对应的聚合地图数据和所述目标地图的地图数据点列表,进行数据点聚合,得到所述当前聚合层级对应的聚合结果;
根据所述聚合结果,更新存储所述当前聚合层级对应的所述聚合地图数据。
可选的,所述根据所述当前聚合层级对应的所述聚合距离、所述待聚合地图数据点的坐标、所述当前聚合层级对应的聚合地图数据和所述目标地图的地图数据点列表,进行数据点聚合,得到所述当前聚合层级对应的聚合结果,包括:
根据所述待聚合地图数据点的所述坐标、所述当前聚合层级对应的聚合地图数据和所述地图数据点列表,获取所述待聚合地图数据点的候选分类;
获取与所述待聚合地图数据点之间的距离最小的所述候选分类,作为目标分类;
响应于所述待聚合地图数据点与所述目标分类的分类中心坐标之间的距离小于或等于所述当前聚合层级对应的所述聚合距离,将所述待聚合地图数据点与所述目标分类对应的地图数据点进行数据点聚合,得到所述当前聚合层级对应的聚合结果;
响应于所述待聚合地图数据点与所述目标分类的分类中心坐标之间的距离大于所述当前聚合层级对应的所述聚合距离,在当前聚合层级对应的所述聚合地图数据中新建所述待聚合地图数据点对应的分类,并将所述待聚合地图数据点的坐标作为新建的所述分类的分类中心坐标,得到所述当前聚合层级对应的聚合结果。
可选的,所述将所述待聚合地图数据点与所述目标分类对应的地图数据点进行数据点聚合,得到所述当前聚合层级对应的聚合结果,包括:
将所述待聚合地图数据点加入所述目标分类;
响应于所述目标分类对应的所述地图数据点的数量小于预设样本数量阈值,根据所述目标分类对应的所述地图数据点,对所述目标分类的分类中心坐标进行校正,得到所述当前聚合层级对应的所述聚合结果。
可选的,所述根据所述目标分类对应的所述地图数据点,对所述目标分类的分类中心坐标进行校正,包括:
采用二维正态分布算法,对所述目标分类对应的所述地图数据点的坐标进行分布运算,得到二维正态分布的极值对应的坐标;
将所述极值对应的坐标,作为目标分类的校正后的分类中心坐标。
可选的,所述地图数据点按照坐标大小顺序存储在地图数据点列表中,所述根据所述待聚合地图数据点的所述坐标、所述当前聚合层级对应的聚合地图数据和所述地图数据点列表,获取所述待聚合地图数据点的候选分类,包括:
根据坐标的大小关系,采用二分查找法查询所述地图数据点列表,获取所述待聚合地图数据点的邻近地图数据点;
通过查询所述当前聚合层级对应的聚合地图数据,获取所述邻近地图数据点所属分类;
将获取的所述分类,作为所述待聚合地图数据点对应所述当前聚合层级的候选分类。
可选的,所述聚合地图数据是通过以下方法生成的:
响应于全局聚合任务被触发,获取所述目标地图的地图数据点列表;
分别以每个所述聚合层级作为当前聚合层级,执行以下列表聚合操作:
获取所述当前聚合层级对应的聚合距离;
根据所述当前聚合层级对应的所述聚合距离、所述地图数据点列表,进行数据点重新聚合,得到所述当前聚合层级对应的聚合结果;
根据所述聚合结果,更新存储所述当前聚合层级对应的所述聚合地图数据。
可选的,所述根据所述当前聚合层级对应的所述聚合距离、所述地图数据点列表,进行数据点重新聚合,得到所述当前聚合层级对应的聚合结果,包括:
初始化所述当前聚合层级对应的所述聚合地图数据;
按照坐标大小顺序依次将所述地图数据点列表中的地图数据点,作为当前待聚合地图数据点,并对所述当前待聚合地图数据点执行以下第二单点聚合操作,其中,所述第二单点聚合操作包括:
响应于所述当前聚合层级对应的所述聚合地图数据中分类数量等于0,在所述聚合地图数据中新建所述当前待聚合地图数据点对应的分类,并将所述当前待聚合地图数据点的坐标作为新建的所述分类的分类中心坐标;
响应于所述当前聚合层级对应的所述聚合地图数据中分类数量大于0,且前一个被执行所述第二单点聚合操作的地图数据点对应的目标分类的分类中心坐标与所述当前待聚合地图数据点之间的距离小于或等于所述当前聚合层级对应的所述聚合距离,将所述当前待聚合地图数据点加入所述目标分类,并根据所述目标分类对应的地图数据点,重新确定所述目标分类的分类中心坐标;
响应于所述当前聚合层级对应的所述聚合地图数据中分类数量大于0,且前一个被执行所述第二单点聚合操作的地图数据点对应的目标分类的分类中心坐标与所述当前待聚合地图数据点之间的距离大于所述当前聚合层级对应的所述聚合距离,在所述聚合地图数据中新建与所述当前待聚合地图数据点对应的分类,并将所述当前待聚合地图数据点的坐标作为新建的所述分类的分类中心坐标;
将对所述地图数据点列表中的所有地图数据点分别执行所述第二单点聚合操作后得到的所述聚合地图数据,作为所述当前聚合层级对应的聚合结果。
可选的,所述根据与所述目标聚合层级对应的所述聚合地图数据,获取所述查询对应的聚合点数据,包括:
获取所述查询对应的地图中心点坐标;
通过查询预先建立的聚合层级与地图边界距离的对应关系,获取与所述目标聚合层级对应的地图边界距离;
根据所述地图中心点坐标和所述地图边界距离,确定矩形地图区域;
在与所述目标聚合层级对应的所述聚合地图数据中,获取所述矩形地图区域内的地图数据点的分类信息,作为所述查询对应的聚合点数据。
第二方面,本申请实施例公开了一种地图数据的聚合展示装置,应用于服务端,所述装置包括:
目标聚合层级获取模块,用于响应于客户端的查询,获取所述查询对应的目标聚合层级;
聚合地图数据获取模块,用于从目标地图的对应各聚合层级分层存储的聚合地图数据中,获取与所述目标聚合层级对应的所述聚合地图数据;
聚合点数据获取模块,用于根据与所述目标聚合层级对应的所述聚合地图数据,获取所述查询对应的聚合点数据;
输出展示模块,用于向所述客户端发送所述聚合点数据,使得所述客户端基于所述聚合点数据进行地图信息聚合展示。
可选的,所述聚合地图数据是通过以下方法生成的:
响应于新增待聚合地图数据点,获取待聚合地图数据点的坐标;
分别以每个所述聚合层级作为当前聚合层级,执行以下第一单点聚合操作:
获取所述当前聚合层级对应的聚合距离;
根据所述当前聚合层级对应的所述聚合距离、所述待聚合地图数据点的坐标、所述当前聚合层级对应的聚合地图数据和所述目标地图的地图数据点列表,进行数据点聚合,得到所述当前聚合层级对应的聚合结果;
根据所述聚合结果,更新存储所述当前聚合层级对应的所述聚合地图数据。
可选的,所述根据所述当前聚合层级对应的所述聚合距离、所述待聚合地图数据点的坐标、所述当前聚合层级对应的聚合地图数据和所述目标地图的地图数据点列表,进行数据点聚合,得到所述当前聚合层级对应的聚合结果,包括:
根据所述待聚合地图数据点的所述坐标、所述当前聚合层级对应的聚合地图数据和所述地图数据点列表,获取所述待聚合地图数据点的候选分类;
获取与所述待聚合地图数据点之间的距离最小的所述候选分类,作为目标分类;
响应于所述待聚合地图数据点与所述目标分类的分类中心坐标之间的距离小于或等于所述当前聚合层级对应的所述聚合距离,将所述待聚合地图数据点与所述目标分类对应的地图数据点进行数据点聚合,得到所述当前聚合层级对应的聚合结果;
响应于所述待聚合地图数据点与所述目标分类的分类中心坐标之间的距离大于所述当前聚合层级对应的所述聚合距离,在当前聚合层级对应的所述聚合地图数据中新建所述待聚合地图数据点对应的分类,并将所述待聚合地图数据点的坐标作为新建的所述分类的分类中心坐标,得到所述当前聚合层级对应的聚合结果。
可选的,所述将所述待聚合地图数据点与所述目标分类对应的地图数据点进行数据点聚合,得到所述当前聚合层级对应的聚合结果,包括:
将所述待聚合地图数据点加入所述目标分类;
响应于所述目标分类对应的所述地图数据点的数量小于预设样本数量阈值,根据所述目标分类对应的所述地图数据点,对所述目标分类的分类中心坐标进行校正,得到所述当前聚合层级对应的所述聚合结果。
可选的,所述根据所述目标分类对应的所述地图数据点,对所述目标分类的分类中心坐标进行校正,包括:
采用二维正态分布算法,对所述目标分类对应的所述地图数据点的坐标进行分布运算,得到二维正态分布的极值对应的坐标;
将所述极值对应的坐标,作为目标分类的校正后的分类中心坐标。
可选的,所述地图数据点按照坐标大小顺序存储在地图数据点列表中,所述根据所述待聚合地图数据点的所述坐标、所述当前聚合层级对应的聚合地图数据和所述地图数据点列表,获取所述待聚合地图数据点的候选分类,包括:
根据坐标的大小关系,采用二分查找法查询所述地图数据点列表,获取所述待聚合地图数据点的邻近地图数据点;
通过查询所述当前聚合层级对应的聚合地图数据,获取所述邻近地图数据点所属分类;
将获取的所述分类,作为所述待聚合地图数据点对应所述当前聚合层级的候选分类。
可选的,所述聚合地图数据是通过以下方法生成的:
响应于全局聚合任务被触发,获取所述目标地图的地图数据点列表;
分别以每个所述聚合层级作为当前聚合层级,执行以下列表聚合操作:
获取所述当前聚合层级对应的聚合距离;
根据所述当前聚合层级对应的所述聚合距离、所述地图数据点列表,进行数据点重新聚合,得到所述当前聚合层级对应的聚合结果;
根据所述聚合结果,更新存储所述当前聚合层级对应的所述聚合地图数据。
可选的,所述根据所述当前聚合层级对应的所述聚合距离、所述地图数据点列表,进行数据点重新聚合,得到所述当前聚合层级对应的聚合结果,包括:
初始化所述当前聚合层级对应的所述聚合地图数据;
按照坐标大小顺序依次将所述地图数据点列表中的地图数据点,作为当前待聚合地图数据点,并对所述当前待聚合地图数据点执行以下第二单点聚合操作,其中,所述第二单点聚合操作包括:
响应于所述当前聚合层级对应的所述聚合地图数据中分类数量等于0,在所述聚合地图数据中新建所述当前待聚合地图数据点对应的分类,并将所述当前待聚合地图数据点的坐标作为新建的所述分类的分类中心坐标;
响应于所述当前聚合层级对应的所述聚合地图数据中分类数量大于0,且前一个被执行所述第二单点聚合操作的地图数据点对应的目标分类的分类中心坐标与所述当前待聚合地图数据点之间的距离小于或等于所述当前聚合层级对应的所述聚合距离,将所述当前待聚合地图数据点加入所述目标分类,并根据所述目标分类对应的地图数据点,重新确定所述目标分类的分类中心坐标;
响应于所述当前聚合层级对应的所述聚合地图数据中分类数量大于0,且前一个被执行所述第二单点聚合操作的地图数据点对应的目标分类的分类中心坐标与所述当前待聚合地图数据点之间的距离大于所述当前聚合层级对应的所述聚合距离,在所述聚合地图数据中新建与所述当前待聚合地图数据点对应的分类,并将所述当前待聚合地图数据点的坐标作为新建的所述分类的分类中心坐标;
将对所述地图数据点列表中的所有地图数据点分别执行所述第二单点聚合操作后得到的所述聚合地图数据,作为所述当前聚合层级对应的聚合结果。
可选的,所述聚合点数据获取模块,进一步用于:
获取所述查询对应的地图中心点坐标;
通过查询预先建立的聚合层级与地图边界距离的对应关系,获取与所述目标聚合层级对应的地图边界距离;
根据所述地图中心点坐标和所述地图边界距离,确定矩形地图区域;
在与所述目标聚合层级对应的所述聚合地图数据中,获取所述矩形地图区域内的地图数据点的分类信息,作为所述查询对应的聚合点数据。
第三方面,本申请实施例还公开了一种电子设备,包括存储器、处理器及存储在所述存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现本申请实施例所述的地图数据的聚合展示方法。
第四方面,本申请实施例公开了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时本申请实施例公开的地图数据的聚合展示方法的步骤。
本申请实施例公开的地图数据的聚合展示方法,应用于服务端,通过预先在服务端完成各个展示层级的地图数据点的聚合,并将聚合得到与各展示层级对应的聚合层级的聚合地图数据分层存储;然后,在客户端需要展示聚合点时,只需要执行查询操作,服务端将响应客户端的查询,获取所述查询对应的目标聚合层级;从目标地图的对应各聚合层级分层存储的聚合地图数据中,获取与所述目标聚合层级对应的所述聚合地图数据;根据与所述目标聚合层级对应的所述聚合地图数据,获取所述查询对应的聚合点数据;向所述客户端发送所述聚合点数据,使得所述客户端基于所述聚合点数据进行地图信息聚合展示,客户端只需要执行一次查询操作,就可以获取到需要展示的携带更多有效信息的聚合点,实现密集地图数据点的聚合展示,并且,可以有效缩短客户端进行地图数据显示时需要消耗的时间,提升客户端查询地图数据的需求响应速度。
上述说明仅是本申请技术方案的概述,为了能够更清楚了解本申请的技术手段,而可依照说明书的内容予以实施,并且为了让本申请的上述和其它目的、特征和优点能够更明显易懂,以下特举本申请的具体实施方式。
附图说明
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
图1是本申请实施例公开的地图数据的聚合展示方法的流程图;
图2是本申请实施例公开的新增地图数据点的聚合算法示意图之一;
图3是本申请实施例公开的新增地图数据点的聚合算法示意图之二;
图4是本申请实施例公开的新增地图数据点的将聚合结果示意图;
图5是图4所示的聚合结果重新聚合之后的效果示意图;
图6是本申请实施例公开的地图数据的聚合展示装置结构示意图;
图7示意性地示出了用于执行根据本申请的方法的电子设备的框图;以及
图8示意性地示出了用于保持或者携带实现根据本申请的方法的程序代码的存储单元。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
本申请实施例公开的一种地图数据的聚合展示方法,应用于服务端,如图1所示,所述方法包括:步骤110至步骤140。
步骤110,响应于客户端的查询,获取所述查询对应的目标聚合层级。
本申请的实施例中,为了提升地图数据点携带的信息量,在服务端对地图数据点进行聚合操作,之后,在客户端(例如WEB端)需要展示地图数据点的时候,服务端根据客户端的查询参数,将预先聚合得到的聚合地图数据发送给客户端,由客户端进行展示。
为了提升服务端对客户端查询的响应速度,缩短客户端等待聚合地图数据的时间,提升客户端地图展示页面的刷新效率,同时,保证客户端展示的地图数据精准度和丰富的信息量,本申请的实施例中,服务端预先对地图数据点进行多个层级的聚合,并将聚合得到的各个聚合层级的聚合地图数据分层级存储。在客户端查询地图数据点时,根据客户端的查询参数,输出相应的聚合层级的地图数据点的聚合地图数据。
本申请的一些实施例中,所述聚合层级可以根据客户端支持的地图缩放级别设置。本申请的另一些实施例中,当客户端不仅支持地图的多级缩放显示,还支持不同显示分辨率时,所述聚合层级可以根据客户端支持的地图缩放级别和客户端分辨率设置。
相应的,所述响应于客户端的查询,获取所述查询对应的目标聚合层级,包括:响应于客户端的查询,获取所述查询对应的查询参数,其中,所述查询参数包括:地图缩放级别;或者,所述查询参数包括:地图缩放级别和客户端分辨率;根据所述地图缩放级别,获取所述查询对应的目标聚合层级;或者,根据所述地图缩放级别和所述客户端分辨率,获取所述查询对应的目标聚合层级。
以按照客户端设置的地图缩放级别,设置匹配的聚合层级为例,客户端可以按照地理信息系统的标准设置16个地图缩放级别。相应的,服务端将按照16个聚合层级对地图数据点进行聚合,得到每个地图缩放级别对应的聚合层级的聚合地图数据。这样,客户端可以在查询参数中携带地图缩放级别,服务端则根据查询参数中携带的地图缩放级别确定对应的聚合层级。可选的,服务端可以根据预先设置的地图缩放级别和聚合层级的对应关系表,确定查询参数中携带的地图缩放级别对应的聚合层级。
以按照客户端设置的地图缩放级别和客户端分辨率,设置匹配的聚合层级为例,客户端可以按照地理信息系统的标准设置16个地图缩放级别,并支持5种分辨率,相应的,服务端将按照16×5个聚合层级对地图数据点进行聚合,得到地图缩放级别和客户端分辨率的每个组合对应的聚合层级的聚合地图数据。这样,客户端可以在查询参数中携带地图缩放级别和客户端分辨率,服务端则根据查询参数中携带的地图缩放级别和客户端分辨率确定对应的聚合层级。可选的,服务端可以根据预先设置的地图缩放级别和客户端分辨率的组合与聚合层级的对应关系表,确定查询参数中携带的地图缩放级别和客户端分辨率对应的聚合层级。
本申请的实施例中,将所述查询对应的聚合层级,记为“目标聚合层级”。
本申请的一些实施例中,所述服务端还预先存储每个聚合层级对应的聚合距离(例如聚合半径),以及,每个聚合层级对应的地图边界距离。其中,所述聚合距离用于指示市地图数据点的最大聚合距离(例如,地图数据点的最大聚类半径),所述地图边界距离用于指示输出至客户端的地图数据点与指定的地图中心点之间的最远距离(例如,以指定的地图中心点为中心的矩形区域的最大对角距离)。
例如,可以人工标注地图缩放级别、客户端分辨率、聚合距离、地图边界距离与聚合层级的对应关系表格,并存储在服务端,不仅可以缩小聚合数据的查询范围,还可以提升地图数据点聚合粒度与客户端展示的地图的缩放级别、分辨率等的匹配度,改善展示效果。如1920*1080的分辨率的显示范围,在地图缩放级别为5级时,聚合距离(如聚合半径)为1.6,即在地图上直径为1.6经纬度的圈范围内的地图数据点将会进行聚合。聚合边界为42.6,即只显示距离地图中心点坐标距离小于或等于42.6的地图数据点。
步骤120,从目标地图的对应各聚合层级分层存储的聚合地图数据中,获取与所述目标聚合层级对应的所述聚合地图数据。
本申请的一些实施例中,所述聚合地图数据可以存储为地图数据点索引表的形式。例如,当聚合层级为5级,分别记为:1、2、3、4和5级时,若定义聚合层级数越大,对应的聚合地图数据中地图数据点分类越多,以全国地图为例,聚合层级和聚合地图数据的关系如下:聚合层级为5时,聚合地图数据中可以包括每个城市的各个街道的地图数据点;聚合层级为4时,聚合地图数据中可以包括每个城市的地图数据点聚合到主要街道后得到的分类中心(即聚合点);聚合层级为3时,聚合地图数据中可以包括每个城市的地图数据点聚合到各个区后得到的分类中心(即聚合点);聚合层级为2时,聚合地图数据中可以包括每个省份的地图数据点聚合到各个城市之后得到的分类中心(即聚合点);聚合层级为1时,聚合地图数据中可以包括全国的地图数据点聚合到每个省份后得到的分类中心(即聚合点)。
本申请的一些实施例中,所述聚合地图数据中还包括聚合到每个地图数据点分类的地图数据点信息(如地图数据点的经纬度坐标)。
其中,每个聚合层级对应的地图数据点索引表独立存储在数据库中。
可选的,所述地图数据点为地图中需要显示的数据点。所述数据点根据地图功能确定。例如,当地图为交通地图时,所述数据点可以为红绿灯路口、收费站、高速公路等。又例如,当地图为监控设备部署地图时,所述数据点可以为摄像头部署位置、监控数据中心等。再例如,当地图为通信网络地图时,所述数据点可以为基站、光缆标识等。
本申请的实施例中,在获取到客户端的查询对应的目标聚合层级之后,可以进一步在服务端对目标地图进行针对预设的各聚合层级分别进行数据点聚合得到的分层存储的聚合地图数据中,获取与所述目标聚合层级对应的所述聚合地图数据。
步骤130,根据与所述目标聚合层级对应的所述聚合地图数据,获取所述查询对应的聚合点数据。
在获取到与所述目标聚合层级对应的所述聚合地图数据之后,可以进一步根据获取的聚合地图数据,得到所述查询对应的聚合点数据。
本申请的一些实施例中,可以将获取的与所述目标聚合层级对应的所述聚合地图数据,作为所述查询对应的聚合点数据。这样,客户端可以接收到的地图数据为目标地图的某个缩放比例的全部聚合地图数据。例如,将目标地图的指定地图缩放级别的聚合题图数据中的全部地图数据点信息,输出给客户端。所述聚合地图数据中包括:聚合得到的各地图数据点分类的分类信息。
本申请的另一些实施例中,为了进一步满足客户端的响应时间需求,客户端仅展示的可见地理范围的地图数据点,在客户端查询地图数据点的数据时,不仅在查询参数中携带地图缩放级别、客户端分辨率,还可以携带当前屏地图的地图中心点坐标。相应的,所述根据与所述目标聚合层级对应的所述聚合地图数据,获取所述查询对应的聚合点数据,包括:获取所述查询对应的地图中心点坐标;通过查询预先建立的聚合层级与地图边界距离的对应关系,获取与所述目标聚合层级对应的地图边界距离;根据所述地图中心点坐标和所述地图边界距离,确定矩形地图区域;在与所述目标聚合层级对应的所述聚合地图数据中,获取所述矩形地图区域内的地图数据点的分类信息,作为所述查询对应的聚合点数据。
可选的,本申请实施例中所述的聚合点对应多个地图数据点。例如,所述聚合点可以为多个地图数据点进行聚合得等到的地图数据点分类的分类中心坐标对应的地图上的点。
可选的,所述分类信息包括以下一项或多项:地图数据点分类、分类中心坐标、所述地图数据点分类对应的地图数据点。例如,所述地图数据点的分类信息包括:单个地图数据点对应分类的分类中心坐标和/或对应的地图数据点标识(如地图数据点经纬度坐标),以及,多个地图数据点聚合得到的分类的分类中心坐标和/或聚合到该分类的地图数据点标识。
例如,客户端在查询参数中携带地图缩放级别、客户端分辨率和地图中心点坐标,服务端根据地图缩放级别和客户端分辨率确定目标聚合层级,之后,通过检索预先建立的聚合层级与地图边界距离的对应关系,获取目标聚合层级对应的地图边界距离。然后,服务端以所述地图中心点坐标为矩形区域中心,以所述地图边界距离作为所述矩形区域的边距离所述矩形区域中心的最大距离,确定一个所述目标地图中的一个矩形地图区域。之后,服务端在获取的地图聚合数据中,进一步选择所述矩形地图区域中的地图数据点的分类信息,作为所述查询对应的聚合点数据。
通过由客户端获取到的当前屏显示的地图的地图中心点坐标,以及地图缩放级别、客户端分辨率信息作为参数,在聚合层级与聚合距离的对应表格中得到地图边界距离d,即只展示距离地图中心点d距离范围内的数据内容,服务端可以仅向客户端发送可见地理范围的地图数据点。有效减少了服务端发送给客户端的数据量,可以有效提升聚合地图数据的传输速度,从而进一步提升客户端的查询请求响应速度。进一步的,当客户端通过地图接口查询该可见地理范围内的地图数据点的详细数据时,也可以提升查询效率。
步骤140,向所述客户端发送所述聚合点数据,使得所述客户端基于所述聚合点数据进行地图信息聚合展示。
所述聚合点数据选自与地图数据的聚合结果。具体实施时,所述聚合点数据中可以包括:单个地图数据点对应的分类信息,也可以包括多个地图数据点对应的分类信息。
之后,服务端将获取的聚合点数据发送给所述客户端。所述客户端在接收到聚合点数据之后,可以根据聚合点数据中各聚合点对应的地图数据点分类的分类中心坐标,以聚合点的形式显示密集地图数据点。
本申请的另一些实施例中,客户端可以进一步根据聚合点数据中聚合到每个地图数据点分类的地图数据点的坐标或标识,查询地图数据库,获取所述地图数据点的更加详细、丰富的信息,并在当前屏该聚合点对应的位置进行展示。即,可以将所述聚合点对应分类中的各地图数据点的信息与所述聚合点进行关联显示。
具体举例而言,以目标地图为A城市的交通设备地图为例,客户端需要对A城市各道路红绿灯路口、收费站、高速路的设备地图进行显示,在A城市范围内只显示主要的区域的设备图标。随着放大地图,客户端获取相应地图缩放级别对应的地图聚合数据,显示出A城市地图的更细致的设备分布,包括路口智能摄像头、CPE设备(Customer PremiseEquipment 客户终端设备),收费站的ETC(Electronic Toll Collection,电子不停车收费)网络设备、防火墙设备,高速测速仪。多个设备聚集的地方显示“聚合点”图标,单个设备的地方显示“设备”图标。进一步的,对于网络设备(如ETC网络设备),客户端还可以根据获取到的网络设备对应的分类中心坐标和数据中心对应的分类中心坐标,显示网络设备与数据中心的网络线路信息。
本申请实施例中公开的地图数据的聚合展示方法,应用于服务端,通过预先在服务端完成各个展示层级的地图数据点的聚合,并将聚合得到与各展示层级对应的聚合层级的聚合地图数据分层存储;然后,在客户端需要展示聚合点时,只需要执行查询操作,服务端将响应客户端的查询,获取所述查询对应的目标聚合层级;从目标地图的对应各聚合层级分层存储的聚合地图数据中,获取与所述目标聚合层级对应的所述聚合地图数据;根据与所述目标聚合层级对应的所述聚合地图数据,获取所述查询对应的聚合点数据;向所述客户端发送所述聚合点数据,使得所述客户端基于所述聚合点数据进行地图信息聚合展示。由以上地图聚合点展示过程可知,通过预先在服务端进行地图数据聚合,客户端只需要执行一次查询操作,就可以获取到需要展示的携带更多有效信息的聚合点,实现密集地图数据点的聚合展示,并且,有效缩短了客户端进行地图数据显示时需要消耗的时间,提升了客户端查询地图数据的需求响应速度。
通过在服务端进行地图数据点的聚合,将复杂耗时的地图数据点聚合过程设置在运算能力强大的后台,使得得到的聚合地图数据可以基于全量地图数据点进行精准地图数据点聚类,从而获取地图数据点之间的关联(在聚合地图数据中记录聚合到某个分类下(即聚合点)的地图数据点),将更多有效信息输出至客户端,使得客户端只需要执行查询服务端的操作,不需要执行复杂的运算,就可以展示地图数据点的更加丰富的信息。例如,展示地图数据点之间的关联(如地图数据点对应的聚合点)。
本申请的实施例中,可以采用新增数据点触发聚合、任务触发聚合,或者新增数据点触发结合任务触发的方式进行地图数据点聚合,以得到各聚合层级对应的聚合地图数据。为了使本方案更加清楚,下面对服务端对地图数据点进行数据点聚合,得到各聚合层级对应的聚合地图数据的具体实施方式进行进一步举例说明。
第一种,新增数据点触发聚合
本申请的一些实施例中,所述聚合地图数据是通过以下方法生成的:响应于新增待聚合地图数据点,获取待聚合地图数据点的坐标;分别以每个所述聚合层级作为当前聚合层级,执行以下第一单点聚合操作:获取所述当前聚合层级对应的聚合距离;根据所述当前聚合层级对应的所述聚合距离、所述待聚合地图数据点的坐标、所述当前聚合层级对应的聚合地图数据和所述目标地图的地图数据点列表,进行数据点聚合,得到所述当前聚合层级对应的聚合结果;根据所述聚合结果,更新存储所述当前聚合层级对应的所述聚合地图数据。
可选的,所述待聚合地图数据点包括:新增地图数据点、坐标发生变化的地图数据点。对于坐标发生变化的地图数据点,可以首先将该地图数据点从地图数据点中删除,然后,再将变化后的坐标作为一个新增地图数据点处理。
本申请的一些实施例中,服务端可以设置新增待聚合地图数据点的接口,供地图服务在新增地图数据点的时候调用。当服务端接收到对该接口的调用时,通过接口参数获取新增地图数据点的坐标,之后,将该新增地图数据点作为待聚合地图数据点的坐标,触发数据点聚合操作。
本申请的实施例中,针对每个聚合层级,分别执行针对该待聚合地图数据点,执行一次第一单点聚合操作。
如前文所述,针对每个聚合层级,预先设置了聚合距离。在对待聚合地图数据点与当前聚合层级的已有分类进行聚合时,首先通过预先设置的集合层级和聚合距离的对应关系,获取当前聚合层级对应的聚合距离。
之后,根据所述当前聚合层级对应的所述聚合距离、所述待聚合地图数据点的坐标、所述当前聚合层级对应的聚合地图数据中已有分类的分类中心坐标,进行数据点聚合,得到所述当前聚合层级对应的聚合结果。
可选的,得到的所述当前聚合层级对应的聚合结果可以为增加了新的分类,也可以为修改了已有分类的分类中心坐标,还可以为将待聚合地图数据点加入到一个已有分类中,不对已有分类的数量和分类中心坐标做任何改变。
在得到所述聚合结果之后,可以通过得到聚合结果更新存储所述当前聚合层级对应的所述聚合地图数据。
本申请的一些实施例中,根据所述当前聚合层级对应的所述聚合距离、所述待聚合地图数据点的坐标、所述当前聚合层级对应的聚合地图数据和所述目标地图的地图数据点列表,进行数据点聚合,得到所述当前聚合层级对应的聚合结果,包括:子步骤A1至子步骤A4。
子步骤A1,根据所述待聚合地图数据点的所述坐标、所述当前聚合层级对应的聚合地图数据和所述地图数据点列表,获取所述待聚合地图数据点的候选分类。
本申请的实施例中,服务端为每个聚合层级存储并维护一份聚合地图数据(例如,服务端为每个聚合层级存储一张数据点聚合索引表),用于存储针对相应聚合层级进行地图数据点聚合得到的地图数据点分类的分类信息。可选的,所述分类信息可以包括:每个地图数据点分类的分类点中心坐标,聚合到每个地图数据点分类的地图数据点的坐标。
本申请的实施例中,地图数据点的坐标,或分类中心坐标,可以通过经纬度坐标表示。
在获取到待聚合地图数据点的坐标之后,可以将待聚合地图数据点的坐标与当前聚合层级对应的聚合地图数据中聚合到每个地图数据点的坐标进行比对,找到与该待聚合地图数据点邻近的地图数据点,并将该邻近的地图数据点所属分类,作为待聚合地图数据点的候选分类。
本申请的另一些实施例中,还可以将待聚合地图数据点的坐标与当前聚合层级对应的聚合地图数据中每个地图数据点分类的分类点中心坐标进行比对,找到距离待聚合地图数据点最近的分类点中心坐标,并将该分类点中心坐标所属地图数据点分类,作为待聚合地图数据点的候选分类。
在聚合地图数据中地图数据点和分类众多的情况下,采用上述方法将待聚合地图数据点的坐标与聚合地图数据中的地图数据点分类进行比对,或者,将待聚合地图数据点的坐标与已分类的各个地图数据点进行比较,比较效率将直接影响客户端的地图数据展示效率。针对这种情况,本申请的实施例中,将所述目标地图的地图数据点按照坐标大小顺序存储在地图数据点列表中,以优化地图数据点的候选分类确定算法。
可选的,所述目标地图的地图数据点按照坐标大小顺序存储在地图数据点列表中,所述根据所述待聚合地图数据点的所述坐标、所述当前聚合层级对应的聚合地图数据和所述地图数据点列表,获取所述待聚合地图数据点的候选分类,包括:根据坐标的大小关系,采用二分查找法查询所述地图数据点列表,获取所述待聚合地图数据点的邻近地图数据点;通过查询所述当前聚合层级对应的聚合地图数据,获取所述邻近地图数据点所属分类;将获取的所述分类,作为所述待聚合地图数据点对应所述当前聚合层级的候选分类。
可选的,服务端按照经纬度坐标的由小到达或由大到小的顺序,对目标地图的地图数据点进行从前向后排列。例如,可以按照经度坐标由小到大的顺序对目标地图的地图数据点从前向后排序,对于经度坐标相同的地图数据点,进一步按照纬度坐标由小到大的顺序从前向后排序,得到地图数据点列表。每新增加一个地图数据点,即按照经纬度坐标的大小关系,将该新增地图数据点插入到地图数据点列表的相应位置,以更新地图数据点列表。
在需要确定待聚合地图数据点的邻近地图数据点时,首先采用二分法在地图数据点列表中查找与待聚合地图数据点的经度坐标和维度坐标最接近的地图数据点,作为待聚合地图数据点的邻近地图数据点。然后,再将邻近地图数据点与所述当前聚合层级对应的聚合地图数据中记录的每个地图数据点分类下的地图数据点进行匹配,从而获取所述邻近地图数据点所属的分类。之后,将获取的所述邻近地图数据点所属的分类,作为所述待聚合地图数据点对应所述当前聚合层级的候选分类。
可选的,将获取的所述分类,作为所述待聚合地图数据点对应所述当前聚合层级的候选分类之后,还包括:按照坐标的大小关系,将所述待聚合地图数据点插入到所述地图数据点列表中。
通过地图数据点列表按照坐标大小顺序存储地图数据点,之后,采用采用二分法查询新增数据点的候选分类,可以加快查询速度,进一步缩短服务端对客户端查询的响应时间。
子步骤A2,获取与所述待聚合地图数据点之间的距离最小的所述候选分类,作为目标分类。
本申请的一些实施例中,当所述地图数据点列表一个地图数据点时,前述步骤将获取到待聚合地图数据点的一个邻近地图数据点。此时,将得到一个候选分类。则直接将得到一个候选分类,作为目标分类。
本申请的一些实施例中,当所述地图数据点列表包括多于一个地图数据点时,前述步骤将获取到待聚合地图数据点的两个邻近地图数据点。此时,将得到两个候选分类。可选的,可以选择与所述待聚合地图数据点之间的距离最小的所述候选分类,作为目标分类。
接下来,以当前聚合层级对应的所述聚合距离表示为di、所述待聚合地图数据点表示为pn、目标分类表示为C1、目标分类C1的分类中心坐标表示为pc为例,举例说明根据待聚合地图数据点pn与目标分类的分类中心坐标pc之间的距离dnc与当前聚合层级对应的聚合距离di之间的大小关系,进行待聚合地图数据点的聚合处理方法。
子步骤A3,响应于所述待聚合地图数据点与所述目标分类的分类中心坐标之间的距离小于或等于所述当前聚合层级对应的所述聚合距离,将所述待聚合地图数据点与所述目标分类对应的地图数据点进行数据点聚合,得到所述当前聚合层级对应的聚合结果。
如图2所示,目标分类C1中地图数据点覆盖的地图区域为图2中的圆形区域,如果待聚合地图数据点pn与目标分类的分类中心坐标pc之间的距离dnc小于所述聚合距离di,则将所述待聚合地图数据点pn与所述目标分类C1中的地图数据点(如圆形地图区域中的地图数据点)进行数据点聚合,得到当前聚合层级对应的聚合结果。
本申请的一些实施例中,所述将所述待聚合地图数据点与所述目标分类对应的地图数据点进行数据点聚合,得到所述当前聚合层级对应的聚合结果,包括:将所述待聚合地图数据点加入所述目标分类;响应于所述目标分类对应的所述地图数据点的数量小于预设样本数量阈值,根据所述目标分类对应的所述地图数据点,对所述目标分类的分类中心坐标进行校正,得到所述当前聚合层级对应的所述聚合结果。
在将所述待聚合地图数据点与所述目标分类对应的地图数据点进行数据点聚合时,首先将待聚合地图数据点pn加入到目标分类C1中。这样,当前聚合层级对应的聚合地图数据中,目标分类C1中的地图数据点发生了变化。由地图数据点的聚合展示效果可知,每个分类的类中心坐标点需要按根据该分类中的地图数据点的坐标综合确定,这样,在客户端进行聚合点展示的时候,才能准确展示聚合点和地图数据点之间的聚合关系。因此,在新的地图数据点加入某个地图数据点分类之后,可选的,需要根据该分类中当前包括的地图数据点的坐标,对该分类的分类中心坐标进行校正。
实际测试结果表明,当某个分类中地图数据点较少时,新增地图数据点对分类中心坐标影响权重较大,而当某个分类中地图数据点较多时,新增地图数据点对分类中心坐标影响权重较小。本申请的一些实施例中,为了提升聚合效率,通过预先设置样本数量阈值的方式,控制是否进行分类中心坐标校正。可选的,在新的地图数据点加入某个地图数据点分类之后,如果该分类中地图数据点的数量小于预设样本数量阈值,则进行分类中心坐标校正,如果该分类中地图数据点的数量大于或等于预设样本数量阈值,则不进行分类中心坐标校正。
本申请的一些实施例中,所述根据所述目标分类对应的所述地图数据点,对所述目标分类的分类中心坐标进行校正,包括:采用二维正态分布算法,对所述目标分类对应的所述地图数据点的坐标进行分布运算,得到二维正态分布的极值对应的坐标;将所述极值对应的坐标,作为目标分类的校正后的分类中心坐标。例如,对于目标分类C1,可以将该分类中的所有地图数据点的坐标作为二维正态分布函数的输入数据集,通过二维正态分布函数计算目标分类C1中地图数据点的二维正态分布,得到二维正态分布的极值。二维正态分布的极值表示地图数据点分布概率最大的位置。可选的,将所述极值对应的坐标,作为目标分类的校正后的分类中心坐标。
由以上聚合方法可知,执行聚合操作后,目标分类C1中包括的地图数据点发生了变化,分类中心坐标点也可能发生变化,因此,将目标分类C1的分类信息和当前聚合层级中的其他分类的分类信息,作为聚合结果,更新存储的当前聚合层级对应的聚合结果。
子步骤A4,响应于所述待聚合地图数据点与所述目标分类的分类中心坐标之间的距离大于所述当前聚合层级对应的所述聚合距离,在当前聚合层级对应的所述聚合地图数据中新建所述待聚合地图数据点对应的分类,并将所述待聚合地图数据点的坐标作为新建的所述分类的分类中心坐标,得到所述当前聚合层级对应的聚合结果。
如图3所示,目标分类C1中地图数据点覆盖的地图区域为图3中的圆形区域,如果待聚合地图数据点pn与目标分类的分类中心坐标pc之间的距离dnc大于所述聚合距离di,则根据待聚合地图数据点pn新增分类C2,并将待聚合地图数据点pn的所述坐标作为所述新增分类C2对应的分类中心坐标。这样,当前聚合层级对应的聚合地图数据中,地图数据点分类的数量发生了变化,新增了分类C2。已有分类的分类信息和新增分类C2的分类信息,构成了当前聚合层级对应的聚合结果。
接下来,服务端根据最新聚合得到的聚合结果中包括的地图数据点分类的类别中心点坐标和每个分类中聚合的地图数据点的标识,更新存储的当前聚合层级对应的所述聚合地图数据。
第二种,任务触发聚合
本申请的一些实施例中,服务端还可以根据聚合任务的触发,执行地图数据点聚合操作。例如,服务端可以设置在每天的固定时间执行全局聚合任务,对目标地图的所有地图数据点的进行聚合,或者,可以根据客户端的请求,执行全局聚合任务,对目标地图的所有地图数据点的进行聚合。
相应的,所述聚合地图数据是通过以下方法生成的:响应于全局聚合任务被触发,获取所述目标地图的地图数据点列表;分别以每个所述聚合层级作为当前聚合层级,执行以下列表聚合操作:获取所述当前聚合层级对应的聚合距离;根据所述当前聚合层级对应的所述聚合距离、所述地图数据点列表,进行数据点重新聚合,得到所述当前聚合层级对应的聚合结果;根据所述聚合结果,更新存储所述当前聚合层级对应的所述聚合地图数据。
服务端检测到全局聚合任务被触发后,首先获取目标地图的地图数据点列表,在地图数据点列表中,目标地图的所有地图数据点按照坐标大小顺序排列。
接下来,服务端基于所述地图数据点列表,分别针对每个聚合层级执行地图数据聚合操作,从而得到每个聚合层级对应的地图聚合数据。以聚合层级包括16个,分别表示为:S1、S2、S3、…、S16为例,以Sj表示当前聚合层级,j的取值依次为1、2、…、16,针对当前聚合层级Sj,基于地图数据点列表中的地图数据点,分别执行地图数据点聚合操作,可以得到16个聚合层级各自对应的聚合地图数据。
在针对当前聚合层级Sj,基于地图数据点列表中的地图数据点,执行地图数据点聚合操作时,首先需要获取当前聚合层级对应的聚合距离。获取指定聚合层级对应的聚合距离的具体实施方式如前文所述,此处不再赘述。
聚合距离用于指示将多大范围内的地图数据点聚合到一个地图数据点分类中。接下来,根据所述当前聚合层级对应的所述聚合距离、所述地图数据点列表,进行全部地图数据点重新聚合,得到所述当前聚合层级对应的聚合结果。
本申请的一些实施例中,所述根据所述当前聚合层级对应的所述聚合距离、所述地图数据点列表,进行数据点重新聚合,得到所述当前聚合层级对应的聚合结果,包括:初始化所述当前聚合层级对应的所述聚合地图数据;按照坐标大小顺序依次将所述地图数据点列表中的地图数据点,作为当前待聚合地图数据点,并对所述当前待聚合地图数据点执行以下第二单点聚合操作;将对所述地图数据点列表中的所有地图数据点分别执行所述第二单点聚合操作后得到的所述聚合地图数据,作为所述当前聚合层级对应的聚合结果。
在执行全局聚合任务时,对与当前聚合层级,首先初始化该当前聚合层级对应的聚合地图数据,抛弃当前聚合层级的历史聚合地图数据。之后,对于有序排列的地图数据点列表,可以按照从前向后的顺序或从后向前的顺序,依序对每个地图数据点按照当前聚合层次的聚类参数,执行第二单点聚合操作。每一次执行第二单点聚合操作,都会对初始化后的聚合地图数据进行更新,直至对地图数据点列表中所有地图数据点均执行一次第二单点聚合操作后,最后一次更新的聚合地图数据,即可作为所述当前聚合层级对应的聚合结果。
可选的,所述第二单点聚合操作包括以下三种操作方案。
第一种,响应于所述当前聚合层级对应的所述聚合地图数据中分类数量等于0,在所述聚合地图数据中新建所述当前待聚合地图数据点对应的分类,并将所述当前待聚合地图数据点的坐标作为新建的所述分类的分类中心坐标。
例如,在对地图数据点列表中第一个地图数据点进行第二单点聚合操作时,此时,聚合地图数据中没有已经聚合得到的分类,则为当前待聚合地图数据点新建一个分类,并将当前待聚合地图数据点的坐标作为新建的分类的分类中心坐标。这样,聚合地图数据中将增加该分类。
第二种,响应于所述当前聚合层级对应的所述聚合地图数据中分类数量大于0,且前一个被执行所述第二单点聚合操作的地图数据点对应的目标分类的分类中心坐标与所述当前待聚合地图数据点之间的距离小于或等于所述当前聚合层级对应的所述聚合距离,将所述当前待聚合地图数据点加入所述目标分类,并根据所述目标分类对应的地图数据点,重新确定所述目标分类的分类中心坐标。
随着第二单点聚合操作的执行,聚合地图数据中分类数量可能会逐渐增加,当聚合地图数据中分类数量大于0时,在对当前待聚合地图数据点执行第二单点聚合操作时,首先判断当前待聚合地图数据点是否可以聚合到已有分类中。若可以,则优选将当前待聚合地图数据点聚合到已有分类中。
可选的,可以根据聚合地图数据中已有分类的分类中心坐标与当前待聚合地图数据点之间的距离与所述当前聚合层级对应的所述聚合距离的大小关系,判断当前待聚合地图数据点是否可以聚合到已有分类中。例如,若聚合地图数据中某个分类的分类中心坐标与当前待聚合地图数据点之间的距离小于或等于所述当前聚合层级对应的所述聚合距离,则认为当前待聚合地图数据点可以聚合到该分类中。
在地图数据点列表按照坐标大小依序排列的情况下,且按照顺序对地图数据点列表中的地图数据点执行第二单点聚合操作时,前一个被执行所述第二单点聚合操作的地图数据点,即为已经分类的当前待聚合地图数据点的邻近地图数据点。因此,可以前一个被执行所述第二单点聚合操作的地图数据点对应的分类作为目标分类,并进一步根据目标分类的分类中心坐标与所述当前待聚合地图数据点之间的距离,判断当前待聚合地图数据点是否可以聚合到该目标分类中。例如,当目标分类的分类中心坐标与所述当前待聚合地图数据点之间的距离小于或等于所述当前聚合层级对应的所述聚合距离时,将当前待聚合地图数据点加入到目标分类中,与目标分类聚合。
在已有分类中增加地图数据点之后,为了提升聚合展示的准确性,需要重新确定该已有分类的分类中心坐标。
本申请的实施例中,例如,可以采用二维正态分布算法,对所述目标分类对应的所述地图数据点的坐标进行分布运算,得到二维正态分布的极值对应的坐标;之后,将所述极值对应的坐标,作为目标分类的校正后的分类中心坐标。
第三种,响应于所述当前聚合层级对应的所述聚合地图数据中分类数量大于0,且前一个被执行所述第二单点聚合操作的地图数据点对应的目标分类的分类中心坐标与所述当前待聚合地图数据点之间的距离大于所述当前聚合层级对应的所述聚合距离,在所述聚合地图数据中新建与所述当前待聚合地图数据点对应的分类,并将所述当前待聚合地图数据点的坐标作为新建的所述分类的分类中心坐标。
若当前待聚合地图数据点不可以聚合到已有分类中,则为当前待聚合地图数据点新建一个分类,并将当前待聚合地图数据点的坐标作为新建的分类的分类中心坐标。这样,聚合地图数据中将增加该分类。
得到当前聚合层级的最新聚合结果之后,根据最新得到的聚合结果,更新存储所述当前聚合层级对应的所述聚合地图数据。经过对地图数据点进行全部重新聚类,将得到当前聚合层级的最新地图数据点分类的分类信息。可选的,所述分类信息包括:聚合得到的地图数据点分类数量、每个分类的分类中心坐标、聚合到该分类的地图数据点等。接下来,可以根据最新地图数据点分类信息,更新服务端存储的当前聚合层级的聚合地图数据。
第三种,新增数据点触发结合任务触发。
即所述聚合地图数据是通过以下方法生成的:响应于新增待聚合地图数据点,获取待聚合地图数据点的坐标;分别以每个所述聚合层级作为当前聚合层级,执行第一单点聚合操作,得到所述当前聚合层级对应的聚合结果;根据所述聚合结果,更新存储所述当前聚合层级对应的所述聚合地图数据;响应于全局聚合任务被触发,获取所述目标地图的地图数据点列表;分别以每个所述聚合层级作为当前聚合层级,执行列表聚合操作,得到所述当前聚合层级对应的聚合结果;根据所述聚合结果,更新存储所述当前聚合层级对应的所述聚合地图数据。
其中,所述第一单点聚合操作和所述列表聚合操作的具体实施方式参见前文描述,此处不再赘述。
即在客户端展示地图数据的过程中,客户端可以实时增加地图数据点,并将新增待聚合地图数据点发送给服务端,触发服务端按照前述新增数据点触发聚合的处理流程,针对新增待聚合地图数据点,执行地图数据分层聚合,更新每个聚合层级对应的聚合地图数据。
由前述新增数据点触发聚合的处理流程可知,在聚合到某个分类的地图数据点的数量大于预设样本数量阈值时,服务端将不再针对该分类执行分类中心坐标校正。在实践中,如果某个分类的地图数据点的数量很大,并且有大量地图数据点位置偏离分类中心坐标,可能会导致聚合结果不准确。
此时,通过任务触发对地图数据点进行依次全局聚合,可以对聚合结果进行校正,提升聚合结果的准确性。例如,可以设置每天固定时间触发全局聚合任务,对地图数据点进行重新聚合。
以图4所示,某一聚合层级对应的聚合距离为D,随着新增待聚类地图数据点的增加,聚合到分类C1和C2的地图数据点逐渐增多,当聚合到分类C1的地图数据点数量超过预设样本数量阈值之后,聚合到分类C1中新增待聚类地图数据点时,将不再对分类C1的分类中心坐标进行校正。如果分类C1中出现了大量靠近分类C1对应的地图区域边缘(如矩形区域410中)的地图数据点,并且,这些地图数据点与分类C2的分类中心坐标之间的距离也小于聚合距离为D,且与分类C2对应的地图区域中大量地图数据点(如矩形区域420中的地图数据点)距离较近,则图4中的地图数据点聚合结果不符合用户对聚合点的认知。需要结合聚合任务对聚合点进行调整。
经过全局聚合任务对地图数据点进行重新聚合,在分类中每加入一个地图数据节点,都会执行一次分类中心坐标校正,校正后的分类中心坐标为分类中所有地图数据点的坐标分布相关(例如,分类中心坐标为分类中所有地图数据点的二维正态分布极值),可以准确反映聚合点与聚合至该分类的地图数据点的聚合关系。例如,图4中的地图数据点重新聚合后,可以得到3个分类。聚合结果如图5所示。图5中,坐标邻近的多个地图数据点被聚合到一个分类,对应一个聚合点,该聚合点的坐标为分类中心坐标,与该分类中心坐标之间的距离大于聚合距离D的地图数据点,被聚合到其他分类中。
相应的,本申请实施例还公开了一种地图数据的聚合展示装置,应用于服务端,如图6所示,所述装置包括:
目标聚合层级获取模块610,用于响应于客户端的查询,获取所述查询对应的目标聚合层级;
聚合地图数据获取模块620,用于从目标地图的对应各聚合层级分层存储的聚合地图数据中,获取与所述目标聚合层级对应的所述聚合地图数据;
聚合点数据获取模块630,用于根据与所述目标聚合层级对应的所述聚合地图数据,获取所述查询对应的聚合点数据;
输出展示模块640,用于向所述客户端发送所述聚合点数据,使得所述客户端基于所述聚合点数据进行地图信息聚合展示。
本申请的一些实施例中,所述聚合地图数据是通过以下方法生成的:
响应于新增待聚合地图数据点,获取待聚合地图数据点的坐标;
分别以每个所述聚合层级作为当前聚合层级,执行以下第一单点聚合操作:
获取所述当前聚合层级对应的聚合距离;
根据所述当前聚合层级对应的所述聚合距离、所述待聚合地图数据点的坐标、所述当前聚合层级对应的聚合地图数据和所述目标地图的地图数据点列表,进行数据点聚合,得到所述当前聚合层级对应的聚合结果;
根据所述聚合结果,更新存储所述当前聚合层级对应的所述聚合地图数据。
可选的,所述根据所述当前聚合层级对应的所述聚合距离、所述待聚合地图数据点的坐标、所述当前聚合层级对应的聚合地图数据和所述目标地图的地图数据点列表,进行数据点聚合,得到所述当前聚合层级对应的聚合结果,包括:
根据所述待聚合地图数据点的所述坐标、所述当前聚合层级对应的聚合地图数据和所述地图数据点列表,获取所述待聚合地图数据点的候选分类;
获取与所述待聚合地图数据点之间的距离最小的所述候选分类,作为目标分类;
响应于所述待聚合地图数据点与所述目标分类的分类中心坐标之间的距离小于或等于所述当前聚合层级对应的所述聚合距离,将所述待聚合地图数据点与所述目标分类对应的地图数据点进行数据点聚合,得到所述当前聚合层级对应的聚合结果;
响应于所述待聚合地图数据点与所述目标分类的分类中心坐标之间的距离大于所述当前聚合层级对应的所述聚合距离,在当前聚合层级对应的所述聚合地图数据中新建所述待聚合地图数据点对应的分类,并将所述待聚合地图数据点的坐标作为新建的所述分类的分类中心坐标,得到所述当前聚合层级对应的聚合结果。
可选的,所述将所述待聚合地图数据点与所述目标分类对应的地图数据点进行数据点聚合,得到所述当前聚合层级对应的聚合结果,包括:
将所述待聚合地图数据点加入所述目标分类;
响应于所述目标分类对应的所述地图数据点的数量小于预设样本数量阈值,根据所述目标分类对应的所述地图数据点,对所述目标分类的分类中心坐标进行校正,得到所述当前聚合层级对应的所述聚合结果。
可选的,所述根据所述目标分类对应的所述地图数据点,对所述目标分类的分类中心坐标进行校正,包括:
采用二维正态分布算法,对所述目标分类对应的所述地图数据点的坐标进行分布运算,得到二维正态分布的极值对应的坐标;
将所述极值对应的坐标,作为目标分类的校正后的分类中心坐标。
可选的,所述地图数据点按照坐标大小顺序存储在地图数据点列表中,所述根据所述待聚合地图数据点的所述坐标、所述当前聚合层级对应的聚合地图数据和所述地图数据点列表,获取所述待聚合地图数据点的候选分类,包括:
根据坐标的大小关系,采用二分查找法查询所述地图数据点列表,获取所述待聚合地图数据点的邻近地图数据点;
通过查询所述当前聚合层级对应的聚合地图数据,获取所述邻近地图数据点所属分类;
将获取的所述分类,作为所述待聚合地图数据点对应所述当前聚合层级的候选分类。
本申请的一些实施例中,所述聚合地图数据是通过以下方法生成的:
响应于全局聚合任务被触发,获取所述目标地图的地图数据点列表;
分别以每个所述聚合层级作为当前聚合层级,执行以下列表聚合操作:
获取所述当前聚合层级对应的聚合距离;
根据所述当前聚合层级对应的所述聚合距离、所述地图数据点列表,进行数据点重新聚合,得到所述当前聚合层级对应的聚合结果;
根据所述聚合结果,更新存储所述当前聚合层级对应的所述聚合地图数据。
可选的,所述根据所述当前聚合层级对应的所述聚合距离、所述地图数据点列表,进行数据点重新聚合,得到所述当前聚合层级对应的聚合结果,包括:
初始化所述当前聚合层级对应的所述聚合地图数据;
按照坐标大小顺序依次将所述地图数据点列表中的地图数据点,作为当前待聚合地图数据点,并对所述当前待聚合地图数据点执行以下第二单点聚合操作,其中,所述第二单点聚合操作包括:
响应于所述当前聚合层级对应的所述聚合地图数据中分类数量等于0,在所述聚合地图数据中新建所述当前待聚合地图数据点对应的分类,并将所述当前待聚合地图数据点的坐标作为新建的所述分类的分类中心坐标;
响应于所述当前聚合层级对应的所述聚合地图数据中分类数量大于0,且前一个被执行所述第二单点聚合操作的地图数据点对应的目标分类的分类中心坐标与所述当前待聚合地图数据点之间的距离小于或等于所述当前聚合层级对应的所述聚合距离,将所述当前待聚合地图数据点加入所述目标分类,并根据所述目标分类对应的地图数据点,重新确定所述目标分类的分类中心坐标;
响应于所述当前聚合层级对应的所述聚合地图数据中分类数量大于0,且前一个被执行所述第二单点聚合操作的地图数据点对应的目标分类的分类中心坐标与所述当前待聚合地图数据点之间的距离大于所述当前聚合层级对应的所述聚合距离,在所述聚合地图数据中新建与所述当前待聚合地图数据点对应的分类,并将所述当前待聚合地图数据点的坐标作为新建的所述分类的分类中心坐标;
将对所述地图数据点列表中的所有地图数据点分别执行所述第二单点聚合操作后得到的所述聚合地图数据,作为所述当前聚合层级对应的聚合结果。
本申请的一些实施例中,所述聚合点数据获取模块630,进一步用于:
获取所述查询对应的地图中心点坐标;
通过查询预先建立的聚合层级与地图边界距离的对应关系,获取与所述目标聚合层级对应的地图边界距离;
根据所述地图中心点坐标和所述地图边界距离,确定矩形地图区域;
在与所述目标聚合层级对应的所述聚合地图数据中,获取所述矩形地图区域内的地图数据点的分类信息,作为所述查询对应的聚合点数据。
本申请实施例公开的地图数据的聚合展示装置,用于实现本申请实施例中所述的地图数据的聚合展示方法,装置的各模块的具体实施方式不再赘述,可参见方法实施例相应步骤的具体实施方式。
本申请实施例公开的一种地图数据的聚合展示装置,应用于服务端,通过预先在服务端完成各个展示层级的地图数据点的聚合,并将聚合得到与各展示层级对应的聚合层级的聚合地图数据分层存储;然后,在客户端需要展示聚合点时,只需要执行查询操作,服务端将响应客户端的查询,获取所述查询对应的目标聚合层级;从目标地图的对应各聚合层级分层存储的聚合地图数据中,获取与所述目标聚合层级对应的所述聚合地图数据;根据与所述目标聚合层级对应的所述聚合地图数据,获取所述查询对应的聚合点数据;向所述客户端发送所述聚合点数据,使得所述客户端基于所述聚合点数据进行地图信息聚合展示。由以上地图聚合点展示过程可知,通过预先在服务端进行地图数据聚合,客户端只需要执行一次查询操作,就可以获取到需要展示的携带更多有效信息的聚合点,实现密集地图数据点的聚合展示,并且,可以有效缩短客户端进行地图数据显示时需要消耗的时间,提升客户端查询地图数据的需求响应速度。
通过在服务端进行地图数据点的聚合,将复杂耗时的地图数据点聚合过程设置在运算能力强大的后台,使得得到的聚合地图数据可以基于全量地图数据点进行精准地图数据点聚类,从而获取地图数据点之间的关联(在聚合地图数据中记录聚合到某个分类下(即聚合点)的地图数据点),并输出至客户端,使得客户端只需要执行查询服务端的操作,不需要执行复杂的运算,就可以展示地图数据点的更加丰富的信息。例如,展示地图数据点之间的关联(如地图数据点对应的聚合点)。
本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。对于装置实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
以上对本申请提供的一种地图数据的聚合展示方法及装置进行了详细介绍,本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其一种核心思想;同时,对于本领域的一般技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。
以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
本申请的各个部件实施例可以以硬件实现,或者以在一个或者多个处理器上运行的软件模块实现,或者以它们的组合实现。本领域的技术人员应当理解,可以在实践中使用微处理器或者数字信号处理器(DSP)来实现根据本申请实施例的电子设备中的一些或者全部部件的一些或者全部功能。本申请还可以实现为用于执行这里所描述的方法的一部分或者全部的设备或者装置程序(例如,计算机程序和计算机程序产品)。这样的实现本申请的程序可以存储在计算机可读介质上,或者可以具有一个或者多个信号的形式。这样的信号可以从因特网网站上下载得到,或者在载体信号上提供,或者以任何其他形式提供。
例如,图7示出了可以实现根据本申请的方法的电子设备。所述电子设备可以为PC机、移动终端、个人数字助理、平板电脑等。该电子设备传统上包括处理器710和存储器720及存储在所述存储器720上并可在处理器710上运行的程序代码730,所述处理器710执行所述程序代码730时实现上述实施例中所述的方法。所述存储器720可以为计算机程序产品或者计算机可读介质。存储器720可以是诸如闪存、EEPROM(电可擦除可编程只读存储器)、EPROM、硬盘或者ROM之类的电子存储器。存储器720具有用于执行上述方法中的任何方法步骤的计算机程序的程序代码730的存储空间7201。例如,用于程序代码730的存储空间7201可以包括分别用于实现上面的方法中的各种步骤的各个计算机程序。所述程序代码730为计算机可读代码。这些计算机程序可以从一个或者多个计算机程序产品中读出或者写入到这一个或者多个计算机程序产品中。这些计算机程序产品包括诸如硬盘,紧致盘(CD)、存储卡或者软盘之类的程序代码载体。所述计算机程序包括计算机可读代码,当所述计算机可读代码在电子设备上运行时,导致所述电子设备执行根据上述实施例的方法。
本申请实施例还公开了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如本申请实施例所述的地图数据的聚合展示方法的步骤。
这样的计算机程序产品可以为计算机可读存储介质,该计算机可读存储介质可以具有与图7所示的电子设备中的存储器720类似布置的存储段、存储空间等。程序代码可以例如以适当形式进行压缩存储在所述计算机可读存储介质中。所述计算机可读存储介质通常为如参考图8所述的便携式或者固定存储单元。通常,存储单元包括计算机可读代码730’,所述计算机可读代码730’为由处理器读取的代码,这些代码被处理器执行时,实现上面所描述的方法中的各个步骤。
本文中所称的“一个实施例”、“实施例”或者“一个或者多个实施例”意味着,结合实施例描述的特定特征、结构或者特性包括在本申请的至少一个实施例中。此外,请注意,这里“在一个实施例中”的词语例子不一定全指同一个实施例。
在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本申请的实施例可以在没有这些具体细节的情况下被实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。
在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。单词“包含”不排除存在未列在权利要求中的元件或步骤。位于元件之前的单词“一”或“一个”不排除存在多个这样的元件。本申请可以借助于包括有若干不同元件的硬件以及借助于适当编程的计算机来实现。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。单词第一、第二、以及第三等的使用不表示任何顺序。可将这些单词解释为名称。
最后应说明的是:以上实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围。
Claims (12)
1.一种地图数据的聚合展示方法,应用于服务端,其特征在于,所述方法包括:
响应于客户端的查询,获取所述查询对应的目标聚合层级;
从目标地图的对应各聚合层级分层存储的聚合地图数据中,获取与所述目标聚合层级对应的所述聚合地图数据;
根据与所述目标聚合层级对应的所述聚合地图数据,获取所述查询对应的聚合点数据;
向所述客户端发送所述聚合点数据,使得所述客户端基于所述聚合点数据进行地图信息聚合展示;
其中,所述聚合地图数据是通过以下方法生成的:
响应于全局聚合任务被触发,获取所述目标地图的地图数据点列表;
分别以每个所述聚合层级作为当前聚合层级,执行以下列表聚合操作:
获取所述当前聚合层级对应的聚合距离;
根据所述当前聚合层级对应的所述聚合距离、所述地图数据点列表,进行数据点重新聚合,得到所述当前聚合层级对应的聚合结果;
根据所述聚合结果,更新存储所述当前聚合层级对应的所述聚合地图数据;
其中,所述根据所述当前聚合层级对应的所述聚合距离、所述地图数据点列表,进行数据点重新聚合,得到所述当前聚合层级对应的聚合结果,包括:
初始化所述当前聚合层级对应的所述聚合地图数据;
按照坐标大小顺序依次将所述地图数据点列表中的地图数据点,作为当前待聚合地图数据点,并对所述当前待聚合地图数据点执行以下第二单点聚合操作,其中,所述第二单点聚合操作包括:
响应于所述当前聚合层级对应的所述聚合地图数据中分类数量等于0,在所述聚合地图数据中新建所述当前待聚合地图数据点对应的分类,并将所述当前待聚合地图数据点的坐标作为新建的所述分类的分类中心坐标;
响应于所述当前聚合层级对应的所述聚合地图数据中分类数量大于0,且前一个被执行所述第二单点聚合操作的地图数据点对应的目标分类的分类中心坐标与所述当前待聚合地图数据点之间的距离小于或等于所述当前聚合层级对应的所述聚合距离,将所述当前待聚合地图数据点加入所述目标分类,并根据所述目标分类对应的地图数据点,重新确定所述目标分类的分类中心坐标;
响应于所述当前聚合层级对应的所述聚合地图数据中分类数量大于0,且前一个被执行所述第二单点聚合操作的地图数据点对应的目标分类的分类中心坐标与所述当前待聚合地图数据点之间的距离大于所述当前聚合层级对应的所述聚合距离,在所述聚合地图数据中新建与所述当前待聚合地图数据点对应的分类,并将所述当前待聚合地图数据点的坐标作为新建的所述分类的分类中心坐标;
将对所述地图数据点列表中的所有地图数据点分别执行所述第二单点聚合操作后得到的所述聚合地图数据,作为所述当前聚合层级对应的聚合结果。
2.根据权利要求1所述的方法,其特征在于,所述聚合地图数据是通过以下方法生成的:
响应于新增待聚合地图数据点,获取待聚合地图数据点的坐标;
分别以每个所述聚合层级作为当前聚合层级,执行以下第一单点聚合操作:
获取所述当前聚合层级对应的聚合距离;
根据所述当前聚合层级对应的所述聚合距离、所述待聚合地图数据点的坐标、所述当前聚合层级对应的聚合地图数据和所述目标地图的地图数据点列表,进行数据点聚合,得到所述当前聚合层级对应的聚合结果;
根据所述聚合结果,更新存储所述当前聚合层级对应的所述聚合地图数据。
3.根据权利要求2所述的方法,其特征在于,所述根据所述当前聚合层级对应的所述聚合距离、所述待聚合地图数据点的坐标、所述当前聚合层级对应的聚合地图数据和所述目标地图的地图数据点列表,进行数据点聚合,得到所述当前聚合层级对应的聚合结果,包括:
根据所述待聚合地图数据点的所述坐标、所述当前聚合层级对应的聚合地图数据和所述地图数据点列表,获取所述待聚合地图数据点的候选分类;
获取与所述待聚合地图数据点之间的距离最小的所述候选分类,作为目标分类;
响应于所述待聚合地图数据点与所述目标分类的分类中心坐标之间的距离小于或等于所述当前聚合层级对应的所述聚合距离,将所述待聚合地图数据点与所述目标分类对应的地图数据点进行数据点聚合,得到所述当前聚合层级对应的聚合结果;
响应于所述待聚合地图数据点与所述目标分类的分类中心坐标之间的距离大于所述当前聚合层级对应的所述聚合距离,在当前聚合层级对应的所述聚合地图数据中新建所述待聚合地图数据点对应的分类,并将所述待聚合地图数据点的坐标作为新建的所述分类的分类中心坐标,得到所述当前聚合层级对应的聚合结果。
4.根据权利要求3所述的方法,其特征在于,所述将所述待聚合地图数据点与所述目标分类对应的地图数据点进行数据点聚合,得到所述当前聚合层级对应的聚合结果,包括:
将所述待聚合地图数据点加入所述目标分类;
响应于所述目标分类对应的所述地图数据点的数量小于预设样本数量阈值,根据所述目标分类对应的所述地图数据点,对所述目标分类的分类中心坐标进行校正,得到所述当前聚合层级对应的所述聚合结果。
5.根据权利要求4所述的方法,其特征在于,所述根据所述目标分类对应的所述地图数据点,对所述目标分类的分类中心坐标进行校正,包括:
采用二维正态分布算法,对所述目标分类对应的所述地图数据点的坐标进行分布运算,得到二维正态分布的极值对应的坐标;
将所述极值对应的坐标,作为目标分类的校正后的分类中心坐标。
6.根据权利要求3所述的方法,其特征在于,所述地图数据点按照坐标大小顺序存储在地图数据点列表中,所述根据所述待聚合地图数据点的所述坐标、所述当前聚合层级对应的聚合地图数据和所述地图数据点列表,获取所述待聚合地图数据点的候选分类,包括:
根据坐标的大小关系,采用二分查找法查询所述地图数据点列表,获取所述待聚合地图数据点的邻近地图数据点;
通过查询所述当前聚合层级对应的聚合地图数据,获取所述邻近地图数据点所属分类;
将获取的所述分类,作为所述待聚合地图数据点对应所述当前聚合层级的候选分类。
7.根据权利要求1所述的方法,其特征在于,所述根据与所述目标聚合层级对应的所述聚合地图数据,获取所述查询对应的聚合点数据,包括:
获取所述查询对应的地图中心点坐标;
通过查询预先建立的聚合层级与地图边界距离的对应关系,获取与所述目标聚合层级对应的地图边界距离;
根据所述地图中心点坐标和所述地图边界距离,确定矩形地图区域;
在与所述目标聚合层级对应的所述聚合地图数据中,获取所述矩形地图区域内的地图数据点的分类信息,作为所述查询对应的聚合点数据。
8.一种地图数据的聚合展示装置,应用于服务端,其特征在于,所述装置包括:
目标聚合层级获取模块,用于响应于客户端的查询,获取所述查询对应的目标聚合层级;
聚合地图数据获取模块,用于从目标地图的对应各聚合层级分层存储的聚合地图数据中,获取与所述目标聚合层级对应的所述聚合地图数据;
聚合点数据获取模块,用于根据与所述目标聚合层级对应的所述聚合地图数据,获取所述查询对应的聚合点数据;
输出展示模块,用于向所述客户端发送所述聚合点数据,使得所述客户端基于所述聚合点数据进行地图信息聚合展示;
其中,所述聚合地图数据是通过以下方法生成的:
响应于全局聚合任务被触发,获取所述目标地图的地图数据点列表;
分别以每个所述聚合层级作为当前聚合层级,执行以下列表聚合操作:
获取所述当前聚合层级对应的聚合距离;
根据所述当前聚合层级对应的所述聚合距离、所述地图数据点列表,进行数据点重新聚合,得到所述当前聚合层级对应的聚合结果;
根据所述聚合结果,更新存储所述当前聚合层级对应的所述聚合地图数据;
其中,所述根据所述当前聚合层级对应的所述聚合距离、所述地图数据点列表,进行数据点重新聚合,得到所述当前聚合层级对应的聚合结果,包括:
初始化所述当前聚合层级对应的所述聚合地图数据;
按照坐标大小顺序依次将所述地图数据点列表中的地图数据点,作为当前待聚合地图数据点,并对所述当前待聚合地图数据点执行以下第二单点聚合操作,其中,所述第二单点聚合操作包括:
响应于所述当前聚合层级对应的所述聚合地图数据中分类数量等于0,在所述聚合地图数据中新建所述当前待聚合地图数据点对应的分类,并将所述当前待聚合地图数据点的坐标作为新建的所述分类的分类中心坐标;
响应于所述当前聚合层级对应的所述聚合地图数据中分类数量大于0,且前一个被执行所述第二单点聚合操作的地图数据点对应的目标分类的分类中心坐标与所述当前待聚合地图数据点之间的距离小于或等于所述当前聚合层级对应的所述聚合距离,将所述当前待聚合地图数据点加入所述目标分类,并根据所述目标分类对应的地图数据点,重新确定所述目标分类的分类中心坐标;
响应于所述当前聚合层级对应的所述聚合地图数据中分类数量大于0,且前一个被执行所述第二单点聚合操作的地图数据点对应的目标分类的分类中心坐标与所述当前待聚合地图数据点之间的距离大于所述当前聚合层级对应的所述聚合距离,在所述聚合地图数据中新建与所述当前待聚合地图数据点对应的分类,并将所述当前待聚合地图数据点的坐标作为新建的所述分类的分类中心坐标;
将对所述地图数据点列表中的所有地图数据点分别执行所述第二单点聚合操作后得到的所述聚合地图数据,作为所述当前聚合层级对应的聚合结果。
9.根据权利要求8所述的装置,其特征在于,所述聚合地图数据是通过以下方法生成的:
响应于新增待聚合地图数据点,获取待聚合地图数据点的坐标;
分别以每个所述聚合层级作为当前聚合层级,执行以下第一单点聚合操作:
获取所述当前聚合层级对应的聚合距离;
根据所述当前聚合层级对应的所述聚合距离、所述待聚合地图数据点的坐标、所述当前聚合层级对应的聚合地图数据和所述目标地图的地图数据点列表,进行数据点聚合,得到所述当前聚合层级对应的聚合结果;
根据所述聚合结果,更新存储所述当前聚合层级对应的所述聚合地图数据。
10.根据权利要求8所述的装置,其特征在于,所述聚合点数据获取模块,进一步用于:
获取所述查询对应的地图中心点坐标;
通过查询预先建立的聚合层级与地图边界距离的对应关系,获取与所述目标聚合层级对应的地图边界距离;
根据所述地图中心点坐标和所述地图边界距离,确定矩形地图区域;
在与所述目标聚合层级对应的所述聚合地图数据中,获取所述矩形地图区域内的地图数据点的分类信息,作为所述查询对应的聚合点数据。
11.一种电子设备,包括存储器、处理器及存储在所述存储器上并可在处理器上运行的程序代码,其特征在于,所述处理器执行所述程序代码时实现权利要求1至7任意一项所述的地图数据的聚合展示方法。
12.一种计算机可读存储介质,其上存储有程序代码,其特征在于,该程序代码被处理器执行时实现权利要求1至7任意一项所述的地图数据的聚合展示方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310042917.7A CN116049576B (zh) | 2023-01-28 | 2023-01-28 | 地图数据的聚合展示方法、装置、电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310042917.7A CN116049576B (zh) | 2023-01-28 | 2023-01-28 | 地图数据的聚合展示方法、装置、电子设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN116049576A CN116049576A (zh) | 2023-05-02 |
CN116049576B true CN116049576B (zh) | 2023-06-23 |
Family
ID=86131086
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310042917.7A Active CN116049576B (zh) | 2023-01-28 | 2023-01-28 | 地图数据的聚合展示方法、装置、电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116049576B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116911269B (zh) * | 2023-06-05 | 2024-02-20 | 杭州观远数据有限公司 | 一种聚合数据修改拆分至明细的方法 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10437863B2 (en) * | 2016-10-21 | 2019-10-08 | Here Global B.V. | Method and apparatus for hierarchical clustering of geographical data |
CN112214561B (zh) * | 2019-07-11 | 2024-04-12 | 奇安信科技集团股份有限公司 | 地图数据处理方法、装置、计算机设备及存储介质 |
-
2023
- 2023-01-28 CN CN202310042917.7A patent/CN116049576B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN116049576A (zh) | 2023-05-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6208935B1 (en) | Map application system | |
US7392247B2 (en) | Method and apparatus for fusing context data | |
CN111078818B (zh) | 地址分析方法、装置、电子设备及存储介质 | |
CN106919957B (zh) | 处理数据的方法及装置 | |
CN109376761A (zh) | 一种地址标识及其经纬度的挖掘方法及装置 | |
CN111858820A (zh) | 用地性质识别方法、装置、电子设备及存储介质 | |
CN116049576B (zh) | 地图数据的聚合展示方法、装置、电子设备 | |
CN110753298B (zh) | 一种定位方法及其装置、设备和存储介质 | |
CN109949063A (zh) | 一种地址确定方法、装置、电子设备及可读存储介质 | |
CN111475746B (zh) | 兴趣点位置挖掘方法、装置、计算机设备和存储介质 | |
CN111861296A (zh) | 一种揽件任务分配方法、装置、揽件系统、设备及介质 | |
WO2021154155A1 (en) | Methods and data processing systems for predicting road attributes | |
CN111311193B (zh) | 公共服务资源的配置方法和装置 | |
CN109145225B (zh) | 一种数据处理方法及装置 | |
CN112214561B (zh) | 地图数据处理方法、装置、计算机设备及存储介质 | |
CN107798450B (zh) | 业务分配方法和装置 | |
CN111782978B (zh) | 兴趣点数据的处理方法及装置、电子设备、可读介质 | |
CN110046210B (zh) | 地图信息更新方法、装置、电子设备和存储介质 | |
CN110287344B (zh) | 影像产品数据获取方法和装置 | |
AU2017203619A1 (en) | Searching available rental vehicles based on adjustable parameters | |
CN111831892A (zh) | 信息推荐方法、信息推荐装置、服务器及存储介质 | |
CN111241225A (zh) | 常驻区域变更的判断方法、装置、设备及存储介质 | |
CN115525841A (zh) | 兴趣点信息的获取方法、电子设备及存储介质 | |
CN113048988B (zh) | 一种导航地图对应场景的变化元素检测方法及装置 | |
CN114881430A (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 | ||
CP02 | Change in the address of a patent holder | ||
CP02 | Change in the address of a patent holder |
Address after: 100007 room 205-32, floor 2, building 2, No. 1 and No. 3, qinglonghutong a, Dongcheng District, Beijing Patentee after: Tianyiyun Technology Co.,Ltd. Address before: 100093 Floor 4, Block E, Xishan Yingfu Business Center, Haidian District, Beijing Patentee before: Tianyiyun Technology Co.,Ltd. |