标注点渲染方法、装置、计算机设备、存储介质与流程
未命名
10-19
阅读:165
评论:0
1.本技术涉及数字孪生应用技术领域,特别是涉及一种标注点渲染方法、装置、计算机设备、存储介质和计算机程序产品。
背景技术:
2.在数字孪生应用技术领域中,可以通过将现实世界中实体地点的地理信息映射在虚拟空间中,并基于实体地点相对应的建筑物信息在虚拟空间中进行点位标注,从而形成能够反映相对应的实体地点的三维地图。
3.通常三维地图中记载的都是虚拟空间中的矢量信息,需要经过客户端渲染后才能向用户展示。然而,在点位标注数量过多的情况下,由于客户端需要对每一个点位标注进行单独渲染,会大大增加客户端的渲染时间,影响三维地图展示效率。
技术实现要素:
4.基于此,有必要针对上述技术问题,提供一种渲染效率高的标注点渲染方法、装置、计算机设备、计算机可读存储介质和计算机程序产品。
5.第一方面,本技术提供了一种标注点渲染方法。所述方法包括:
6.获取三维地图中与预设物理高度对应的数字孪生图层;
7.确定所述数字孪生图层对应的多个虚拟标注点以及每个所述虚拟标注点所在的虚拟映射位置;
8.根据预设聚合阈值以及每个所述虚拟标注点所在的虚拟映射位置对多个所述虚拟标注点进行聚类,得到多个点聚类集合;
9.对每个所述点聚类集合进行渲染,得到与所述数字孪生图层对应的标注点渲染结果。
10.在其中一个实施例中,所述对每个所述点聚类集合进行渲染,得到与所述数字孪生图层对应的标注点渲染结果,包括:
11.获取每个所述点聚类集合内的虚拟标注点的数量;
12.根据所述数量生成与每个所述点聚类集合对应的虚拟渲染矢量;
13.采用每个所述点聚类集合内的虚拟标注点的虚拟映射位置,生成与每个所述点聚类集合对应的目标映射位置;
14.在所述数字孪生图层中与每个所述点聚类集合对应的目标映射位置处,采用与每个所述点聚类集合对应的虚拟渲染矢量进行渲染,得到所述标注点渲染结果。
15.在其中一个实施例中,所述方法还包括:
16.响应于对所述标注点渲染结果的选择操作,确定被选中的目标聚类集合;
17.根据所述目标聚类集合内的每个所述虚拟标注点的虚拟映射位置,确定与所述目标聚类集合对应的显示范围;
18.获取所述显示范围内的数字孪生图像;
19.在所述数字孪生图像中按照所述虚拟映射位置对所述目标聚类集合内的每个所述虚拟标注点进行渲染,得到与所述目标聚类集合对应的集合渲染结果。
20.在其中一个实施例中,所述预设聚合阈值包括区域划分尺寸;所述根据预设聚合阈值以及每个所述虚拟标注点所在的虚拟映射位置对多个所述虚拟标注点进行聚类,得到多个点聚类集合,包括:
21.采用所述区域划分尺寸对每个所述虚拟标注点所在的虚拟映射位置进行判断,确定每个所述虚拟标注点所在的区域;
22.按照所述区域对多个所述虚拟标注点进行聚类,得到多个所述点聚类集合。
23.在其中一个实施例中,所述预设聚合阈值还包括聚合距离阈值;所述按照所述区域对多个所述虚拟标注点进行聚类,得到多个所述点聚类集合,包括:
24.根据同一区域内的多个所述虚拟标注点的虚拟映射位置,确定与每个所述区域对应的区域映射位置;
25.采用每个所述区域的区域映射位置,确定两两所述区域之间的距离;
26.响应于所述距离小于所述聚合距离阈值的结果,将所述距离对应的两两所述区域合并得到新的目标区域;
27.对同一目标区域内的多个所述虚拟标注点进行聚合,得到与每个所述目标区域对应的点聚类集合。
28.在其中一个实施例中,所述方法还包括:
29.响应于所述距离大于或等于所述聚合距离阈值的结果,按照所述虚拟标注点所在的区域对多个所述虚拟标注点进行聚类,得到与每个所述区域对应的点聚类集合。
30.在其中一个实施例中,所述方法还包括:
31.响应于对所述数字孪生图层的缩放操作,确定缩放后的数字孪生图层对应的物理区域范围;
32.采用所述物理区域范围从所述三维地图中确定出对应的数字孪生图像。
33.在其中一个实施例中,所述确定所述数字孪生图层对应的多个虚拟标注点以及每个所述虚拟标注点所在的虚拟映射位置,包括:
34.获取标注点筛选条件,采用所述标注点筛选条件对所述数字孪生图层中的矢量属性进行判断;
35.响应于所述矢量属性符合所述标注点筛选条件的结果,将所述矢量属性对应的矢量点作为所述虚拟标注点。
36.第二方面,本技术还提供了一种标注点渲染装置。所述装置包括:
37.图层获取模块,用于获取三维地图中与预设物理高度对应的数字孪生图层;
38.位置确定模块,用于确定所述数字孪生图层对应的多个虚拟标注点以及每个所述虚拟标注点所在的虚拟映射位置;
39.标注点聚类模块,用于根据预设聚合阈值以及每个所述虚拟标注点所在的虚拟映射位置对多个所述虚拟标注点进行聚类,得到多个点聚类集合;
40.聚类渲染模块,用于对每个所述点聚类集合进行渲染,得到与所述数字孪生图层对应的标注点渲染结果。
41.第三方面,本技术还提供了一种计算机设备。所述计算机设备包括存储器和处理
器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现上述第一方面任一项实施例所述的标注点渲染方法。
42.第四方面,本技术还提供了一种计算机可读存储介质。所述计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述第一方面任一项实施例所述的标注点渲染方法。
43.第五方面,本技术还提供了一种计算机程序产品。所述计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现上述第一方面任一项实施例所述的标注点渲染方法。
44.上述标注点渲染方法、装置、计算机设备、存储介质和计算机程序产品,通过获取三维地图中与预设物理高度对应的数字孪生图层,确定数字孪生图层对应的多个虚拟标注点以及每个虚拟标注点所在的虚拟映射位置,根据预设聚合阈值以及每个虚拟标注点所在的虚拟映射位置对多个虚拟标注点进行聚类,得到多个点聚类集合,对每个点聚类集合进行渲染,得到与数字孪生图层对应的标注点渲染结果,能够基于多个虚拟标注点聚类形成的点聚类集合实现在数字孪生场景下对三维地图的标注点聚合渲染,从而减少标注点渲染工作量,大幅提升标注点渲染效率。
附图说明
45.图1为一个实施例中标注点渲染方法的流程示意图;
46.图2为一个实施例中数字孪生图层的示意图;
47.图3为一个实施例中点聚类集合渲染步骤的流程示意图;
48.图4为一个实施例中标注点渲染结果的示意图;
49.图5为一个实施例中目标聚类集合渲染步骤的流程示意图;
50.图6为一个实施例中区域划分的示意图;
51.图7为一个实施例中虚拟标注点所在区域确定步骤的示意图;
52.图8为一个实施例中虚拟标注点聚类步骤的示意图;
53.图9为一个实施例中虚拟标注点聚类步骤的流程示意图;
54.图10为一个实施例中目标区域合并步骤的示意图;
55.图11为一个实施例中点聚类集合的示意图;
56.图12为一个实施例中数字孪生图层的示意图;
57.图13为一个实施例中数字孪生图像的示意图;
58.图14为另一个实施例中标注点渲染方法的流程示意图;
59.图15为一个实施例中标注点渲染结果的示意图;
60.图16为另一个实施例中标注点渲染结果的示意图;
61.图17为一个实施例中标注点渲染装置的结构框图;
62.图18为一个实施例中计算机设备的内部结构图。
具体实施方式
63.为了使本技术的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本技术进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本技术,并不
用于限定本技术。
64.需要说明的是,本技术所涉及的用户信息(包括但不限于用户设备信息、用户个人信息等)和数据(包括但不限于用于分析的数据、存储的数据、展示的数据等),均为经用户授权或者经过各方充分授权的信息和数据。
65.在一个实施例中,如图1所示,提供了一种标注点渲染方法,本实施例以该方法应用于终端进行举例说明,可以理解的是,该方法也可以应用于服务器,还可以应用于包括终端和服务器的系统,并通过终端和服务器的交互实现。其中,终端可以但不限于是各种个人计算机、笔记本电脑、智能手机、平板电脑、物联网设备和便携式可穿戴设备,物联网设备可为智能电视、智能车载设备等。便携式可穿戴设备可为智能手表、智能手环、头戴设备等。服务器可以用独立的服务器或者是多个服务器组成的服务器集群来实现。
66.本实施例中,该方法包括以下步骤:
67.步骤s102,获取三维地图中与预设物理高度对应的数字孪生图层。
68.其中,三维地图可以是与现实世界中的实景图像对应的数字孪生模型。
69.预设物理高度可以用于表征现实世界中的高度。
70.具体地,终端中可以预先存储有三维地图。响应于针对三维地图的标注点渲染指令,可以获取用户输入的预设物理高度或者获取基于当前客户端的页面显示范围确定的预设物理高度。
71.获取三维地图中的模型高度与现实世界中的物理高度之间的映射关系,采用映射关系对预设物理高度进行转换处理,从而得到与预设物理高度对应的目标模型高度。获取三维模型中目标模型高度处的图层,将该图层作为与预设物理高度对应的数字孪生图层。
72.步骤s104,确定数字孪生图层对应的多个虚拟标注点以及每个虚拟标注点所在的虚拟映射位置。
73.其中,虚拟标注点(point of interest,简称poi)可以用于在三维地图中映射现实世界中的实体对象(可以但不仅限于一栋房子、一个商铺、一个邮筒或一个公交站等对象中的任一种或多种)。一个示例中,如图2所示,提供了一种采用虚拟标注点来映射现实世界中的普通监控设备的数字孪生图层示意图。
74.具体地,终端可以获取数字孪生图层中存储的矢量属性。根据矢量属性,终端可以从数字孪生图层中确定出对应的多个虚拟标注点,譬如在矢量属性中携带标注标识的情况下,将对应的矢量点作为虚拟标注点;或者,也可以根据矢量属性中的名称、类别、坐标、分类等信息进行筛选,将符合筛选条件的矢量点作为虚拟标注点。可以根据虚拟标注点的矢量标识从数字孪生图层中读取得到与每个虚拟标注点对应的虚拟映射位置。
75.步骤s106,根据预设聚合阈值以及每个虚拟标注点所在的虚拟映射位置对多个虚拟标注点进行聚类,得到多个点聚类集合。
76.其中,预设聚合阈值可以用于定义虚拟标注点聚合的条件,譬如聚合距离条件、聚合区域条件、聚合数量条件等。
77.具体地,终端中可以预先存储有预设聚合阈值,或者,也可以从客户端获取用户输入的预设聚合阈值。终端可以采用预设聚合阈值对每个虚拟标注点所在的虚拟映射位置进行聚类判断。
78.譬如在预设聚合阈值与聚合距离条件对应的情况下,可以根据每个虚拟标注点所
在的虚拟映射位置确定出两两虚拟标注点之间的距离,从而采用预设聚合阈值对两两虚拟标注点之间的距离进行聚类判断。
79.或者,在预设聚合阈值与聚合区域条件对应的情况下,可以根据每个虚拟标注点所在的虚拟映射位置确定出每个虚拟标注点所在的区域,从而采用预设聚合阈值对每个虚拟标注点所在的区域进行聚类判断。
80.或者,在预设聚合阈值与聚合数量条件对应的情况下,可以根据每个虚拟标注点所在的虚拟映射位置确定出在每个虚拟标注点预设距离范围内的标注点数量,从而采用预设聚合阈值对标注点数量进行聚类判断。
81.响应于聚类判断通过的结果,可以对相应的多个虚拟标注点进行聚类,从而得到聚类后的多个点聚类集合。
82.步骤s108,对每个点聚类集合进行渲染,得到与数字孪生图层对应的标注点渲染结果。
83.具体地,终端可以对每个点聚类集合执行以下处理:
84.可以比较点聚类集合内的多个虚拟标注点的虚拟映射位置,从而确定出与点聚类集合对应的四至坐标位置,将四至坐标位置对应的区域范围或四至坐标位置中的任一个作为点聚类集合对应的目标映射位置。或者,也可以对点聚类集合内的多个虚拟标注点的虚拟映射位置进行计算,确定出相应的质心位置、中心位置、内心位置、外心位置等地理位置中的任一种或多种,从而将任一种或多种地理位置作为点聚类集合对应的目标映射位置。
85.终端可以在数字孪生图层中与每个点聚类集合对应的目标映射位置处,采用用户选取的聚合渲染样式(譬如渲染图标、渲染颜色、渲染特效等样式中的任一种或多种)或者采用预先存储的默认渲染样式进行渲染,从而得到与数字孪生图层对应的标注点渲染结果。
86.上述标注点渲染方法,通过获取三维地图中与预设物理高度对应的数字孪生图层,确定数字孪生图层对应的多个虚拟标注点以及每个虚拟标注点所在的虚拟映射位置,根据预设聚合阈值以及每个虚拟标注点所在的虚拟映射位置对多个虚拟标注点进行聚类,得到多个点聚类集合,对每个点聚类集合进行渲染,得到与数字孪生图层对应的标注点渲染结果,能够基于多个虚拟标注点聚类形成的点聚类集合实现在数字孪生场景下对三维地图的标注点聚合渲染,从而减少标注点渲染工作量,大幅提升标注点渲染效率。
87.在一个实施例中,如图3所示,步骤s108,对每个点聚类集合进行渲染,得到与数字孪生图层对应的标注点渲染结果,包括:
88.步骤s302,获取每个点聚类集合内的虚拟标注点的数量。
89.步骤s304,根据数量生成与每个点聚类集合对应的虚拟渲染矢量。
90.其中,虚拟渲染矢量可以用于表征用于渲染的矢量图标。
91.具体地,终端可以获取每个点聚类集合内的虚拟标注点的数量。采用与数量对应的渲染样式,生成与每个点聚类集合对应的虚拟渲染矢量。
92.譬如在数量大于三百的情况下,可以采用对应的渲染样式生成与点聚类集合对应的红色的虚拟渲染矢量。
93.或者,在数量小于一百的情况下,可以采用对应的渲染样式生成与点聚类集合对应的三角形的虚拟渲染矢量。
94.或者,还可以采用对应的渲染样式直接将数量作为图标显示内容添加至图标中,从而得到与点聚类集合相应的虚拟渲染矢量。
95.步骤s306,采用每个点聚类集合内的虚拟标注点的虚拟映射位置,生成与每个点聚类集合对应的目标映射位置。
96.具体地,终端可以采用每个点聚类集合内的虚拟标注点的虚拟映射位置,确定出与每个点聚类集合对应的四至坐标位置、质心位置、中心位置、内心位置、外心位置等地理位置中的任一种(可以参照具体实施场景灵活选取),从而将确定出的位置作为与每个点聚类集合对应的目标映射位置。
97.步骤s308,在数字孪生图层中与每个点聚类集合对应的目标映射位置处,采用与每个点聚类集合对应的虚拟渲染矢量进行渲染,得到标注点渲染结果。
98.具体地,终端可以在数字孪生图层中与每个点聚类集合对应的目标映射位置处,采用与每个点聚类集合对应的虚拟渲染矢量进行渲染,从而得到标注点渲染结果。一个示例中,如图4所示,提供了一种标注点渲染结果的示意图。其中,虚拟渲染矢量对应的渲染样式可以为将点聚类集合对应的数量直接添加在圆形图标中,并通过箭头形状的图标标记对应的目标映射位置的样式。
99.将图4和图2对比来看,可以直观地看出采用本技术实施例中提供的标注点渲染方法,不仅能够减少渲染工作量,提高标注点渲染效率,还能够避免多个标注点之间的渲染结果重叠,从而更加清晰地示出相应的点位标注信息。
100.本实施例中,通过利用点聚类集合内的虚拟标注点的数量生成相应的虚拟渲染矢量,采用点聚类集合内的虚拟标注点的虚拟映射位置生成目标映射位置,在目标映射位置处采用虚拟渲染矢量进行渲染得到相应的标注点渲染结果,不仅能够实现在三维地图中的标注点聚合渲染,还能够利用基于数量生成的虚拟渲染矢量从可视化的角度直观地示出虚拟标注点的聚合情况,从而便于用户快速获取点聚类集合的信息。
101.在一个实施例中,如图5所示,本技术提供的标注点渲染方法还可以包括:
102.步骤s502,响应于对标注点渲染结果的选择操作,确定被选中的目标聚类集合。
103.步骤s504,根据目标聚类集合内的每个虚拟标注点的虚拟映射位置,确定与目标聚类集合对应的显示范围。
104.其中,显示范围可以用于表征目标聚类集合内的虚拟标注点的坐标范围。
105.具体地,终端可以响应于用户对标注点渲染结果的选择操作,从多个点聚类集合中确定出当前被选中的目标聚类集合。比较目标聚类集合内每个虚拟标注点的虚拟映射位置,从而确定出与目标聚类集合对应的边界位置。根据边界位置确定与目标聚类集合对应的显示范围。
106.步骤s506,获取显示范围内的数字孪生图像。
107.步骤s508,在数字孪生图像中按照虚拟映射位置对目标聚类集合内的每个虚拟标注点进行渲染,得到与目标聚类集合对应的集合渲染结果。
108.具体地,终端可以从数字孪生图层中获取显示范围内的数字孪生图像。一个示例中,数字孪生图像可以为显示有目标聚类集合内所有虚拟标注点的最小图像。在数字孪生图像中,按照目标聚类集合内每个虚拟标注点所在的虚拟映射位置,对目标聚类集合内的每个虚拟标注点进行渲染,从而得到与目标聚类集合对应的集合渲染结果。
109.本实施例中,通过响应于对标注点渲染结果的选择操作,确定被选中的目标聚类集合,根据目标聚类集合内的虚拟标注点的虚拟映射位置,确定与目标聚类集合对应的显示范围,在显示范围内的数字孪生图像中按照虚拟映射位置对目标聚类集合中的每个虚拟标注点进行渲染得到与目标聚类集合对应的集合渲染结果,能够实现对目标聚类集合的释放,从而提高渲染的灵活性。
110.在一个实施例中,预设聚合阈值可以包括区域划分尺寸。
111.步骤s106,根据预设聚合阈值以及每个虚拟标注点所在的虚拟映射位置对多个虚拟标注点进行聚类,得到多个点聚类集合,包括:采用区域划分尺寸对每个虚拟标注点所在的虚拟映射位置进行判断,确定每个虚拟标注点所在的区域,按照区域对多个虚拟标注点进行聚类,得到多个点聚类集合。
112.其中,区域划分尺寸可以用于表征区域划分长度以及区域划分宽度,可以为具体的高度数值或宽度数值,或者,也可以为网格的行列数目。
113.具体地,终端可以以数字孪生图层的左下角为原点,采用区域划分尺寸将数字孪生图层划分为面积相等的多个区域。一个示例中,终端为便于后续在客户端执行相应的渲染操作,可以将数字孪生图层映射在客户端的显示界面中进行处理。如图6所示,以显示界面的左下角为原点建立坐标系。采用区域划分尺寸(m,n)构建与显示界面对应的网格,将显示界面的宽度w划分为n列,将显示界面的高度h划分为m行,从而得到宽度为w=w/n、高度为h=h/m的m*n个区域。为便于区分每个区域,可以按照坐标轴的方向对每个区域依次编号,与横轴对应的编号为列号(当横轴上标记的编号为(1,0)时,则说明为第一列;当横轴上标记的编号为(n,0)时,则说明为第n列),与纵轴对应的编号为行号(当纵轴上标记的编号为(0,1)时,则说明为第一行;当纵轴上标记的编号为(0,m)时,则说明为第m行)。也即,此时,原点(0,0)位于第0行第0列,网格点(j*w,i*h)位于第i行第j列。
114.如图7所示,终端可以计算每个虚拟标注点的虚拟映射位置与原点之间的距离。采用区域划分尺寸对应的网格高度和网格宽度,对每个虚拟标注点和原点之间的距离进行判断,确定出与每个虚拟标注点匹配的行列号。从而利用行列号确定出每个虚拟标注点所在的区域。如图8所示,按照区域对多个虚拟标注点进行聚类,得到多个点聚类集合。
115.一个示例中,可以采用以下公式确定与虚拟标注点匹配的行列号:
116.i=(y1-y0)/h
117.j=(x1-x0)/w
118.其中,i为行序号。j为列序号(当i或j的计算值不是整数时,可以采用向上取整的方式进行估算)。(x1,y1)为虚拟标注点对应的虚拟映射位置。(x0,y0)为原点的坐标位置。h为网格高度,w为网格宽度。
119.一个示例中,终端可以依次遍历数字孪生图层上的每个虚拟标注点,确定每个虚拟标注点对应的行列号。将行列号与数组的元素地址对应,从而将每个区域对应的虚拟标注点的信息,譬如区域内的每个虚拟标注点的虚拟映射位置以及虚拟标注点的数量,存储至数组arr[i]中对应的元素集合内。譬如可以将第i行第j列的区域内的虚拟标注点的信息存储至数组的第i*j个元素集合中。其中,数组arr[i]可以为一维数组,数组arr[i]的长度为m*n。
[0120]
本实施例中,通过采用区域划分尺寸将数字孪生图层划分为多个区域,采用区域
划分尺寸对每个虚拟标注点的虚拟映射位置进行判断,确定出与每个虚拟标注点匹配的行列号,从而确定每个虚拟标注点所在的区域,按照区域对虚拟标注点进行聚类,能够大幅提升聚类效率。
[0121]
在一个实施例中,预设聚合阈值还可以包括聚合距离阈值。如图9所示,提供了一种虚拟标注点聚类步骤的流程示意图,包括:
[0122]
步骤s902,根据同一区域内的多个虚拟标注点的虚拟映射位置,确定与每个区域对应的区域映射位置。
[0123]
具体地,终端可以对同一区域内的每个虚拟标注点的虚拟映射位置进行运算处理,求取同一区域内的多个虚拟标注点的质心位置、重心位置或边界位置,将求取得到的值作为与每个区域对应的区域映射位置。优选地,可以参照以下公式获取同一区域内的虚拟标注点的质心位置,将质心位置作为区域映射位置:
[0124]
x=(x1+x2+...+xn)/n
[0125]
y=(y1+y2+...+yn)/n
[0126]
其中,(x,y)可以用于表征质心位置。(x1,y1)、(x2,y2)、(xn,yn)为同一区域内的每个虚拟标注点的虚拟映射位置。n为同一区域内的虚拟标注点的数量。
[0127]
步骤s904,采用每个区域的区域映射位置,确定两两区域之间的距离。
[0128]
具体地,终端可以对每个区域的区域映射位置进行计算,从而确定出两两区域之间的距离。一个示例中,在终端采用一维数组存储每个区域内的虚拟标注点的信息时,可以从一维数组中第一个不为零的元素集合开始,依次计算每个元素集合对应的区域映射位置之间的距离,从而确定两两区域之间的距离。
[0129]
一个示例中,可以参照以下公式计算两两区域之间的距离:
[0130]
s=√(x1-x2)^2+(y1-y2)^2
[0131]
其中,s可以用于表征两两区域之间的距离,(x1,y1)和(x2,y2)是两个区域的区域映射位置。
[0132]
终端可以将两两区域之间的距离与聚合距离阈值进行比较。在确定两两区域之间的距离小于聚合距离阈值的情况下,可以执行步骤s906~s908。在确定两两区域之间的距离大于或等于聚合距离阈值的情况下,可以执行步骤s910。
[0133]
步骤s906,响应于距离小于聚合距离阈值的结果,将距离对应的两两区域合并得到新的目标区域。
[0134]
步骤s908,对同一目标区域内的多个虚拟标注点进行聚合,得到与每个目标区域对应的点聚类集合。
[0135]
具体地,如图10所示,终端可以响应于当前比较的两两区域之间的距离小于聚合距离阈值的结果,将当前比较的距离对应的两两区域合并得到新的目标区域。此时,与目标区域对应的虚拟标注点为两两区域内的所有虚拟标注点。
[0136]
对同一目标区域内的多个虚拟标注点进行聚合,参照上述实施例中提供的区域映射位置的确定算法对同一目标区域内的多个虚拟标注点的虚拟映射位置进行运算处理,从而得到与同一目标区域对应的目标区域映射位置。如图11所示,在目标区域映射位置处展示与每个目标区域对应的点聚类集合。
[0137]
步骤s910,响应于距离大于或等于聚合距离阈值的结果,按照虚拟标注点所在的
区域对多个虚拟标注点进行聚类,得到与每个区域对应的点聚类集合。
[0138]
具体地,终端也可以响应于距离大于或等于聚合距离阈值的结果。直接按照每个虚拟标注点所在的区域,对同一区域内的所有虚拟标注点进行聚类,在每个区域对应的区域映射位置处展示与每个区域对应的点聚类集合。
[0139]
本实施例中,通过获取区域映射位置确定两两区域之间的距离,将两两区域之间的距离和聚合距离阈值进行比较,从而对虚拟标注点进行聚类,能够进一步提高聚类精度,减少虚拟标注点的渲染工作量。
[0140]
在一个实施例中,本技术提供的标注点渲染方法,还可以包括:响应于对数字孪生图层的缩放操作,确定缩放后的数字孪生图层对应的物理区域范围,采用物理区域范围从三维地图中确定出对应的数字孪生图像。
[0141]
其中,物理区域范围可以用于表征数字孪生图层映射的现实世界中实体对应所在的地理区域范围。
[0142]
具体地,如图12所示,终端可以通过客户端的显示界面向用户展示数字孪生图层的标注点渲染结果。响应于用户触发的对数字孪生图层的缩放操作,譬如用户通过滑动鼠标滚轮而触发的缩放操作,或者通过输入缩放倍速而触发的缩放操作,通过点击数字孪生图层上特定区域而触发的缩放操作等。获取与缩放操作对应缩放倍速。采用缩放倍速和缩放前的数字孪生图层对应的物理区域范围计算得到缩放后的数字孪生图层对应的物理区域范围。
[0143]
如图13所示,终端可以按照三维地图和现实世界之间的位置映射关系,将缩放后的数字孪生图层对应的物理区域范围转换为三维地图中的模型区域范围,进而利用模型区域范围从三维地图中获取与缩放后的数字孪生图层对应的数字孪生图像。
[0144]
一个示例中,当终端确定与缩放操作对应的缩放倍数为最大值时,终端可以直接按照数字孪生图像中每个虚拟标注点的虚拟映射位置进行渲染得到与数字孪生图像对应的标注点渲染结果。此时,在数字孪生图像中虽然没有对虚拟标注点进行聚类,但是此时缩放倍数达到最大值的数字孪生图像中一般不会超过两百个虚拟标注点,即使客户端对数字孪生图像中的每个虚拟标注点逐一渲染加载也不会造成较大的性能损耗。保障了在展示范围内所有虚拟标注点的同时,还兼顾了对数字孪生图像的操作流畅性。
[0145]
另一个示例中,终端也可以参照上述实施例中提供的虚拟标注点的聚类方法对数字孪生图像中的虚拟标注点进行聚类处理,从而得到与数字孪生图像对应的标注点聚类结果。
[0146]
本实施例中,通过响应于对数字孪生图层的缩放操作,确定缩放后的数字孪生图层对应的物理区域范围,采用物理区域范围从三维地图中确定出对应的数字孪生图像,能够提高标注点渲染方法的灵活性。
[0147]
在一个实施例中,步骤s104,确定数字孪生图层对应的多个虚拟标注点以及每个虚拟标注点所在的虚拟映射位置,包括:获取标注点筛选条件,采用标注点筛选条件对数字孪生图层中的矢量属性进行判断,响应于矢量属性符合标注点筛选条件的结果,将矢量属性对应的矢量点作为虚拟标注点。
[0148]
其中,矢量属性可以包括但不仅限于名称、类别、坐标、分类等信息中的任一种或多种。
[0149]
具体地,终端可以获取用户输入的标注点筛选条件,或者终端也可以从本地数据库中获取预先配置的标注点筛选条件。获取数字孪生图层中存储的矢量点对应的矢量属性。采用标注点筛选条件对每个矢量点的矢量属性进行判断。譬如,在标注点筛选条件中包含普通监控设备类别的情况下,可以将普通监控设备类别与矢量属性进行字段匹配,从而确定出矢量属性是否符合标注点筛选条件。
[0150]
终端可以响应于矢量属性符合标注点筛选条件的结果,将当前判断的矢量属性对应的矢量点作为虚拟标注点。一个示例中,标注点筛选条件还可以包括数字孪生图层对应的模型高度。
[0151]
本实施例中,通过采用标注点筛选条件对数字孪生图层中矢量点的矢量属性进行判断,从而确定出需要聚合的虚拟标注点,能够进一步提高标注点渲染方法的灵活性,满足用户个性化的需求。
[0152]
在一个实施例中,如图14所示,提供了一种标注点渲染方法的流程示意图,包括:
[0153]
步骤s1402,获取三维地图中与预设物理高度对应的数字孪生图层,采用标注点筛选条件确定出与数字孪生图层对应的虚拟标注点。
[0154]
具体地,终端可以获取与当前客户端的显示界面对应的预设物理高度。获取三维地图中与预设物理高度对应的数字孪生图层。获取数字孪生图层内存储的矢量点的矢量属性。采用标注点筛选条件对矢量属性进行判断,从而确定出与数字孪生图层对应的虚拟标注点。
[0155]
步骤s1404,采用区域划分尺寸确定虚拟标注点所在的区域,根据同一区域内的多个虚拟标注点的虚拟映射位置,确定与每个区域对应的区域映射位置。
[0156]
具体地,终端可以采用区域划分尺寸(譬如网格长度或者网格数量)将客户端的显示界面划分为若干个区域。采用每个虚拟标注点的虚拟映射位置确定出与原点之间的距离,从而基于虚拟标注点与原点之间的距离与区域划分尺寸之间的数量关系,确定出虚拟标注点所在的区域。采用虚拟映射位置确定出同一区域内的多个虚拟标注点的质心位置,将每个区域的质心位置作为与每个区域对应的区域映射位置。
[0157]
步骤s1406,采用每个区域的区域映射位置,确定两两区域之间的距离。
[0158]
步骤s1408,响应于距离小于聚合距离阈值的结果,将距离对应的两两区域合并得到新的目标区域,得到与每个目标区域对应的点聚类集合。
[0159]
步骤s1410,响应于距离大于或等于聚合距离阈值的结果,得到与每个区域对应的点聚类集合。
[0160]
具体地,终端可以采用每个区域的区域映射位置,确定两两区域之间的距离。在两两区域之间的距离小于聚合距离阈值的情况下,响应于距离小于聚合距离阈值的结果,将距离对应的两两区域合并得到新的目标区域。按照目标区域对多个虚拟标注点进行聚类得到与每个目标区域对应的点聚类集合。
[0161]
在两两区域之间的距离大于或等于聚合距离阈值的情况下,响应于距离大于或等于聚合距离阈值的结果,按照区域对虚拟标注点进行聚类,得到与每个区域对应的点聚类集合。
[0162]
一个示例中,区域划分尺寸以及聚合距离阈值可以根据用户操作灵活调整。
[0163]
步骤s1412,根据每个点聚类集合内的虚拟标注点的数量以及对应的目标映射位
置进行渲染,得到标注点渲染结果。
[0164]
具体地,终端可以获取每个点聚类集合内的虚拟标注点的数量,按照数量生成与每个点聚类集合对应的虚拟渲染矢量。将每个点聚类集合内的虚拟标注点的质心位置作为与每个点聚类集合对应的目标映射位置,从而采用虚拟渲染矢量和目标映射位置对数字孪生图层中的虚拟标注点进行渲染,可以得到具有标注点聚合效果的标注点渲染结果。
[0165]
一个示例中,如图15所示,提供了一种在区域划分尺寸为l1,聚合距离阈值为k1的情况下得到的数字孪生图层的标注点渲染结果。另一个示例中,如图16所示,提供了一种在区域划分尺寸为l2(l2《l1),聚合距离阈值为k2(k2》k1)的情况下得到的同一数字孪生图层的标注点渲染结果。
[0166]
将图15与图16进行比对,由于图16缩小了区域划分尺寸,使得划分的区域数量增加,可以看出图16中的虚拟标注点聚合效果比图15更密集。
[0167]
本实施例中,通过采用标注点筛选条件对矢量点的矢量属性进行判断,能够实现对虚拟标注点的数据源筛选,通过采用区域划分尺寸和虚拟映射位置确定虚拟标注点所在的区域,利用同一区域内的虚拟标注点的质心位置确定两两区域之间的距离,进而对虚拟标注点按照单个区域或者两个区域合并得到的目标区域进行聚类,形成多个点聚类结果,能够提高对虚拟标注点的聚合精度,通过对点聚类结果进行渲染得到标注点渲染结果,能够降低渲染工作量,从而降低标注点渲染时间,提高标注点渲染方法的效率。
[0168]
应该理解的是,虽然如上所述的各实施例所涉及的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其他的顺序执行。而且,如上所述的各实施例所涉及的流程图中的至少一部分步骤可以包括多个步骤或者多个阶段,这些步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其他步骤或者其他步骤中的步骤或者阶段的至少一部分轮流或者交替地执行。
[0169]
基于同样的发明构思,本技术实施例还提供了一种用于实现上述所涉及的标注点渲染方法的标注点渲染装置。该装置所提供的解决问题的实现方案与上述方法中所记载的实现方案相似,故下面所提供的一个或多个标注点渲染装置实施例中的具体限定可以参见上文中对于标注点渲染方法的限定,在此不再赘述。
[0170]
在一个实施例中,如图17所示,提供了一种标注点渲染装置1700,包括:图层获取模块1702、位置确定模块1704、标注点聚类模块1706和聚类渲染模块1708,其中:
[0171]
图层获取模块1702,用于获取三维地图中与预设物理高度对应的数字孪生图层。
[0172]
位置确定模块1704,用于确定数字孪生图层对应的多个虚拟标注点以及每个虚拟标注点所在的虚拟映射位置。
[0173]
标注点聚类模块1706,用于根据预设聚合阈值以及每个虚拟标注点所在的虚拟映射位置对多个虚拟标注点进行聚类,得到多个点聚类集合。
[0174]
聚类渲染模块1708,用于对每个点聚类集合进行渲染,得到与数字孪生图层对应的标注点渲染结果。
[0175]
在一个实施例中,聚类渲染模块1708包括数量获取单元,用于获取每个点聚类集合内的虚拟标注点的数量;矢量生成单元,用于根据数量生成与每个点聚类集合对应的虚
拟渲染矢量;位置生成单元,用于采用每个点聚类集合内的虚拟标注点的虚拟映射位置,生成与每个点聚类集合对应的目标映射位置;矢量渲染单元,用于在数字孪生图层中与每个点聚类集合对应的目标映射位置处,采用与每个点聚类集合对应的虚拟渲染矢量进行渲染,得到标注点渲染结果。
[0176]
在一个实施例中,标注点渲染装置1700还包括:集合选择模块,用于响应于对标注点渲染结果的选择操作,确定被选中的目标聚类集合;范围确定模块,用于根据目标聚类集合内的每个虚拟标注点的虚拟映射位置,确定与目标聚类集合对应的显示范围;图层获取模块,用于获取显示范围内的数字孪生图像;集合渲染模块,用于在数字孪生图像中按照虚拟映射位置对目标聚类集合内的每个虚拟标注点进行渲染,得到与目标聚类集合对应的集合渲染结果。
[0177]
在一个实施例中,预设聚合阈值包括区域划分尺寸。
[0178]
标注点聚类模块1706,包括:区域划分单元,用于采用区域划分尺寸对每个虚拟标注点所在的虚拟映射位置进行判断,确定每个虚拟标注点所在的区域;区域聚类单元,用于按照区域对多个虚拟标注点进行聚类,得到多个点聚类集合
[0179]
在一个实施例中,预设聚合阈值还包括聚合距离阈值。区域聚类单元,包括:位置确定子单元,用于根据同一区域内的多个虚拟标注点的虚拟映射位置,确定与每个区域对应的区域映射位置;距离确定子单元,用于采用每个区域的区域映射位置,确定两两区域之间的距离;区域聚类单元,用于响应于距离小于聚合距离阈值的结果,将距离对应的两两区域合并得到新的目标区域,对同一目标区域内的多个虚拟标注点进行聚合,得到与每个目标区域对应的点聚类集合。
[0180]
在一个实施例中,区域聚类单元,还用于响应于距离大于或等于聚合距离阈值的结果,按照虚拟标注点所在的区域对多个虚拟标注点进行聚类,得到与每个区域对应的点聚类集合。
[0181]
在一个实施例中,标注点渲染装置1700还包括:图层缩放模块,用于响应于对数字孪生图层的缩放操作,确定缩放后的数字孪生图层对应的物理区域范围,采用物理区域范围从三维地图中确定出对应的数字孪生图像。
[0182]
在一个实施例中,位置确定模块1704,还用于获取标注点筛选条件,采用标注点筛选条件对数字孪生图层中的矢量属性进行判断,响应于矢量属性符合标注点筛选条件的结果,将矢量属性对应的矢量点作为虚拟标注点。
[0183]
上述标注点渲染装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
[0184]
在一个实施例中,提供了一种计算机设备,该计算机设备可以是终端,其内部结构图可以如图18所示。该计算机设备包括通过系统总线连接的处理器、存储器、通信接口、显示屏和输入装置。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统和计算机程序。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的通信接口用于与外部的终端进行有线或无线方式的通信,无线方式可通过wifi、移动蜂窝网络、nfc(近场通信)或其他技术实现。该计算机程序被处理器执行时以实
现一种标注点渲染方法。该计算机设备的显示屏可以是液晶显示屏或者电子墨水显示屏,该计算机设备的输入装置可以是显示屏上覆盖的触摸层,也可以是计算机设备外壳上设置的按键、轨迹球或触控板,还可以是外接的键盘、触控板或鼠标等。
[0185]
本领域技术人员可以理解,图18中示出的结构,仅仅是与本技术方案相关的部分结构的框图,并不构成对本技术方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
[0186]
在一个实施例中,还提供了一种计算机设备,包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现上述各方法实施例中的步骤。
[0187]
在一个实施例中,还提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现上述各方法实施例中的步骤。
[0188]
在一个实施例中,提供了一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现上述各方法实施例中的步骤。
[0189]
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可以存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本技术所提供的各实施例中所使用的对存储器、数据库或其他介质的任何引用,均可包括非易失性和易失性存储器中的至少一种。非易失性存储器可包括只读存储器(read-only memory,rom)、磁带、软盘、闪存、光存储器、高密度嵌入式非易失性存储器、阻变存储器(reram)、磁变存储器(magnetoresistive random access memory,mram)、铁电存储器(ferroelectric random access memory,fram)、相变存储器(phase change memory,pcm)、石墨烯存储器等。易失性存储器可包括随机存取存储器(random access memory,ram)或外部高速缓冲存储器等。作为说明而非局限,ram可以是多种形式,比如静态随机存取存储器(static random access memory,sram)或动态随机存取存储器(dynamic random access memory,dram)等。本技术所提供的各实施例中所涉及的数据库可包括关系型数据库和非关系型数据库中至少一种。非关系型数据库可包括基于区块链的分布式数据库等,不限于此。本技术所提供的各实施例中所涉及的处理器可为通用处理器、中央处理器、图形处理器、数字信号处理器、可编程逻辑器、基于量子计算的数据处理逻辑器等,不限于此。
[0190]
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
[0191]
以上所述实施例仅表达了本技术的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本技术专利范围的限制。对于本领域的普通技术人员来说,在不脱离本技术构思的前提下,还可以作出若干变形和改进,这些都属于本技术的保护范围。因此,本技术的保护范围应以所附权利要求为准。
技术特征:
1.一种标注点渲染方法,其特征在于,所述方法包括:获取三维地图中与预设物理高度对应的数字孪生图层;确定所述数字孪生图层对应的多个虚拟标注点以及每个所述虚拟标注点所在的虚拟映射位置;根据预设聚合阈值以及每个所述虚拟标注点所在的虚拟映射位置对多个所述虚拟标注点进行聚类,得到多个点聚类集合;对每个所述点聚类集合进行渲染,得到与所述数字孪生图层对应的标注点渲染结果。2.根据权利要求1所述的方法,其特征在于,所述对每个所述点聚类集合进行渲染,得到与所述数字孪生图层对应的标注点渲染结果,包括:获取每个所述点聚类集合内的虚拟标注点的数量;根据所述数量生成与每个所述点聚类集合对应的虚拟渲染矢量;采用每个所述点聚类集合内的虚拟标注点的虚拟映射位置,生成与每个所述点聚类集合对应的目标映射位置;在所述数字孪生图层中与每个所述点聚类集合对应的目标映射位置处,采用与每个所述点聚类集合对应的虚拟渲染矢量进行渲染,得到所述标注点渲染结果。3.根据权利要求1所述的方法,其特征在于,所述方法还包括:响应于对所述标注点渲染结果的选择操作,确定被选中的目标聚类集合;根据所述目标聚类集合内的每个所述虚拟标注点的虚拟映射位置,确定与所述目标聚类集合对应的显示范围;获取所述显示范围内的数字孪生图像;在所述数字孪生图像中按照所述虚拟映射位置对所述目标聚类集合内的每个所述虚拟标注点进行渲染,得到与所述目标聚类集合对应的集合渲染结果。4.根据权利要求1所述的方法,其特征在于,所述预设聚合阈值包括区域划分尺寸;所述根据预设聚合阈值以及每个所述虚拟标注点所在的虚拟映射位置对多个所述虚拟标注点进行聚类,得到多个点聚类集合,包括:采用所述区域划分尺寸对每个所述虚拟标注点所在的虚拟映射位置进行判断,确定每个所述虚拟标注点所在的区域;按照所述区域对多个所述虚拟标注点进行聚类,得到多个所述点聚类集合。5.根据权利要求4所述的方法,其特征在于,所述预设聚合阈值还包括聚合距离阈值;所述按照所述区域对多个所述虚拟标注点进行聚类,得到多个所述点聚类集合,包括:根据同一区域内的多个所述虚拟标注点的虚拟映射位置,确定与每个所述区域对应的区域映射位置;采用每个所述区域的区域映射位置,确定两两所述区域之间的距离;响应于所述距离小于所述聚合距离阈值的结果,将所述距离对应的两两所述区域合并得到新的目标区域;对同一目标区域内的多个所述虚拟标注点进行聚合,得到与每个所述目标区域对应的点聚类集合。6.根据权利要求5所述的方法,其特征在于,所述方法还包括:响应于所述距离大于或等于所述聚合距离阈值的结果,按照所述虚拟标注点所在的区
域对多个所述虚拟标注点进行聚类,得到与每个所述区域对应的点聚类集合。7.根据权利要求1~6中任一项所述的方法,其特征在于,所述方法还包括:响应于对所述数字孪生图层的缩放操作,确定缩放后的数字孪生图层对应的物理区域范围;采用所述物理区域范围从所述三维地图中确定出对应的数字孪生图像。8.根据权利要求1~6中任一项所述的方法,其特征在于,所述确定所述数字孪生图层对应的多个虚拟标注点以及每个所述虚拟标注点所在的虚拟映射位置,包括:获取标注点筛选条件,采用所述标注点筛选条件对所述数字孪生图层中的矢量属性进行判断;响应于所述矢量属性符合所述标注点筛选条件的结果,将所述矢量属性对应的矢量点作为所述虚拟标注点。9.一种标注点渲染装置,其特征在于,所述装置包括:图层获取模块,用于获取三维地图中与预设物理高度对应的数字孪生图层;位置确定模块,用于确定所述数字孪生图层对应的多个虚拟标注点以及每个所述虚拟标注点所在的虚拟映射位置;标注点聚类模块,用于根据预设聚合阈值以及每个所述虚拟标注点所在的虚拟映射位置对多个所述虚拟标注点进行聚类,得到多个点聚类集合;聚类渲染模块,用于对每个所述点聚类集合进行渲染,得到与所述数字孪生图层对应的标注点渲染结果。10.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至8中任一项所述的方法的步骤。11.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至8中任一项所述的方法的步骤。12.一种计算机程序产品,包括计算机程序,其特征在于,该计算机程序被处理器执行时实现权利要求1至8中任一项所述的方法的步骤。
技术总结
本申请涉及一种标注点渲染方法、装置、计算机设备、存储介质和计算机程序产品。所述方法包括:获取三维地图中与预设物理高度对应的数字孪生图层;确定所述数字孪生图层对应的多个虚拟标注点以及每个所述虚拟标注点所在的虚拟映射位置;根据预设聚合阈值以及每个所述虚拟标注点所在的虚拟映射位置对多个所述虚拟标注点进行聚类,得到多个点聚类集合;对每个所述点聚类集合进行渲染,得到与所述数字孪生图层对应的标注点渲染结果。采用本方法能够基于多个虚拟标注点聚类形成的点聚类集合实现在数字孪生场景下对三维地图的标注点聚合渲染,从而减少标注点渲染数量,大幅提升标注点渲染效率。点渲染效率。点渲染效率。
技术研发人员:陈宁强 李阳 单文龙 郁自然 刘澍 鲍华 陆晓燕
受保护的技术使用者:苏州华创智城科技有限公司
技术研发日:2023.05.18
技术公布日:2023/10/15
版权声明
本文仅代表作者观点,不代表航空之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)
飞行汽车 https://www.autovtol.com/
