CN117519556A - 聚合方法、装置、设备及可读存储介质 - Google Patents
聚合方法、装置、设备及可读存储介质 Download PDFInfo
- Publication number
- CN117519556A CN117519556A CN202410022207.2A CN202410022207A CN117519556A CN 117519556 A CN117519556 A CN 117519556A CN 202410022207 A CN202410022207 A CN 202410022207A CN 117519556 A CN117519556 A CN 117519556A
- Authority
- CN
- China
- Prior art keywords
- geometry
- determining
- dimensional
- coordinates
- geometric
- 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.)
- Pending
Links
- 230000002776 aggregation Effects 0.000 title claims abstract description 83
- 238000004220 aggregation Methods 0.000 title claims abstract description 83
- 238000000034 method Methods 0.000 title claims abstract description 75
- 238000003860 storage Methods 0.000 title claims abstract description 23
- 238000001514 detection method Methods 0.000 claims description 26
- 238000012545 processing Methods 0.000 claims description 22
- 238000006116 polymerization reaction Methods 0.000 claims description 19
- 238000004590 computer program Methods 0.000 claims description 15
- 230000004044 response Effects 0.000 claims description 9
- 238000002372 labelling Methods 0.000 claims description 5
- 230000008859 change Effects 0.000 claims description 4
- 230000000007 visual effect Effects 0.000 abstract description 10
- 238000010586 diagram Methods 0.000 description 23
- 230000008569 process Effects 0.000 description 16
- 230000006870 function Effects 0.000 description 10
- 230000000694 effects Effects 0.000 description 7
- 239000007787 solid Substances 0.000 description 7
- 238000004891 communication Methods 0.000 description 5
- 238000005516 engineering process Methods 0.000 description 5
- 230000003068 static effect Effects 0.000 description 5
- 238000007781 pre-processing Methods 0.000 description 4
- 238000009826 distribution Methods 0.000 description 3
- 238000012800 visualization Methods 0.000 description 3
- 230000005540 biological transmission Effects 0.000 description 2
- 238000004364 calculation method Methods 0.000 description 2
- 238000006243 chemical reaction Methods 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 238000013507 mapping Methods 0.000 description 2
- 239000011159 matrix material Substances 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 238000009877 rendering Methods 0.000 description 2
- 230000011218 segmentation Effects 0.000 description 2
- 230000009466 transformation Effects 0.000 description 2
- 238000000844 transformation Methods 0.000 description 2
- 244000025254 Cannabis sativa Species 0.000 description 1
- 235000012766 Cannabis sativa ssp. sativa var. sativa Nutrition 0.000 description 1
- 235000012765 Cannabis sativa ssp. sativa var. spontanea Nutrition 0.000 description 1
- 230000001133 acceleration Effects 0.000 description 1
- 230000009471 action Effects 0.000 description 1
- 230000004931 aggregating effect Effects 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 235000009120 camo Nutrition 0.000 description 1
- 235000005607 chanvre indien Nutrition 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000007796 conventional method Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 239000011487 hemp Substances 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000008520 organization Effects 0.000 description 1
- 230000035515 penetration Effects 0.000 description 1
- 238000000638 solvent extraction Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/048—Interaction techniques based on graphical user interfaces [GUI]
- G06F3/0484—Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
- G06F3/04845—Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range for image manipulation, e.g. dragging, rotation, expansion or change of colour
-
- 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/50—Information retrieval; Database structures therefor; File system structures therefor of still image data
- G06F16/51—Indexing; Data structures therefor; Storage structures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T19/00—Manipulating 3D models or images for computer graphics
- G06T19/20—Editing of 3D images, e.g. changing shapes or colours, aligning objects or positioning parts
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Databases & Information Systems (AREA)
- Software Systems (AREA)
- Data Mining & Analysis (AREA)
- Computer Graphics (AREA)
- Computer Hardware Design (AREA)
- Architecture (AREA)
- Human Computer Interaction (AREA)
- Remote Sensing (AREA)
- Processing Or Creating Images (AREA)
Abstract
本申请实施例提供一种聚合方法、装置、设备及可读存储介质,电子设备识别到聚合指令后,响应于该聚合指令确定第一集合,该第一集合包含待显示的地图界面上的各几何体。之后,对于第一集合中的任意第一几何体,电子设备确定第一几何体的包围盒在屏幕坐标系下的投影图形,根据该投影图形和第一集合,确定出与第一几何体聚合的第二几何体后,在地图界面上聚合显示第一几何体和第二几何体。采用该种方案,根据第一几何体的投影图形和第一集合,即可加速识别出与第一几何体聚合的第二几何体并聚合显示,无需对几何体的每个点进行轮询以确定是否与第一几何体相交,实现任意角度任意层级的高效聚合,实现提高三维GIS地图的可视化效果的目的。
Description
技术领域
本申请实施例涉及新一代技术,电数字数据处理技术领域,特别涉及一种聚合方法、装置、设备及可读存储介质。
背景技术
近年来,地理信息系统(Geographic Information System,GIS)技术的热度与日俱增。GIS技术能够将地图的视觉效果、地理分析功能和一般的数据库操作集成在一起。
三维GIS地图中有大量的几何体,包括起标注作用的三维标签,以及真实物理世界中的物理实体对应的孪生体。孪生体例如为教学楼、摄像头等。用户使用三维GIS地图时,不可避免的需要对三维GIS地图进行缩放、改变视角等,进而需要对几何体进行聚合。传统的聚合方法中,主要对二维标签进行聚合。
地理信息系统(Geographic Information System,GIS)是一门综合性学科,是一种用于对地理分布数据进行采集、存储、管理、运算、分析和显示的技术系统。几何体是三维GIS地图中一种重要的展示数据的手段。几何体包括三维标签、孪生体等。孪生体为真实的物理世界中的物理实体在数字世界中的虚拟表示,三维标签用于标注客观存在的物理实体对应的孪生体。例如,三维GIS地图中有一栋楼,三维标签标注出该楼叫做明德楼。
三维GIS地图中,几何体具备丰富的样式和精准的地理位置。随着业务不断的深入,几何体的数量逐步增多,这就需要在用户使用三维GIS地图过程中,高性能的展示这些几何体,避免大量几何体情况下,不同视角或不同缩放层级产生重叠影响视觉效果,以及渲染压力带来的性能问题。
然而,目前市面上的三维GIS引擎,无法做到高性能的展示三维GIS地图中的几何体。例如,一些三维GIS引擎采用可视化的方案,按照地图瓦片层级来缩放聚合,无法解决不同视角下几何体重叠的问题。
另外一些三维GIS引擎虽然会判断遮挡以解决不同角度的重叠,但是仅能对二维的label标签进行聚合,无法对三维的几何体进行聚合。示例性的,请参照图1。
图1是传统聚合方法中无法对三维标签进行聚合时的地图界面示意图。请参照图1,几何体的展示本质上是基于三维中的点坐标。以几何体为三维GIS地图中的三维标签为例,地面界面中有海量的三维标签,图1中仅示意出左上角区域,即图中粗黑实线框中的部分三维标签,如“北门”、“F楼”、“图书馆”……该些三维标签密密麻麻,导致三维GIS地图的显示效果极差。
传统的二维GIS地图中,为了实现聚合,需要解决两个问题:
1、如何聚合?即给定一个点,以此为圆心,如何找到一定半径范围内的所有点?
2、聚合完毕后,给定一个包围盒,如何找到其中包含的聚合后的要素?
为解决这两个问题,传统GIS应用中经常使用的二维查询范围为圆或矩形。如果知道圆的中心和半径;或者矩形的中心以及长和宽,就能确定出一个唯一的查询范围。之后,对所有已知点进行轮询计算,以确定该点是否落入查询范围内。
例如,查询范围是以P点为中心、半径已知的圆,则判断每个点与P点的距离是否小于或等于半径。再如,若查询范围是以P点为中心、长宽固定的矩形,则判断每个点是否同时满足:与P点X轴方向坐标的差的绝对值小于或等于矩形X方向长度,且与P点Y轴方向坐标的差的绝对值小于或等于矩形Y方向长度。同时满足以上两个条件,则表示该点在查询范围内;若不满足以上任意一个条件,则表示该点未落入查询范围。此处假设矩形的长宽是直角坐标系的XY方向,暂未考虑矩形旋转的情况。
然而,若待查询点个数达到万或者以上,以上传统方法的时间复杂度为N,查询时间线性增长,不满足快速响应的需求。比如之前的聚合效果,每次刷新页面都要重新计算聚簇集,会让用户明显感受到地图刷新卡顿。因此,需要提高查询效率。显然,对于上述两个问题,在海量点数据下,如果使用暴力遍历每个点的方法必然是低效的。因此,如何对三维GIS地图上的几何体进行聚合,以提高三维GIS地图的可视化效果,实为急待解决的问题。
发明内容
本申请实施例提供一种聚合方法、装置、设备及可读存储介质,通过触发几何体重叠后自动聚合,实现任意角度任意层级的高效聚合,达到高性能聚合显示几何体的目的的同时,实现提高三维GIS地图的可视化效果的目的。
第一方面,本申请实施例提供一种聚合方法,包括:
识别聚合指令;
响应于所述聚合指令,确定第一集合,所述第一集合中包含待显示的地图界面上的几何体;
对所述第一集合中的每个第一几何体,确定所述第一几何体的包围盒在屏幕坐标系下的投影图形;
根据所述投影图形和所述第一集合,确定与所述第一几何体聚合的第二几何体;
在所述地图界面上聚合显示所述第一几何体和所述第二几何体。
第二方面, 本申请实施例提供一种聚合装置,包括:
识别模块,用于识别聚合指令;
响应模块,用于响应于所述聚合指令,确定第一集合,所述第一集合中包含待显示的地图界面上的几何体;
确定模块,用于对所述第一集合中的第一几何体,确定所述第一几何体的包围盒在屏幕坐标系下的投影图形;
处理模块,用于根据所述投影图形和所述第一集合,确定与所述第一几何体聚合的第二几何体;
显示模块,用于在所述地图界面上聚合显示所述第一几何体和所述第二几何体。
第三方面,本申请实施例提供一种电子设备,包括:处理器、存储器及存储在所述存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时使得所述电子设备实现如上第一方面或第一方面各种可能的实现方式所述的方法。
第四方面,本申请实施例提供一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机指令,所述计算机指令在被处理器执行时用于实现如上第一方面或第一方面各种可能的实现方式所述的方法。
第五方面,本申请实施例提供一种包含计算程序的计算机程序产品,所述计算机程序被处理器执行时实现如上第一方面或第一方面各种可能的实现方式所述的方法。
本申请实施例提供的聚合方法、装置、设备及可读存储介质,电子设备识别到改变缩放层级或用户视角的聚合指令后,响应于该聚合指令确定第一集合,该第一集合包含待显示的地图界面上的各几何体。之后,对于第一集合中的任意一个几何体,即第一几何体,电子设备确定第一几何体的包围盒在屏幕坐标系下的投影图形,根据该投影图形和第一集合,确定出与第一几何体聚合的第二几何体后,在地图界面上聚合显示第一几何体和第二几何体。采用该种方案,对于三维场景中的每个第一几何体,根据该第一几何体的投影图形和第一集合,即可加速识别出与第一几何体聚合的第二几何体并聚合显示,无需对几何体的每个点进行轮询以确定是否与第一几何体相交,实现任意角度任意层级的高效聚合,达到高性能聚合显示几何体的目的的同时,实现提高三维GIS地图的可视化效果的目的。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是传统聚合方法中无法对三维标签进行聚合时的地图界面示意图;
图2是本申请实施例提供的聚合方法所适用的实施环境示意图;
图3是本申请实施例提供的交互方法的流程图;
图4A是本申请实施例提供的聚合方法中地图界面的一个示意图;
图4B是图4A中第一几何体和第二几何体聚合后的示意图;
图5是本申请实施例提供的聚合方法中通过创建空间索引的方式加速计算空间聚合的流程图;
图6是本申请实施例提供的聚合方法中通过创建空间索引的方式加速计算空间聚合的过程示意图;
图7是本申请实施例提供的聚合方法中KD Tree的切分平面的示意图;
图8是本申请实施例提供的聚合方法中R Tree的矩形区域的示意图;
图9是本申请实施例提供的聚合方法中通过创建碰撞检测的方式加速计算空间聚合的流程图;
图10是本申请实施例提供的聚合方法中通过碰撞检测的方式加速计算空间聚合的过程示意图;
图11为本申请实施例提供的一种聚合装置的示意图;
图12是本申请实施例提供的电子设备的结构示意图。
具体实施方式
基于此,本申请实施例提供一种聚合方法、装置、设备及可读存储介质,对于三维场景中的每个第一几何体,通过加速识别出与第一几何体聚合的第二几何体并聚合显示,实现任意角度任意层级的高效聚合,达到高性能聚合显示几何体的目的的同时,实现提高三维GIS地图的可视化效果的目的。
图2是本申请实施例提供的聚合方法所适用的实施环境示意图。请参照图2,该实施环境包括终端设备21和服务器22,终端设备21和服务器22之间建立网络连接。
终端设备21例如是智能交互平板、笔记本电脑、台式机、手机、平板电脑等,本申请实施例并不限制。
服务器22可以是独立的物理服务器,也可以是多台服务器构成的服务器集群,还可以是具有云计算能力的云服务器等,本申请实施例并不限制。服务器22上保存工厂、校园、医院、某城市等的三维GIS地图的相关数据。
终端设备21具有显示屏并安装浏览器,用户通过鼠标、键盘或触摸方式等在显示屏上操作,打开三维GIS地图并显示。之后,用户在三维GIS地图中输入放大、缩小、旋转等聚合指令。终端设备21识别到聚合指令后,向服务器22请求待显示的地图界面。服务器22根据待显示的地图界面确定第一集合,该第一集合包含待显示的地图界面上的所有几何体。之后,服务器22对该些几何体中的每个第一几何体,确定与之聚合的第二几何体,生成数据流并发送给终端设备21,终端设备21根据数据流在地图界面上渲染并聚合显示第一几何体和第二几何体。
需要说明的是,虽然图2中设置了服务器22。然而,本申请实施例并不以此为限制。例如,当终端设备21为数据处理能力较强的设备时,也可以将三维GIS地图相关的数据保存在终端设备21上,使得即使终端设备21不联网,用户也能随时随地的使用三维GIS地图。
应当理解的是,图2中的终端设备21、服务器22的数量仅仅是示意性的。实际实现中,根据实际需求部署任意数量的终端设备21、服务器22。
下面,基于图2所示实施环境,对本申请实施例所述的聚合方法进行详细说明。示例性的,请参照图3,图3是本申请实施例提供的交互方法的流程图。本申请实施例的执行主体例如是电子设备,电子设备例如是上述的终端设备或服务器,本实施例包括:
301、识别聚合指令。
用户使用三维GIS地图的过程中,可灵活的向电子设备发送聚合指令。例如,用户在电子设备的显示屏上进行触摸操作,以向电子设备下发聚合指令。再如,用户通过鼠标、键盘等对显示在电子设备的显示屏上的三维GIS地图进行操作,以向电子设备下发聚合指令。该聚合指令用于指示电子设备将三维GIS地图从当前的地图界面切换到另一个地图界面,即刷新地图界面。刷新前后的两个地图界面的缩放层级或用户视角不同。
可选的,聚合指令包括下述指令中的任意一个指令:地图放大指令、地图缩小指令、旋转地图以改变用户视角的指令。
示例性的,用户使用三维GIS地图时,需求进入不同缩放层级时,向电子设备下发地图放大指令或地图缩小指令。当用户需要切换视角时,向电子设备下发旋转地图以改变用户视角的旋转指令。
采用该种方案,通过不同视角不同缩放层级下自动聚合几何体,达到高性能聚合显示几何体的目的的同时,实现提高三维GIS地图的可视化效果的目的。
302、响应于所述聚合指令,确定第一集合,所述第一集合中包含待显示的地图界面上的几何体。
电子设备识别到聚合指令后,确定出接下来要进行界面刷新。因此,电子设备确定界面刷新后的地图界面,即待显示的地图界面上的所有几何体,根据该些几何体得到第一集合。第一集合中的几何体往往是海量的。
本申请实施例中,几何体包括真实的物理世界中的物理实体在地图界面中的孪生体、三维标签等,三维标签用于标注孪生体。孪生体又叫做模型、立方体等。
实际中,孪生体和三维标签位于三维GIS地图的不同图层,三维标签和孪生体的显示互不干扰。因此,本步骤中,当几何体为孪生体时,第一集合包含待显示的地图界面上的所有孪生体;当几何体为三维标签时,第一集合包含待显示的地图界面上的所有三维标签。三维标签以三维方式呈现。
采用该种方案,几何体是孪生体或三维标签,从而实现对三维GIS地图中任意类型的几何体的聚合。
303、对所述第一集合中的每个第一几何体,确定所述第一几何体的包围盒在屏幕坐标系下的投影图形。
本申请实施例中,包围盒(Bounding Box)是一个能够完全包围第一几何体的立方体。对于第一集合中的每个第一几何体,电子设备确定该第一几何体的包围盒,并将该包围盒从地理坐标系投影到二维的屏幕坐标下,从而得到包围盒在屏幕坐标系下的投影图形。经过该步骤,电子设备能够得到第一集合中每个第一几何体在二维屏幕坐标系下的投影图形。
其中,将包围盒从地理坐标系投影到二维屏幕坐标系是指:确定地理坐标系和二维屏幕坐标系之间的位姿矩阵,将包围盒上的每个点在地理坐标系下的坐标乘以该位姿矩阵,得到该点在二维的屏幕坐标系下坐标,从而将包围盒从地理坐标系投影到二维的屏幕坐标系。
304、根据所述投影图形和所述第一集合,确定与所述第一几何体聚合的第二几何体。
本步骤中,电子设备从第一集合中,确定出与第一几何体聚合的第二几何体。第一几何体和第二几何体聚合是指:第一几何体和第二几何体全部或部分重叠。例如,该两个几何体的包围盒相交。
本申请实施例中,第一集合中存在或不存在与第一几何体聚合的第二几何体。当第一集合中存在与第一几何体聚合的第二几何体时,第二几何体的数量可以为一个或多个。
305、在所述地图界面上聚合显示所述第一几何体和所述第二几何体。
本申请实施例中,当第二几何体的数量为0时,即第一集合中没有与第一几何体聚合的第二几何体时,电子设备在地图界面上显示第一几何体。当第二几何体的数量不为0时,若同时显示第一几何体和第二几何体,则由于第一几何体和第二几何体重叠、遮挡等,导致地图界面上的几何体密密麻麻,严重影响视觉效果。
为了避免该问题,电子设备不会同时显示第一几何体和第二几何体,而是聚合显示第一几何体和第二几何体。例如,电子设备根据预设的优先级,从第一几何体和多个第二几何体中确定出优先级最高的几何体并显示。
再如,电子设备随机从第一几何体和多个第二几何体中选择一个几何体并显示。同时在显示的几何体附近显示提示信息,以提示用户此处有多个未显示的几何体。
又如,电子设备确定所述第一几何体和所述第二几何体的总数量。之后,在所述地图界面上所述第一几何体的位置处显示所述总数量,但不显示所述第一几何体和所述第二几何体。
图4A是本申请实施例提供的聚合方法中地图界面的一个示意图。请参照图4A,电子设备识别到聚合指令之前,即地图界面刷新之前,地图界面上显示多个几何体,如图中圆圈所示,该些几何体例如为三维标签。其中,每个黑粗实线框内的几何体互不遮挡或重叠。需要说明的是,此处的黑粗实线框仅仅是为了描述方便,并不代表实际地图界面上会显示该粗黑实线框。
图4B是图4A中第一几何体和第二几何体聚合后的示意图。请参照图4B,用户输入地图缩小指令后,电子设备将黑粗实线框内灰色的几何体作为第一几何体,发现与该第一几何体聚合的第二几何体如图中黑色填充的几何体所示。电子设备发现:左上粗黑实线框内第一几何体和第二几何体的总数量为5,因此,电子设备在第一几何体的位置处显示5,以提示用户该位置及附近有5个未显示的几何体。或者,电子设备在粗黑实线框的中心位置显示5,以提示用户该位置及附近有5个未显示的几何体。同理,电子设备在右上区域显示4、右下区域显示6、左下区域显示7。
需要说明的是,图4A和图4B中仅示意图出地图界面上的三维标签,并未示意出孪生体。
采用该种方案,当第一集合中存在与第一几何体聚合的第二几何体时,电子设备在第一几何体的位置处显示第一几何体和第二几何体的总数量,但不显示第一几何体和第二几何体,使得地图界面上不会有密密麻麻相互遮挡或重叠的几何体,实现提高三维GIS地图的显示效果的目的。
本申请实施例提供的聚合方法,电子设备识别到改变缩放层级或用户视角的聚合指令后,响应于该聚合指令确定第一集合,该第一集合包含待显示的地图界面上的各几何体。之后,对于第一集合中的任意一个几何体,即第一几何体,电子设备确定第一几何体的包围盒在屏幕坐标系下的投影图形,根据该投影图形和第一集合,确定出与第一几何体聚合的第二几何体后,在地图界面上聚合显示第一几何体和第二几何体。采用该种方案,对于三维场景中的每个第一几何体,根据该第一几何体的投影图形和第一集合,即可加速识别出与第一几何体聚合的第二几何体并聚合显示,无需对几何体的每个点进行轮询以确定是否与第一几何体相交,实现任意角度任意层级的高效聚合,达到高性能聚合显示几何体的目的的同时,实现提高三维GIS地图的可视化效果的目的。
可选的,上述实施例中,电子设备根据所述投影图形和所述第一集合,确定与所述第一几何体聚合的第二几何体的过程中,可通过创建空间索引的方式或直接创建碰撞检测的方式来加速计算空间聚合。下面,对创建空间索引的方式或直接创建碰撞检测的方式分别进行详细说明。
首先,创建空间索引的方式。
图5是本申请实施例提供的聚合方法中通过创建空间索引的方式加速计算空间聚合的流程图。本实施例包括:
501、确定所述第一集合中的每个几何体的中心点在所述屏幕坐标系下的二维坐标,以得到多个二维坐标。
电子设备确定出待显示的地图界面上的几何体得到第一集合后,对于第一集合中的每个几何体,将该几何体的中心点从地理坐标转换到三维世界坐标,再转换到二维的屏幕坐标系,从而得到各几何体的中心点在二维屏幕坐标系下的二维坐标。
502、根据所述多个二维坐标和预设阈值确定多个查询范围,所述预设阈值为预设半径,或者,预设长和宽。
电子设备得到第一集合中各几何体的中心点在屏幕坐标系下的二维坐标后,对于每个二维坐标,根据给定的预设阈值得到一个查询范围。例如,预设阈值为预设半径,则电子设备根据该些二维坐标和预设半径,得到多个形状为圆的查询范围,该些查询范围中的任意两个查询范围相交、不相交或重叠。
再如,预设阈值为预设长和宽,电子设备根据该些二维坐标和预设长宽,得到多个形状为矩形的查询范围,该些查询范围中的任意两个查询范围相交、不相交或重叠。
503、根据所述多个查询范围构建空间索引。
本申请实施例中,空间索引是一种数据结构,创建空间索引是指:预先对这些查询范围做一个预处理,预先确定好查询范围内的所有的点,使得后续的查询速度比较快。
504、根据所述空间索引和所述投影图形,从所述第一集合中确定出与所述第一几何体聚合的第二几何体。
电子设备创建好空间索引后,将投影图形的中心点和半径作为入参,输入到空间索引这个数据结构中,从而从第一集合中快速查询到与第一几何体聚合的第二几何体。
采用该种方案,电子设备通过创建空间索引的方式,从第一集合中快速查询到与第一几何体聚合的第二几何体,速度快,准确率高,实现降低几何体聚合的时间复杂度的目的的同时,实现提高三维GIS地图的显示效果的目的。
图6是本申请实施例提供的聚合方法中通过创建空间索引的方式加速计算空间聚合的过程示意图。本实施例包括:
601、确定第一集合中各几何体的中心点以得到地理点集。
示例性的,电子设备确定第一集合中,即待显示的地图界面上各几何体的中心点,以得到三维GIS引擎中几何体中心点的地理点集。
602、确定第一集合中各几何体的中心点的地理坐标。
地理坐标例如是世界大地坐标系84(World Geodetic System 1984,WGS84)。电子设备通过使用三维GIS引擎中的坐标转换接口,利用PROJ4确定第一集合中各几何体的中心点的地理坐标。PROJ4是一种坐标转换的库。地理坐标也称之为经纬度坐标。
603、确定第一集合中各几何体的中心点的三维世界坐标。
电子设备根据第一集合中的每个几何体的中心点的地理坐标,确定对应几何体的中心点的三维世界坐标。三维世界坐标例如为地心坐标系。电子设备将每个经纬度坐标转换到三维GIS引擎中的世界坐标系,从而得到第一集合中的每个几何体的中心点的三维世界坐标。
604、确定第一集合中各几何体的中心点的二维坐标。
电子设备根据第一集合中的每个几何体的中心点的三维世界坐标,确定对应几何体的中心点的在屏幕坐标系下的二维坐标,以得到多个二维坐标。
采用该种方案,对于第一集合中的每个几何体,电子设备确定该几何体的地理坐标,将地理坐标转换成三维世界坐标,再转换成二维坐标,从而得到多个二维坐标,以便构建多个查询范围,实现准确构建查询范围的目的。
605、构建空间索引。
电子设备得到第一集合中各几何体的中心点的二维坐标后,根据该些二维坐标和预设阈值,构建多个查询范围,根据该些查询范围构建空间索引。构建空间索引是指:预先对这些查询范围做一个预处理,预先确定好查询范围内的所有的点,使得后续的查询速度比较快。
电子设备可灵活的构建空间索引以加速空间查询操作。例如,电子设备根据KD树(KD Tree)或R树(R Tree)构建空间索引,这两种构建空间索引方式的主要区别在于:索引结构的组织方式和查询性能不同。
606、确定第一几何体的包围盒。
本步骤中,电子设备创建第一几何体的包围盒。
607、将包围盒映射到二维。
本步骤中,电子设备确定第一几何体的包围盒在屏幕坐标系下的投影图形,从而将包围盒映射到二维的屏幕坐标系。
608、根据空间索引和投影图形,确定目标范围。
电子设备获得第一集合中各几何体的中心点的屏幕坐标系下的二维坐标后,根据每个二维坐标和预设半径等,构建出多个查询范围,进而构建出空间索引。该空间索引相当于将多个查询范围进行归类等预处理。因此,电子设备得到第一几何体的投影图形后,根据该投影图形和空间索引,确定出一个目标范围,该目标范围内具有几何体,该目标范围小于空间索引所指示的全体范围。也就是说,电子设备根据投影图形和空间索引,能够找到一个比较小的目标范围,该目标范围内的几何体是第一集合中几何体的子集。
609、从目标范围内确定出与第一几何体聚合的第二几何体。
本步骤中,电子设备遍历目标范围内的各几何体,从而确定出与第一几何体聚合的第二几何体。
610、在地图界面上聚合显示第一几何体和第二几何体。
示例性的,电子设备确定出第一几何体聚合的第二几何体后,确定第一几何体和第二几何体的总数量,并在地图界面上第一几何体的位置处显示总数量。
下面,对上述实施例中用于构建空间索引的KD Tree和R Tree进行介绍。
KD Tree是一种二叉树接口,用于对k维空间中的点进行分割和存储。KD Tree的构建过程是递归的,每次选择一个轴(维度)作为切分平面,将点集分为左右两个子集。KDTree的查询过程也是递归的,通过比较查询点与当前节点的切分平面的位置关系,选择进入左子树或右子树以进行下一轮查询。KD Tree适用于静态数据集,对于高维度数据和数据分布不均匀的情况,查询性能可能会下降。也就是说,KD Tree适用于低维数据和静态数据集。实际中,选择合适的空间索引结构取决于数据的特征、查询需求和性能要求等。例如,用户在三维GIS地图中漫游的时候,当停留在某个层级某个视角时,此时地图界面是静态的,地图界面的相关数据集为静态数据集,采用KD Tree构建空间索引比较适合。
图7是本申请实施例提供的聚合方法中KD Tree的切分平面的示意图。请参照图7,电子设备先选择轴①,将地图界面上的点分成左右两个子集。然后,对于左子集和右子集,分别选择轴②,将左子集分成上下两部分,将右子集也分成上下两部分。之后,再将每一部分通过轴③分成左右两个区域,从而将地图界面分成8个区域。
需要说明的是,虽然图7中显示的是将地图界面逐级划分,得到8个不同的区域,但是图7仅仅是逻辑存储界面的可视化,仅仅是为了便于理解基于KD树的数据存储。本申请实施例中,电子设备底层代码在内存中对数据进行左右划分、上下划分等,并非是可视化的。也就是说,本申请实施例中,空间索引主要是指计算机存储方面,做了一个数据的预处理,实际就是对存储的数据进行一个归类划分,便于后续查询。
可选的,当空间索引为二叉树的数据结构时,电子设备从二叉树的空间索引中确定出子树,该子树指示的各几何体的中心点的二维坐标,与投影图形的中心点的二维坐标的距离小于预设距离。之后,电子设备从子树指示的各几何体中确定出与所述第一几何体聚合的第二几何体。
示例性的,电子设备根据第一几何体中各几何体的中心点的二维坐标,以及预设半径等创建出多个查询范围,进而构建出二叉树结构的空间索引后,对于第一集合中的任意一个第一几何体,确定与该第一几何体聚合的第二几何体的过程中,电子设备将第一几何体在屏幕坐标系下的投影图形的中心点的二维坐标等输入二叉树结构的空间索引,从而得到一个子树,该子树是二叉树的一部分,该子树相当于上述图6中的目标范围。该子树指示的各几何体的中心点与投影图形的中心点的二维坐标的距离小于预设阈值。之后,电子设备遍历子树中的几何体,从而得到与第一几何体聚合的第二几何体。
采用该种方案,电子设备基于二叉树结构的空间索引确定出一个子树,基于该子树确定与第一几何体聚合的第二几何体,极大程度上缩小了遍历的范围,实现提高聚合速度的目的。
R Tree是一种多叉树结构,用于对多维空间中的对象进行分割和存储。图8是本申请实施例提供的聚合方法中R Tree的矩形区域的示意图。请参照图8,RTree的构建过程是通过选择最佳分割方式,将对象逐层组织成小边界矩形 (Minimum Bounding Rectangle,MBR)。R Tree的查询过程中,通过递归搜索矩形区域,从而找到与查询范围相交的对象。RTree适用于动态数据集,对于高维数据和数据分布不均匀的情况,查询性能相对较好。也就是说,R Tree适用于高维数据和动态数据集。实际中,选择合适的空间索引结构取决于数据的特征、查询需求和性能要求等。例如,用户在三维GIS地图中不断漫游时,此时地图界面是动态的,地图界面的相关数据集为动态数据集,采用R Tree构建空间索引比较适合。
其次,直接创建碰撞检测的方式。
图9是本申请实施例提供的聚合方法中通过创建碰撞检测的方式加速计算空间聚合的流程图。本实施例包括:
901、确定所述第一集合中的每个几何体在所述屏幕坐标系下的平面图形,以得到多个平面图形。
电子设备确定出待显示的地图界面上的几何体得到第一集合后,对于第一集合中的每个几何体,将该几何体包含的全部点从地理坐标转换到三维世界坐标,再转换到二维的屏幕坐标系,从而得到各几何体在二维屏幕坐标系下的平面图形。
902、将所述多个平面图形和所述投影图形输入至预设的碰撞检测系统,以使得所述碰撞检测系统输出所述第一集合中,与所述第一几何体聚合的第二几何体。
本申请实施例中,预先构建碰撞检测系统。例如,预先构建基于包围体层次结构(Bounding Volume Hierarchy,BVH)的碰撞检测系统,用于对几何体进行分割和组织,用于检测三维的几何体之间是否发生碰撞。
可以将BVH碰撞检测比喻为在一个房间里检查两个物体是否相互重叠。例如有两个物体,每个物体就是一个几何体。每个几何体用于一个包围盒来表示,包围盒是一个能完全包围几何体的立方体。BVH检测的目的就是确定这两个包围盒是否相交,如果相交,则说明两个物体可能发生碰撞。
电子设备得到第一集合中各几何体在二维平面中的平面图形后,将各平面图形和投影图形输入至碰撞检测系统,从而得到与投影图形对应的几何体,即与第一几何体相交的第二几何体。
采用该种方案,电子设备通过碰撞检测的方式,从第一集合中快速确定出与第一几何体聚合的第二几何体,速度快,准确率高,实现降低几何体聚合的时间复杂度的目的的同时,实现提高三维GIS地图的显示效果的目的。
图10是本申请实施例提供的聚合方法中通过碰撞检测的方式加速计算空间聚合的过程示意图。本实施例包括:
1001、确定第一集合中各几何体包含的全部点,以得到地理点集。
示例性的,电子设备确定第一集合中,即待显示的地图界面上各几何体的包含的所有点,以得到三维GIS引擎中几何体所有点的地理点集。
本步骤与图6步骤601的不同之处在于:图6中,仅确定几何体的中心点,而本步骤中,需要确定几何体的全部点。
1002、确定第一集合中每个几何体包含的各点的地理坐标。
地理坐标例如是世界大地坐标系84(World Geodetic System 1984WGS84)。电子设备通过使用三维GIS引擎中的坐标转换接口,利用PROJ4确定第一集合中每个几何体包含的各点的地理坐标。PROJ4是一种坐标转换的库。地理坐标也称之为经纬度坐标。
1003、确定第一集合中每个几何体包含的各点的三维世界坐标。
电子设备根据所述第一集合中的每个几何体包含的各点的地理坐标,确定对应几何体包含的各点的三维世界坐标。三维世界坐标例如为地心坐标系。电子设备将每个经纬度坐标转换到三维GIS引擎中的世界坐标系,从而得到第一集合中每个几何体包含的各点的三维世界坐标。
1004、确定第一集合中的每个几何体包含的各点在屏幕坐标系下的二维坐标。
电子设备根据第一集合中的每个几何体包含的各点的三维世界坐标,确定对应几何体包含的各点在屏幕坐标系下的二维坐标。
1005、确定第一集合中的每个几何体在二维屏幕坐标系下的平面图形。
电子设备根据第一集合中的每个几何体包含的各点在屏幕坐标系下的二维坐标,确定对应几何体的平面图形,以得到多个平面图形。
采用该种方案,对于第一集合中的每个几何体,电子设备确定该几何体包含的各点的地理坐标,将地理坐标转换成三维世界坐标,再转换成二维坐标,进而得到各几何体对应的平面图形,以便快速进行碰撞检测,进而实现快速确定出与第一几何体聚合的第二几何体的目的,实现加速计算空间聚合的目的。
1006、获取碰撞检测系统。
电子设备获取预先构建好的碰撞检测系统;或者,利用上述的第一集合中各几何体创建碰撞检测系统。
1007、确定第一几何体的包围盒。
本步骤中,电子设备创建第一几何体的包围盒。
1008、将包围盒映射到二维。
本步骤中,电子设备确定第一几何体的包围盒在屏幕坐标系下的投影图形,从而将包围盒映射到二维的屏幕坐标系。
1009、根据碰撞检测系统和第一几何体的投影图形,确定出与第一几何体聚合的第二几何体。
本步骤中,电子设备将多个平面图形和投影图形输入至预设的碰撞检测系统,以使得碰撞检测系统输出第一集合中的、与第一几何体聚合的第二几何体。
1010、在地图界面上聚合显示第一几何体和第二几何体。
示例性的,电子设备确定出第一几何体聚合的第二几何体后,确定第一几何体和第二几何体的总数量,并在地图界面上第一几何体的位置处显示总数量。
下述为本申请装置实施例,可以用于执行本申请方法实施例。对于本申请装置实施例中未披露的细节,请参照本申请方法实施例。
图11为本申请实施例提供的一种聚合装置的示意图。该聚合装置1100包括:识别模块1101、响应模块1102、确定模块1103、处理模块1104和显示模块1105。
识别模块1101,用于识别聚合指令;
响应模块1102,用于响应于所述聚合指令,确定第一集合,所述第一集合中包含待显示的地图界面上的几何体;
确定模块1103,用于对所述第一集合中的每个第一几何体,确定所述第一几何体的包围盒在屏幕坐标系下的投影图形;
处理模块1104,用于根据所述投影图形和所述第一集合,确定与所述第一几何体聚合的第二几何体;
显示模块1105,用于在所述地图界面上聚合显示所述第一几何体和所述第二几何体。
一种可行的实现方式中,所述处理模块1104,用于确定所述第一集合中的每个几何体的中心点在所述屏幕坐标系下的二维坐标,以得到多个二维坐标;根据所述多个二维坐标和预设阈值确定多个查询范围,所述预设阈值为预设半径,或者,预设长和宽;根据所述多个查询范围构建空间索引;根据所述空间索引和所述投影图形,从所述第一集合中确定出与所述第一几何体聚合的第二几何体。
一种可行的实现方式中,所述处理模块1104确定所述第一集合中的每个几何体的中心点在所述屏幕坐标系下的二维坐标,以得到多个二维坐标时,用于确定所述第一集合中的每个几何体的中心点的地理坐标;根据所述第一集合中的每个几何体的中心点的地理坐标,确定对应几何体的中心点的三维世界坐标;根据所述第一集合中的每个几何体的中心点的三维世界坐标,确定对应几何体的中心点的在所述屏幕坐标系下的二维坐标,以得到多个二维坐标。
一种可行的实现方式中,所述处理模块1104根据所述空间索引和所述投影图形,从所述第一集合中确定出与所述第一几何体聚合的第二几何体时,用于当所述空间索引为二叉树的数据结构时,从所述二叉树中确定出子树,所述子树指示的各几何体的中心点的二维坐标,与所述投影图形的中心点的二维坐标的距离小于预设距离;从所述子树指示的各几何体中确定出与所述第一几何体聚合的第二几何体。
一种可行的实现方式中,所述处理模块1104,用于确定所述第一集合中的每个几何体在所述屏幕坐标系下的平面图形,以得到多个平面图形,将所述多个平面图形和所述投影图形输入至预设的碰撞检测系统,以使得所述碰撞检测系统输出所述第一集合中,与所述第一几何体聚合的第二几何体。
一种可行的实现方式中,所述处理模块1104确定所述第一集合中的每个几何体在所述屏幕坐标系下的平面图形以得到多个平面图形时,用于确定所述第一集合中的每个几何体包含的各点的地理坐标;根据所述第一集合中的每个几何体包含的各点的地理坐标,确定对应几何体包含的各点的三维世界坐标;根据所述第一集合中的每个几何体包含的各点的三维世界坐标,确定对应几何体包含的各点在所述屏幕坐标系下的二维坐标;根据所述第一集合中的每个几何体包含的各点在所述屏幕坐标系下的二维坐标,确定对应几何体的平面图形,以得到多个平面图形。
一种可行的实现方式中,所述处理模块1104,还用于确定所述第一几何体和所述第二几何体的总数量;
所述显示模块1105,用于在所述地图界面上所述第一几何体的位置处显示所述总数量,但不显示所述第一几何体和所述第二几何体。
一种可行的实现方式中,所述聚合指令包括下述指令中的任意一个指令:地图放大指令、地图缩小指令、旋转地图以改变用户视角的指令。
一种可行的实现方式中,所述几何体是下述几何体中的任意一种几何体:真实的物理世界中的物理实体在所述地图界面中的孪生体、三维标签,所述三维标签用于标注所述孪生体。
本申请实施例提供的聚合装置,可以执行上述实施例中电子设备的动作,其实现原理和技术效果类似,在此不再赘述。
图12是本申请实施例提供的电子设备的结构示意图。请参照图12,本申请实施例所述的电子设备1200包括:至少一个处理器1201,至少一个通信总线1202、用户接口1203、至少一个网络接口1204和存储器1205。
其中,通信总线1202用于实现这些组件之间的连接通信。
其中,用户接口1203可以包括显示屏(Display)、摄像头(Camera),可选用户接口1203还可以包括标准的有线接口、无线接口。其中,显示屏用于显示编辑界面、漫游界面等。
其中,网络接口1204可选的可以包括标准的有线接口、无线接口(如WI-FI接口)。
其中,处理器1201可以包括一个或者多个处理核心。处理器1201利用各种接口和线路连接整个电子设备1200内的各个部分,通过运行或执行存储在存储器1205内的指令、程序、代码集或指令集,以及调用存储在存储器1205内的数据,执行电子设备1200的各种功能和处理数据。可选的,处理器1201可以采用数字信号处理(Digital Signal Processing,DSP)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)、可编程逻辑阵列(Programmable Logic Array,PLA)中的至少一种硬件形式来实现。处理器1201可集成中央处理器(Central Processing Unit,CPU)、图像处理器(Graphics Processing Unit,GPU)和调制解调器等中的一种或几种的组合。其中,CPU主要处理操作系统、用户界面和应用程序等;GPU用于负责显示屏所需要显示的内容的渲染和绘制;调制解调器用于处理无线通信。可以理解的是,上述调制解调器也可以不集成到处理器1201中,单独通过一块芯片进行实现。
其中,存储器1205可以包括随机存储器(Random Access Memory,RAM),也可以包括只读存储器(Read-Only Memory)。可选的,该存储器1205包括非瞬时性计算机可读介质(non-transitory computer-readable storage medium)。存储器1205可用于存储指令、程序、代码、代码集或指令集。存储器1205可包括存储程序区和存储数据区,其中,存储程序区可存储用于实现操作系统的指令、用于至少一个功能的指令(比如触控功能、声音播放功能、图像播放功能等)、用于实现上述各个方法实施例的指令等;存储数据区可存储上面各个方法实施例中涉及到的数据等。存储器1205可选的还可以是至少一个位于远离前述处理器1201的存储装置。如图12所示,作为一种计算机存储介质的存储器1205中可以包括操作系统、网络通信模块、用户接口模块以及电子设备的操作应用程序。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
在一个典型的配置中,计算设备包括一个或多个处理器 (CPU)、输入/输出接口、网络接口和内存。
存储器可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。存储器是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存 (PRAM)、静态随机存取存储器 (SRAM)、动态随机存取存储器 (DRAM)、其他类型的随机存取存储器 (RAM)、只读存储器 (ROM)、电可擦除可编程只读存储器 (EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘 (DVD) 或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体 (transitory media),如调制的数据信号和载波。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括要素的过程、方法、商品或者设备中还存在另外的相同要素。
以上仅为本申请的实施例而已,并不用于限制本申请。对于本领域技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本申请的权利要求范围之内。
Claims (12)
1.一种聚合方法,其特征在于,包括:
识别聚合指令;
响应于所述聚合指令,确定第一集合,所述第一集合中包含待显示的地图界面上的几何体;
对所述第一集合中的每个第一几何体,确定所述第一几何体的包围盒在屏幕坐标系下的投影图形;
根据所述投影图形和所述第一集合,确定与所述第一几何体聚合的第二几何体;
在所述地图界面上聚合显示所述第一几何体和所述第二几何体。
2.根据权利要求1所述的方法,其特征在于,所述根据所述投影图形和所述第一集合,确定与所述第一几何体聚合的第二几何体,包括:
确定所述第一集合中的每个几何体的中心点在所述屏幕坐标系下的二维坐标,以得到多个二维坐标;
根据所述多个二维坐标和预设阈值确定多个查询范围,所述预设阈值为预设半径,或者,预设长和宽;
根据所述多个查询范围构建空间索引;
根据所述空间索引和所述投影图形,从所述第一集合中确定出与所述第一几何体聚合的第二几何体。
3.根据权利要求2所述的方法,其特征在于,所述确定所述第一集合中的每个几何体的中心点在所述屏幕坐标系下的二维坐标,以得到多个二维坐标,包括:
确定所述第一集合中的每个几何体的中心点的地理坐标;
根据所述第一集合中的每个几何体的中心点的地理坐标,确定对应几何体的中心点的三维世界坐标;
根据所述第一集合中的每个几何体的中心点的三维世界坐标,确定对应几何体的中心点的在所述屏幕坐标系下的二维坐标,以得到多个二维坐标。
4.根据权利要求2所述的方法,其特征在于,所述根据所述空间索引和所述投影图形,从所述第一集合中确定出与所述第一几何体聚合的第二几何体,包括:
当所述空间索引为二叉树的数据结构时,从所述二叉树中确定出子树,所述子树指示的各几何体的中心点的二维坐标,与所述投影图形的中心点的二维坐标的距离小于预设距离;
从所述子树指示的各几何体中确定出与所述第一几何体聚合的第二几何体。
5.根据权利要求1所述的方法,其特征在于,所述根据所述投影图形和所述第一集合,确定与所述第一几何体聚合的第二几何体,包括:
确定所述第一集合中的每个几何体在所述屏幕坐标系下的平面图形,以得到多个平面图形;
将所述多个平面图形和所述投影图形输入至预设的碰撞检测系统,以使得所述碰撞检测系统输出所述第一集合中,与所述第一几何体聚合的第二几何体。
6.根据权利要求5所述的方法,其特征在于,所述确定所述第一集合中的每个几何体在所述屏幕坐标系下的平面图形,以得到多个平面图形,包括:
确定所述第一集合中的每个几何体包含的各点的地理坐标;
根据所述第一集合中的每个几何体包含的各点的地理坐标,确定对应几何体包含的各点的三维世界坐标;
根据所述第一集合中的每个几何体包含的各点的三维世界坐标,确定对应几何体包含的各点在所述屏幕坐标系下的二维坐标;
根据所述第一集合中的每个几何体包含的各点在所述屏幕坐标系下的二维坐标,确定对应几何体的平面图形,以得到多个平面图形。
7.根据权利要求1~6任一项所述的方法,其特征在于,所述在所述地图界面上聚合显示所述第一几何体和所述第二几何体,包括:
确定所述第一几何体和所述第二几何体的总数量;
在所述地图界面上所述第一几何体的位置处显示所述总数量,但不显示所述第一几何体和所述第二几何体。
8.根据权利要求1~6任一项所述的方法,其特征在于,所述聚合指令包括下述指令中的任意一个指令:地图放大指令、地图缩小指令、旋转地图以改变用户视角的指令。
9.根据权利要求1~6任一项所述的方法,其特征在于,
所述几何体是下述几何体中的任意一种几何体:真实的物理世界中的物理实体在所述地图界面中的孪生体、三维标签,所述三维标签用于标注所述孪生体。
10.一种聚合装置,其特征在于,包括:
识别模块,用于识别聚合指令;
响应模块,用于响应于所述聚合指令,确定第一集合,所述第一集合中包含待显示的地图界面上的几何体;
确定模块,用于对所述第一集合中的每个第一几何体,确定所述第一几何体的包围盒在屏幕坐标系下的投影图形;
处理模块,用于根据所述投影图形和所述第一集合,确定与所述第一几何体聚合的第二几何体;
显示模块,用于在所述地图界面上聚合显示所述第一几何体和所述第二几何体。
11.一种电子设备,包括处理器、存储器及存储在所述存储器上并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时使得所述电子设备实现如权利要求1至9任一所述的方法。
12.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至9任一所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410022207.2A CN117519556A (zh) | 2024-01-08 | 2024-01-08 | 聚合方法、装置、设备及可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410022207.2A CN117519556A (zh) | 2024-01-08 | 2024-01-08 | 聚合方法、装置、设备及可读存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117519556A true CN117519556A (zh) | 2024-02-06 |
Family
ID=89751749
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202410022207.2A Pending CN117519556A (zh) | 2024-01-08 | 2024-01-08 | 聚合方法、装置、设备及可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117519556A (zh) |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20120197888A1 (en) * | 2009-04-16 | 2012-08-02 | President And Fellows Of Harvard College | Method and apparatus for selecting clusterings to classify a predetermined data set |
CN105335393A (zh) * | 2014-07-11 | 2016-02-17 | 阿里巴巴集团控股有限公司 | 一种地图显示方法及装置 |
CN105550199A (zh) * | 2015-11-28 | 2016-05-04 | 浙江宇视科技有限公司 | 一种基于多源地图的点位聚合方法及装置 |
CN105740275A (zh) * | 2014-12-10 | 2016-07-06 | 北京神州泰岳软件股份有限公司 | 地图显示方法及装置 |
CN111353008A (zh) * | 2019-12-26 | 2020-06-30 | 中科星图股份有限公司 | 一种北斗位置流数据实时空间聚合方法 |
CN115509652A (zh) * | 2021-06-23 | 2022-12-23 | 北京骑胜科技有限公司 | 电子地图的图标显示方法、装置、介质及产品 |
-
2024
- 2024-01-08 CN CN202410022207.2A patent/CN117519556A/zh active Pending
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20120197888A1 (en) * | 2009-04-16 | 2012-08-02 | President And Fellows Of Harvard College | Method and apparatus for selecting clusterings to classify a predetermined data set |
CN105335393A (zh) * | 2014-07-11 | 2016-02-17 | 阿里巴巴集团控股有限公司 | 一种地图显示方法及装置 |
CN105740275A (zh) * | 2014-12-10 | 2016-07-06 | 北京神州泰岳软件股份有限公司 | 地图显示方法及装置 |
CN105550199A (zh) * | 2015-11-28 | 2016-05-04 | 浙江宇视科技有限公司 | 一种基于多源地图的点位聚合方法及装置 |
CN111353008A (zh) * | 2019-12-26 | 2020-06-30 | 中科星图股份有限公司 | 一种北斗位置流数据实时空间聚合方法 |
CN115509652A (zh) * | 2021-06-23 | 2022-12-23 | 北京骑胜科技有限公司 | 电子地图的图标显示方法、装置、介质及产品 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US5590250A (en) | Layout of node-link structures in space with negative curvature | |
KR101994317B1 (ko) | 네비게이션 장치, 고도 좌표를 결정하는 방법 및 데이터베이스를 생성하는 방법 | |
TWI525303B (zh) | 用以自適應地將基於位置的數位資訊視覺化之方法及裝置 | |
US9697751B2 (en) | Interactive representation of clusters of geographical entities | |
CN110503718B (zh) | 三维工程模型轻量化显示方法 | |
US11551412B2 (en) | Systems and methods for traversing implied subdivision hierarchical level of detail content | |
CN114648615B (zh) | 目标对象交互式重现的控制方法、装置、设备及存储介质 | |
CN116628123B (zh) | 基于空间数据库的动态切片生成方法和系统 | |
CN106503171B (zh) | 一种矢量数据的处理方法及装置 | |
CN117519556A (zh) | 聚合方法、装置、设备及可读存储介质 | |
CN117131297A (zh) | 一种基于浏览器的地理信息数据的快速发布方法 | |
CN115905441A (zh) | 空间数据处理方法、装置、电子设备及介质 | |
JP7422222B2 (ja) | 物体に対する衝突検出方法、装置、電子デバイス、記憶媒体およびコンピュータプログラム | |
CN114329032A (zh) | 图像匹配像素检索方法、装置以及存储介质 | |
CN114238677A (zh) | 一种多视图展示方法、装置、设备和介质 | |
CN114297751A (zh) | Bim渲染方法、装置、电子设备及存储介质 | |
CN112530026A (zh) | 组件的关联方法及装置 | |
CN116630552B (zh) | 面向大规模的三维流程工厂模型的优化渲染方法 | |
CN116883563B (zh) | 标注点渲染方法、装置、计算机设备、存储介质 | |
Azri et al. | Document-Oriented Data Organization for Unmanned Aerial Vehicle Outputs | |
CN111581273B (zh) | 一种数据可视化方法及装置,计算机存储介质和电子设备 | |
Argudo et al. | Interactive inspection of complex multi-object industrial assemblies | |
US11163808B2 (en) | Hexagon clustering of spatial data | |
CN116704142A (zh) | 一种针对工业互联网的三维地图可视化系统及方法 | |
CN116188565A (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 |