CN107689189B - 一种三维电子地图的绘制方法及装置 - Google Patents
一种三维电子地图的绘制方法及装置 Download PDFInfo
- Publication number
- CN107689189B CN107689189B CN201710773709.9A CN201710773709A CN107689189B CN 107689189 B CN107689189 B CN 107689189B CN 201710773709 A CN201710773709 A CN 201710773709A CN 107689189 B CN107689189 B CN 107689189B
- Authority
- CN
- China
- Prior art keywords
- model
- buffer
- rendered
- relief
- relief model
- 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
Classifications
-
- G—PHYSICS
- G09—EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
- G09B—EDUCATIONAL OR DEMONSTRATION APPLIANCES; APPLIANCES FOR TEACHING, OR COMMUNICATING WITH, THE BLIND, DEAF OR MUTE; MODELS; PLANETARIA; GLOBES; MAPS; DIAGRAMS
- G09B29/00—Maps; Plans; Charts; Diagrams, e.g. route diagram
- G09B29/003—Maps
- G09B29/005—Map projections or methods associated specifically therewith
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T17/00—Three dimensional [3D] modelling, e.g. data description of 3D objects
- G06T17/05—Geographic models
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Geometry (AREA)
- Software Systems (AREA)
- Remote Sensing (AREA)
- Computer Graphics (AREA)
- Mathematical Physics (AREA)
- Business, Economics & Management (AREA)
- Educational Administration (AREA)
- Educational Technology (AREA)
- Instructional Devices (AREA)
- Processing Or Creating Images (AREA)
Abstract
本发明公开了一种三维电子地图的绘制方法及装置,该方法包括:获取待绘制的电子地图数据,并将电子地图数据进行分类,得到地形模型和非地形模型;通过预设的缓冲区集合对非地形模型进行渲染;对于地形模板的渲染,首先需要通过预设的缓冲区集合中模板缓冲区的模板测试功能,确定地形模型中不应该遮挡所述非地形模型的位置,将确定出的所述地形模型中不应该遮挡所述非地形模型的位置表示为第一假遮挡位置,然后通过预设的缓冲区集合中的模板缓冲区、深度缓冲区和颜色缓冲区,对地形模型中除去所述第一假遮挡位置的部分进行渲染。这样在对电子地图进行绘制时,避免了地形模型对其它模型的遮挡,并且在电子地图绘制完成后也无需再进行人工调整。
Description
技术领域
本发明涉及电子地图领域,尤其涉及一种三维电子地图的绘制方法及装置。
背景技术
在三维电子地图的场景中包括:地上建筑物、地面覆盖物、地形以及地下建筑等物体,在对电子地图的绘制过程中,由于建筑物、地面覆盖物、地形以及地下建筑物体等来自不同的来源。因此,不同来源的数据,坐标格式不统一,但是为了和显示的情况显示一致,在电子地图绘制的过程中,需要将这些不同坐标格式的数据转换为统一的格式。在不同来源的数据的坐标格式转换后,在地图显示时,可能会出现地形对地下建筑物或者地面覆盖物遮挡的情况,例如:绿地可能出现在地形的下面或者地形把地下通道的入口遮挡等。
现有技术中,会人工对被地形遮挡的物体进行调整,使其能够与现实的情况相符,但是这种方法工作量极大、工作效率低下。
发明内容
有鉴于此,本发明实施例提供了一种三维电子地图的绘制方法及装置,不仅解决了现有技术中,在地图显示时,可能会出现地形对地下建筑物或者地面覆盖物遮挡的问题,并且,无须人工对多个模型进行调整,减小了工作量也提高了工作效率。
本发明实施例提供的一种三维电子地图的绘制方法,包括:
获取待绘制的电子地图数据;
对所述待绘制的电子地图数据进行处理,得到地形模型和非地形模型;
通过预设的缓冲区集合对所述非地形模型进行渲染;所述预设的缓冲区
集合包括模板缓冲区、深度缓冲区和/或颜色缓冲区;
通过模板缓冲区的模板测试功能,确定所述地形模型中不应该遮挡所述非地形模型的位置;将确定出的所述地形模型中不应该遮挡所述非地形模型的位置表示为第一假遮挡位置;
通过所述模板缓冲区、深度缓冲区和颜色缓冲区,对所述地形模型中除去所述第一假遮挡位置的部分进行渲染。
可选的,所述对所述待绘制的电子地图数据进行处理,包括:
将所述待绘制的电子地图数据中包含的地形数据进行异常点处理,得到去除异常点后的地形数据;其中,所述地形数据来自DEM数据;
采用双线性差值对所述去除异常点后的地形数据进行处理,生成满足Roam算法要求的地形三角面片;
按照比例尺对所述地形三角面片进行分级存储,获得多个存储级;
对每个存储级内的地形三角面片,按照规则网格块进行划分,获得多个地形块,得到地形模型。
可选的,所述通过所述模板缓冲区、深度缓冲区和颜色缓冲区,对所述地形模型中除去所述第一假遮挡位置的部分进行渲染,包括:
将所述地形模型中各个地形块进行细节层次LOD化简,并将每两个相邻的地形块进行块间补缝处理;
通过模板缓冲区的渲染功能对所述地形模型中除去所述第一假遮挡位置的部分进行渲染;
通过深度缓冲区的深度测试功能和渲染功能对所述地形模型中除去所述第一假遮挡位置的部分进行渲染;
通过颜色缓冲区的渲染功能对所述地形模型中除去所述第一假遮挡位置的部分进行渲染。
可选的,若所述非地形模型为:地面覆盖物模型,所述通过预设的缓冲区集合对所述非地形模型进行渲染,包括:
通过模板缓冲区的渲染功能对所述地面覆盖物模型进行渲染;
通过所述深度缓冲区的深度测试功能和渲染功能对所述地面覆盖物模型进行渲染;
通过所述颜色缓冲区的渲染功能对所述地面覆盖物模型进行渲染。
可选的,若所述非地形模型包括:地下建筑模型,所述对所述待绘制的电子地图数据进行处理,包括:
获取所述地下建筑物模型中暴露于地表之上的部分,并获取所述暴露于地表之上的部分中每个顶点在水平方向上的坐标分量;
依据所述每个顶点在水平方向上的坐标分量和预设的地形数据,获取每个顶点的地形高程,并将每个顶点的地形高程表示为该顶点在垂直方向上的坐标分量。
可选的,所述通过预设的缓冲区集合对所述非地形模型进行渲染,包括:
通过模板缓冲区的渲染功能对所述模板数据模型进行渲染;
通过深度缓冲区的深度测试功能和渲染功能对所述地下建筑物模型进行渲染;
通过颜色缓冲区的渲染功能对所述地下建筑物模型进行渲染。
可选的,若所述非地形模型还包括:地面覆盖物模型,还包括:
通过所述模板缓冲区中的模板测试功能确定所述地面覆盖物模型中不应该遮挡所述地下建筑物模型的位置,并将所述地面覆盖物模型中不应该遮挡地下建筑物模型的位置表示为第二假遮挡位置;
通过所述模板缓冲区的渲染功能对所述地面覆盖物模型中除去所述第二假遮挡位置的部分进行渲染;
通过所述深度缓冲区的深度测试功能和渲染功能对所述地面覆盖物模型进行渲染;
通过所述颜色缓冲区的渲染功能对所述地面覆盖物模型进行渲染。
可选的,所述非地形模型包括:地上建筑物模型,所述通过预设的缓冲区集合对所述非地形模型进行渲染;包括:
通过深度缓冲区的深度测试功能和渲染功能对所述地上建筑物模型进行渲染;
通过颜色缓冲区的渲染功能对所述地上建筑物模型进行渲染。
本发明实施例提供的一种三维电子地图的绘制装置,包括:
获取单元,用于获取待绘制的电子地图数据;
数据处理单元,用于对所述待绘制的电子地图数据进行处理,得到地形模型和非地形模型;
非地形模型渲染单元,用于通过预设的缓冲区集合对所述非地形模型进行渲染;所述预设的缓冲区集合包括模板缓冲区、深度缓冲区和/或颜色缓冲区;
假遮挡位置确定单元,用于通过模板缓冲区的模板测试功能,确定所述地形模型中不应该遮挡所述非地形模型的位置;将确定出的所述地形模型中不应该遮挡所述非地形模型的位置表示为第一假遮挡位置;
地形模型渲染单元,用于通过所述模板缓冲区、深度缓冲区和颜色缓冲区,对所述地形模型中除去所述第一假遮挡位置的部分进行渲染。
可选的,若所述非地形模型包括:地下建筑物模型,所述数据处理单元,具体用于:
获取所述地下建筑物模型中暴露于地表之上的部分,并获取所述暴露于地表之上的部分中每个顶点在水平方向上的坐标分量;
依据所述每个顶点在水平方向上的坐标分量和预设的地形数据,获取每个顶点的地形高程,并将每个顶点的地形高程表示为该顶点在垂直方向上的坐标分量。
本实施例中,在对电子地图进行绘制时,首先获取待绘制的电子地图数据,并将电子地图数据进行分类,得到地形模型和非地形模型;然后通过预设的缓冲区集合对非地形模型进行渲染;对于地形模板的渲染,首先需要通过预设的缓冲区集合中模板缓冲区的模板测试功能,确定所述地形模型中不应该遮挡所述非地形模型的位置,将确定出的所述地形模型中不应该遮挡所述非地形模型的位置表示为第一假遮挡位置,然后通过预设的缓冲区集合中的模板缓冲区、深度缓冲区和颜色缓冲区,对地形模型中除去所述第一假遮挡位置的部分进行渲染。这样在对电子地图进行绘制时,避免了地形模型对其它模型的遮挡,并且在电子地图绘制完成后也无需再进行人工调整,减小了工作量也提高了工作效率。
除此之外,针对于地面覆盖物模型对地下建筑物模型会存在遮挡的情况,通过模板缓冲区的测试功能,确定出地下建筑物模型中不应该被地面覆盖物模型遮挡的位置,当对地面覆盖物模型渲染时,可以避开地下建筑物模型中不应该被地面覆盖物模型遮挡的部分,保证了渲染的真实性,避免了后期还需要技术人员调整的问题。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1示出了本发明实施例提供的一种三维电子地图的绘制方法的流程示意图;
图2示出了本发明提供的模板模型的获取方法的流程示意图;
图3示出了本发明实施例提供的一种三维电子地图的绘制装置的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本实施例中,在三维电子地图绘制之前,需要收集很多的数据,例如可以包括:地形、道路、绿地、沟渠、地上建筑物、地下通道、地下广场、地下立交桥等。得到这些数据后,需要对这些数据进行处理后,在显示器上进行显示。
参考图1,示出了本发明实施例提供的一种三维电子地图的绘制方法实施例1的流程示意图,在本实施例中,该方法包括:
S101:获取待绘制的电子地图数据,并对所述待绘制的电子地图数据进行处理;
本实施例中,获取到的电子地图的数据可以包括多种,例如:地形、道路、绿地、沟渠、地上建筑物、地下通道、地下广场、地下立交桥等。并且,这些数据的来源可以包括多种,例如:可以来自DEM(英文全称:Digital Elevation Model,中文全称:数字高程模型)、航拍、倾斜摄影、手工建模、根据相关资料自动生成等。
S102:对所述待绘制的电子地图数据进行处理,得到地形模型和非地形模型;
本实施例中,获取到的不同的电子地图的数据可以包括不同的特征,例如,一些数据是地上的建筑物、一些数据是地面的覆盖物或者一些数据是地下的建筑等,并将这些不同特征的数据分类,将同一类型的数据分成一类,例如,分类后的数据类型包括:地形数据类、地面覆盖物类、地下建筑物类、地上建筑物类等。需要说明的是,获取到的待绘制的电子地图数据,可能包括这些类别中的一个或者多个。
本实施例中,一般情况下,得到的地面覆盖数据、地下建筑数据和地上建筑数据可以直接用于渲染,将这些数据分类后,得到地面覆盖物模型、地下建筑物模型和地上建筑物模型。
但是,待绘制的电子地图数据中包含的地形数据是来自DEM数据,该地形数据无法直接用于渲染,因此需要对得到的地形数据进行处理,具体的,S102包括:
将所述待绘制的电子地图数据中包含的地形数据进行异常点处理,得到去除异常点后的地形数据;其中,所述地形数据来自DEM数据;
采用双线性差值对所述去除异常点后的地形数据进行处理,生成满足Roam算法要求的地形三角面片;
按照比例尺对所述地形三角面片进行分级存储,获得多个存储级;
对每个存储级内的地形三角面片,按照规则网格块进行划分,获得多个地形块,得到地形模型。
本实施例中,由于地形数据来自DEM数据,由于存在测量误差,需要先进行异常点处理,去除掉异常点,然后通过双线性插值生成地形三角面片;为了方便数据的调度,并减小内存的使用,可以按照比例尺对地形三角面片进行分级存储,大比例尺下存储三角网较密的数据,小比例尺下存储三角网较稀疏的数据,最后,将地形按照规则对每个存储级内的网格块进行划分,得到地形块,得到后续渲染所需的地形模型。
本实施例中,将待绘制的电子地图数据进行了相关的处理和分类后,可以得到地上建筑物模型、地面覆盖物模型、地形模型、地下建筑模型等,其中地上建筑物模型可以包括:地上的高楼、地上的桥梁等;地面覆盖物模型可以包括:绿地、道路等;地形模型可以是从地形的数据库中获取到;地下建筑物模型可以包括:地下广场、地下通道、地下立交桥等。但是,绘制的电子地图时,某一地点的地图可能并不包括所有以上提到的这些模型,可能只包括这些模型中的一个或者多个,但是每一个地点都会包括地形模型。
需要说明的是,若分类后的模型中包括地下建筑物模型,为了方便执行后续的步骤,则分类后的模型中还包括与所述地下建筑物模型相关的模板数据模型。
具体的,该模板数据模型的获取方法包括:
S201:获取所述地下建筑物模型中暴露于地表之上的部分,并获取所述暴露于地表之上的部分中每个顶点在水平方向上的坐标分量;
S202:依据所述每个顶点在水平方向上的坐标分量和预设的地形数据,获取每个顶点的地形高程,并将每个顶点的地形高程表示为该顶点在垂直方向上的坐标分量。
对于地下建筑物模型中暴露于地表之上的部分可以理解为,没有被地表覆盖的部分,例如:对于下沉广场来说,整个下沉广场是完全暴露于地表之上的,没有被地表覆盖,可以自动的获取该下沉广场中每个顶点在水平方向上的坐标分量(x,y),对于地下通道来说,只有地下通道的入口是暴露于地形之上的,而地下通道的连廊是覆盖于地形之下的,所以对于地下通道来说,只获取入口处部分每个顶点在水平方向上的坐标分量(x,y)。
获取到每个顶点在水平方向的坐标分量后,在预设的地形数据库中找到该水平方向的坐标分量(x,y)所对应的地形的高程,也可以理解为该(x,y)坐标处地形的高度,并将每个顶点的地形高程表示为该顶点在垂直方向上的坐标分量Z。
还需要说明的是,对数据处理后得到的各个模型中,除了地形模型之外的其它模型均为非地形模型,也可以说,得到的模型包括:地形模型和非地形模型。其中,非地形模型包括:地上建筑物模型、地面覆盖物模型和/或地下建筑物模型(若包含地下建筑物模型一定包含模板数据模型)。
S103:通过预设的缓冲区集合对所述非地形模型进行渲染;所述缓冲区集合包括模板缓冲区、深度缓冲区和/或颜色缓冲区;
需要说明的是,得到的分类后的模型中除地形模型之外的模型均为非地形模型。
由于非地形模型包括:地上建筑物模型、地面覆盖物模型和/或地下建筑物模型,其中,若包含地下建筑物模型也包含地下建筑物模型对应的模板数据模型。
S104:通过模板缓冲区的模板测试功能,确定地形模型中不应该遮挡非地形模型的位置;将确定出的地形模型中不应该遮挡非地形模型的位置表示为第一假遮挡位置;
S105:通过模板缓冲区、深度缓冲区和颜色缓冲区,对地形模型中除去第一假遮挡位置的部分进行渲染。
本实施例中,在对三维电子地图进行渲染时,地形模板可以能遮挡地面覆盖物模型和地下建筑物模型中的某些位置,但是在实际的场景中,这些位置是不应该被遮挡的,因此,为了避免该问题,可以通过模板缓冲区的模板测试功能确定出地形模型中不应该遮挡非地形模板的位置,在对地形进行渲染时,在这些位置不进行地形的渲染。
需要说明的是,为了保证模板缓冲区能够确定出不应该遮挡非地形模型的位置,对地形模型的渲染应该在非地形模型之后。
具体的,S105具体包括:
将所述地形模型中各个地形块进行细节层次LOD化简,并将每两个相邻的地形块进行块间补缝处理;
通过模板缓冲区的渲染功能对所述地形模型中除去所述第一假遮挡位置的部分进行渲染;
通过深度缓冲区的深度测试功能和渲染功能对所述地形模型中除去所述第一假遮挡位置的部分进行渲染;
通过颜色缓冲区的渲染功能对所述地形模型中除去所述第一假遮挡位置的部分进行渲染。
本实施例中,可以通过Roam算法,对地形模型中的每个地形块与相机的位置关系进行实时LOD(英文全称:Levels of Detail,中文全称:细节层次)模型化简,保证近处的地形块细节丰富,远处的地形块较粗糙,提高渲染效率。
由于每个块内单独采用Roam算法进行LOD化简,可能会造成相邻的两个地形块间出现缝隙,出现地形整体上不联系的现象,因此需要补齐块与块之间的缝隙,例如可以通过计算需要添加的三角面片,来弥补缝隙。
本实施例中,分类后的每个模型都被渲染后,当用户需要对该地形进行显示时,就可以在显示屏上显示绘制好的三维电子地图。
本实施例中,由于非地形模型可以包括:地上建筑物模型、地面覆盖物模型和/或地下建筑物模型(包含地下建筑物模型时一定包含模板数据模型),即非地形模型可以是只包括以上提到的这些模型中的一种或者多种,具体的,可以通过一下的几种情况进行说明:
情况一:当该非地形模型只包括:地面覆盖物模型时,S103具体包括:
通过模板缓冲区的渲染功能对所述地面覆盖物模型进行渲染;
通过所述深度缓冲区的深度测试功能和渲染功能对所述地面覆盖物模型进行渲染;
通过所述颜色缓冲区的渲染功能对所述地面覆盖物模型进行渲染。
情况二:当该非地形模型只包括地下建筑物模型时,S103具体包括:
通过模板缓冲区的渲染功能和颜色缓冲区的渲染功能对预设的模板数据模型进行渲染;所述预设的模板数据模型为通过将所述地下建筑物模型中暴露于地表之上的部分迁移到预设的地形之上得到的;
通过深度缓冲区的深度测试功能和渲染功能对所述地下建筑物模型进行渲染;
通过颜色缓冲区的渲染功能对所述地下建筑物模型进行渲染。
情况三:当该非地形模型既包括地下建筑物模型也包括地面覆盖物模型时,S103具体包括:
通过模板缓冲区的渲染功能对模板数据模型进行渲染;通过深度缓冲区的深度测试功能和渲染功能对所述地下建筑物模型进行渲染;
通过颜色缓冲区的渲染功能对所述地下建筑物模型进行渲染。
通过所述模板缓冲区中的模板测试功能确定所述地面覆盖物模型中不应该遮挡所述地下建筑物模型的位置,并将所述地面覆盖物模型中不应该遮挡地下建筑物模型的位置表示为第二假遮挡位置;
通过所述模板缓冲区的渲染功能对所述地面覆盖物模型中除去所述第二假遮挡位置的部分进行渲染;
通过所述深度缓冲区的深度测试功能和渲染功能对所述地面覆盖物模型进行渲染;
通过所述颜色缓冲区的渲染功能对所述地面覆盖物模型进行渲染。
本实施例中,由于地面覆盖物模型中不应该遮挡地下建筑物的位置,可以通过地面覆盖物模型和模板数据模型即可获得,因此,需要先对模板数据模型进行渲染,但是对于地面覆盖物模型的渲染过程和模板数据模型的渲染,先对其中任何一个进行渲染均可。
本实施例中,由于地面覆盖物模型可能会对地下建筑物模型会存在遮挡的情况,因此通过模板缓冲区的测试功能,确定出地下建筑物模型中不应该被地面覆盖物模型遮挡的位置,当对地面覆盖物模型渲染时,可以避开地下建筑物模型中不应该被地面覆盖物模型遮挡的部分,保证了渲染的真实性,避免了后期还需要技术人员调整的问题。
情况四:若该非地形模型包括:地上建筑物模型,S103具体包括:
通过深度缓冲区的深度测试功能和渲染功能对所述地上建筑物模型进行渲染;
通过颜色缓冲区的渲染功能对所述地上建筑物模型进行渲染。
对于地上建筑物模型,由于不存在假遮挡的位置,因此若该非地形模型包括地上建筑物模型和非地形模型中其它的任何一个或者多个模型时,则该地上建筑物模型可以在其它模型之前进行渲染也可以在其它模型之后进行渲染。
本实施例中,针对于非地形模型中包括以上三种情况(情况一、情况二和情况三)中任意一种情况时,若还包含情况四,也就是说非地形模型中还包括地上建筑物模型,则在以上三种情况的基础上,再执行情况四的步骤即可。
本实施例中,对于颜色缓冲区,可以理解为:帧缓冲区(图形设备的内存),需要渲染的场景的每一个像素都最终写入该缓冲区,然后由该缓冲区渲染到屏幕上显示。
对于深度缓冲区,与帧缓冲区对应,用于记录上面每个像素的深度值,通过深度缓冲区,我们可以进行深度测试,从而确定像素的遮挡关系,保证渲染正确。
对于模板缓冲区,可以利用模板缓冲区,确定渲染的图像中是否存在遮挡。
其中,模板缓冲区的模板测试功能对应于模板缓冲区的读命令,即打开模板缓冲区的读命令,则在渲染时就可以使用模板缓冲区的模板测试功能;
模板缓冲区的渲染功能对应于模板缓冲区的写命令,即打开模板缓冲区的写命令,则在渲染时就可以使用模板缓冲区的渲染功能;
深度缓冲区的深度测试功能对应于深度缓冲区的读命令,即打开深度缓冲区的读命令,则在渲染时就可以使用深度缓冲区的深度测试功能;
深度缓冲区的渲染功能对应于深度缓冲区的写命令,即打开深度缓冲区的写命令,则在渲染时就可以使用深度缓冲区的深度渲染功能;
颜色缓冲区的渲染功能对应于深度缓冲区的写命令,即打开颜色缓冲区的写命令,则在渲染时就可以使用颜色缓冲区的颜色渲染功能。
举例说明:若分类后的的模型包括:地形模型、地面覆盖物模型、地下建筑物模型、与地下建筑物模型相对应的模板数据模型和地上建筑物模型,在通过缓冲区集对这些模型进行渲染时,可以包括:
对于模板数据模型:关闭颜色缓冲区写命令,关闭深度缓冲区的读写命令,开启模板缓冲区的写命令;
对于地上建筑物模型:开启颜色缓冲区的写命令、开启深度缓冲区的读写命令、关闭模板缓冲区的读写命令;
对于地面覆盖物模型:开启颜色缓冲区的写命令、开启深度缓冲区的读写命令、开启模板缓冲区的读写命令,对地面覆盖物模型进行渲染;
对于地形模型:开启颜色缓冲区的写命令、开启深度缓冲区的读写命令、开启模板缓冲区的读写命令,对地形模型进行渲染;
对于地下建筑模型:开启颜色缓冲区的写命令,开启深度缓冲区的读写命令,关闭模板缓冲区的读写命令,对地下建筑模型进行渲染。
需要说明的是,若是分类后的模型中仅包括地面覆盖物模型,但不包括地下建筑物模型,则预设的缓冲区集合对地面覆盖物模型的渲染操作为:
开启颜色缓冲区的写命令、开启深度缓冲区的读写命令、开启模板缓冲区的写命令,对地面覆盖物模型进行渲染。
本实施例中,在对电子地图进行绘制时,在对地形模型渲染时,通过模板缓冲区的模板测试功能确定出地形模型不应该遮挡非地形模型的位置,并在对地形渲染时,避开这些位置,从而使得渲染后的三维电子地图不会存在地形对其它模型的遮挡,而且本实施例的方法无须人工对多个模型进行调整,减小了工作量也提高了工作效率。
除此之外,针对于地面覆盖物模型对地下建筑物模型会存在遮挡的情况,通过模板缓冲区的测试功能,确定出地下建筑物模型中不应该被地面覆盖物模型遮挡的位置,当对地面覆盖物模型渲染时,可以避开地下建筑物模型中不应该被地面覆盖物模型遮挡的部分,保证了渲染的真实性,避免了后期还需要技术人员调整的问题。
参考图3,示出了本发明实施例提供的一种三维电子地图的绘制装置的结构示意图,在本实施例中,所述装置可以包括:
获取单元301,用于获取待绘制的电子地图数据;
数据处理单元302,用于对所述待绘制的电子地图数据进行处理,得到地形模型和非地形模型;
非地形模型渲染单元303,用于通过预设的缓冲区集合对所述非地形模型进行渲染;所述预设的缓冲区集合包括模板缓冲区、深度缓冲区和/或颜色缓冲区;
假遮挡位置确定单元304,用于通过模板缓冲区的模板测试功能,确定所述地形模型中不应该遮挡所述非地形模型的位置;将确定出的所述地形模型中不应该遮挡所述非地形模型的位置表示为第一假遮挡位置;
地形模型渲染单元305,用于通过所述模板缓冲区、深度缓冲区和颜色缓冲区,对所述地形模型中除去所述第一假遮挡位置的部分进行渲染。
可选的,所述数据处理单元,具体用于:
将所述待绘制的电子地图数据中包含的地形数据进行异常点处理,得到去除异常点后的地形数据;其中,所述地形数据来自DEM数据;
采用双线性差值对所述去除异常点后的地形数据进行处理,生成满足Roam算法要求的地形三角面片;
按照比例尺对所述地形三角面片进行分级存储,获得多个存储级;
对每个存储级内的地形三角面片,按照规则网格块进行划分,获得多个地形块,得到地形模型。
可选的,所述地形模型渲染单元具体用于:
将所述地形模型中各个地形块进行细节层次LOD化简,并将每两个相邻的地形块进行块间补缝处理;
通过模板缓冲区的渲染功能对所述地形模型中除去所述第一假遮挡位置的部分进行渲染;
通过深度缓冲区的深度测试功能和渲染功能对所述地形模型中除去所述第一假遮挡位置的部分进行渲染;
通过颜色缓冲区的渲染功能对所述地形模型中除去所述第一假遮挡位置的部分进行渲染。
可选的,若所述非地形模型为:地面覆盖物模型,所述非地形模型渲染单元具体用于:
通过模板缓冲区的渲染功能对所述地面覆盖物模型进行渲染;
通过所述深度缓冲区的深度测试功能和渲染功能对所述地面覆盖物模型进行渲染;
通过所述颜色缓冲区的渲染功能对所述地面覆盖物模型进行渲染。
可选的,若所述非地形模型包括:地下建筑模型,所述数据处理单元,包括:
获取所述地下建筑物模型中暴露于地表之上的部分,并获取所述暴露于地表之上的部分中每个顶点在水平方向上的坐标分量;
依据所述每个顶点在水平方向上的坐标分量和预设的地形数据,获取每个顶点的地形高程,并将每个顶点的地形高程表示为该顶点在垂直方向上的坐标分量。
可选的,若所述非地形模型包括:地下建筑模型,所述非地形模型渲染单元,具体用于:
通过模板缓冲区的渲染功能对所述模板数据模型进行渲染;
通过深度缓冲区的深度测试功能和渲染功能对所述地下建筑物模型进行渲染;
通过颜色缓冲区的渲染功能对所述地下建筑物模型进行渲染。
可选的,若所述非地形模型包括地面覆盖物模型和地下建筑物模型,所述非地形模型渲染单元,具体用于:
通过模板缓冲区的渲染功能对所述模板数据模型进行渲染;
通过深度缓冲区的深度测试功能和渲染功能对所述地下建筑物模型进行渲染;
通过颜色缓冲区的渲染功能对所述地下建筑物模型进行渲染。
通过所述模板缓冲区中的模板测试功能确定所述地面覆盖物模型中不应该遮挡所述地下建筑物模型的位置,并将所述地面覆盖物模型中不应该遮挡地下建筑物模型的位置表示为第二假遮挡位置;
通过所述模板缓冲区的渲染功能对所述地面覆盖物模型中除去所述第二假遮挡位置的部分进行渲染;
通过所述深度缓冲区的深度测试功能和渲染功能对所述地面覆盖物模型中除去所述第二假遮挡位置的部分进行渲染;
通过所述颜色缓冲区的渲染功能对所述地面覆盖物模型中除去所述第二假遮挡位置的部分进行渲染。
可选的,若所述非地形模型包括:地上建筑物模型,
所述非地形模型渲染单元具体用于:
通过深度缓冲区的深度测试功能和渲染功能对所述地上建筑物模型进行渲染;
通过颜色缓冲区的渲染功能对所述地上建筑物模型进行渲染。
本实施例中,在对电子地图进行绘制时,在对地形模型渲染时,通过模板缓冲区的模板测试功能确定出地形模型不应该遮挡非地形模型的位置,并在对地形渲染时,避开这些位置,从而使得渲染后的三维电子地图不会存在地形对其它模型的遮挡,而且通过本实施例的装置无须人工对多个模型进行调整,减小了工作量也提高了工作效率。
需要说明的是,本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
Claims (10)
1.一种三维电子地图的绘制方法,其特征在于,包括:
获取待绘制的电子地图数据;
对所述待绘制的电子地图数据进行处理,得到地形模型和非地形模型;
通过预设的缓冲区集合对所述非地形模型进行渲染;所述预设的缓冲区集合包括模板缓冲区、深度缓冲区和/或颜色缓冲区;
通过模板缓冲区的模板测试功能,确定所述地形模型中不应该遮挡所述非地形模型的位置;将确定出的所述地形模型中不应该遮挡所述非地形模型的位置表示为第一假遮挡位置;
通过所述模板缓冲区、深度缓冲区和颜色缓冲区,对所述地形模型中除去所述第一假遮挡位置的部分进行渲染。
2.根据权利要求1所述的方法,其特征在于,所述对所述待绘制的电子地图数据进行处理,包括:
将所述待绘制的电子地图数据中包含的地形数据进行异常点处理,得到去除异常点后的地形数据;其中,所述地形数据来自DEM数据;
采用双线性差值对所述去除异常点后的地形数据进行处理,生成满足Roam算法要求的地形三角面片;
按照比例尺对所述地形三角面片进行分级存储,获得多个存储级;
对每个存储级内的地形三角面片,按照规则网格块进行划分,获得多个地形块,得到地形模型。
3.根据权利要求2所述的方法,其特征在于,所述通过所述模板缓冲区、深度缓冲区和颜色缓冲区,对所述地形模型中除去所述第一假遮挡位置的部分进行渲染,包括:
将所述地形模型中各个地形块进行细节层次LOD化简,并将每两个相邻的地形块进行块间补缝处理;
通过模板缓冲区的渲染功能对所述地形模型中除去所述第一假遮挡位置的部分进行渲染;
通过深度缓冲区的深度测试功能和渲染功能对所述地形模型中除去所述第一假遮挡位置的部分进行渲染;
通过颜色缓冲区的渲染功能对所述地形模型中除去所述第一假遮挡位置的部分进行渲染。
4.根据权利要求1所述的方法,其特征在于,若所述非地形模型为:地面覆盖物模型,所述通过预设的缓冲区集合对所述非地形模型进行渲染,包括:
通过模板缓冲区的渲染功能对所述地面覆盖物模型进行渲染;
通过所述深度缓冲区的深度测试功能和渲染功能对所述地面覆盖物模型进行渲染;
通过所述颜色缓冲区的渲染功能对所述地面覆盖物模型进行渲染。
5.根据权利要求1所述的方法,其特征在于,若所述非地形模型包括:地下建筑模型,所述对所述待绘制的电子地图数据进行处理,包括:
获取所述地下建筑物模型中暴露于地表之上的部分,并获取所述暴露于地表之上的部分中每个顶点在水平方向上的坐标分量;
依据所述每个顶点在水平方向上的坐标分量和预设的地形数据,获取每个顶点的地形高程,并将每个顶点的地形高程表示为该顶点在垂直方向上的坐标分量。
6.根据权利要求5所述的方法,其特征在于,所述通过预设的缓冲区集合对所述非地形模型进行渲染,包括:
通过模板缓冲区的渲染功能对所述模板数据模型进行渲染;
通过深度缓冲区的深度测试功能和渲染功能对所述地下建筑物模型进行渲染;
通过颜色缓冲区的渲染功能对所述地下建筑物模型进行渲染。
7.根据权利要求6所述的方法,其特征在于,若所述非地形模型还包括:地面覆盖物模型,还包括:
通过所述模板缓冲区中的模板测试功能确定所述地面覆盖物模型中不应该遮挡所述地下建筑物模型的位置,并将所述地面覆盖物模型中不应该遮挡地下建筑物模型的位置表示为第二假遮挡位置;
通过所述模板缓冲区的渲染功能对所述地面覆盖物模型中除去所述第二假遮挡位置的部分进行渲染;
通过所述深度缓冲区的深度测试功能和渲染功能对所述地面覆盖物模型中除去所述第二假遮挡位置的部分进行渲染;
通过所述颜色缓冲区的渲染功能对所述地面覆盖物模型中除去所述第二假遮挡位置的部分进行渲染。
8.根据权利要求1所述的方法,其特征在于,若所述非地形模型包括:
地上建筑物模型,所述通过预设的缓冲区集合对所述非地形模型进行渲染;包括:
通过深度缓冲区的深度测试功能和渲染功能对所述地上建筑物模型进行渲染;
通过颜色缓冲区的渲染功能对所述地上建筑物模型进行渲染。
9.一种三维电子地图的绘制装置,其特征在于,包括:
获取单元,用于获取待绘制的电子地图数据;
分类单元,用于对所述待绘制的电子地图数据进行处理,得到地形模型和非地形模型;
非地形模型渲染单元,用于通过预设的缓冲区集合对所述非地形模型进行渲染;所述预设的缓冲区集合包括模板缓冲区、深度缓冲区和/或颜色缓冲区;
假遮挡位置确定单元,用于通过模板缓冲区的模板测试功能,确定所述地形模型中不应该遮挡所述非地形模型的位置;将确定出的所述地形模型中不应该遮挡所述非地形模型的位置表示为第一假遮挡位置;
地形模型渲染单元,用于通过所述模板缓冲区、深度缓冲区和颜色缓冲区,对所述地形模型中除去所述第一假遮挡位置的部分进行渲染。
10.根据权利要求9所述的装置,其特征在于,若所述非地形模型包括:地下建筑物模型,所述数据处理单元,具体用于:
获取所述地下建筑物模型中暴露于地表之上的部分,并获取所述暴露于地表之上的部分中每个顶点在水平方向上的坐标分量;
依据所述每个顶点在水平方向上的坐标分量和预设的地形数据,获取每个顶点的地形高程,并将每个顶点的地形高程表示为该顶点在垂直方向上的坐标分量。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710773709.9A CN107689189B (zh) | 2017-08-31 | 2017-08-31 | 一种三维电子地图的绘制方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710773709.9A CN107689189B (zh) | 2017-08-31 | 2017-08-31 | 一种三维电子地图的绘制方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107689189A CN107689189A (zh) | 2018-02-13 |
CN107689189B true CN107689189B (zh) | 2019-09-27 |
Family
ID=61155053
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710773709.9A Active CN107689189B (zh) | 2017-08-31 | 2017-08-31 | 一种三维电子地图的绘制方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107689189B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108479067B (zh) | 2018-04-12 | 2019-09-20 | 网易(杭州)网络有限公司 | 游戏画面的渲染方法和装置 |
CN109712225B (zh) * | 2018-12-29 | 2023-07-07 | 北京超图软件股份有限公司 | 一种面对象的渲染方法、装置、设备及存储介质 |
CN112785699A (zh) * | 2019-11-07 | 2021-05-11 | 阿里巴巴集团控股有限公司 | 图像绘制方法与设备 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102254350A (zh) * | 2011-07-05 | 2011-11-23 | 中国测绘科学研究院 | 一种三维模型的匹配方法 |
CN102930594A (zh) * | 2012-09-20 | 2013-02-13 | 中国科学院自动化研究所 | 基于保持边界的计算机三维地形网格的绘制方法 |
CN103970837A (zh) * | 2014-04-11 | 2014-08-06 | 北京工业大学 | 基于城市用地和竖向规划的不连续dem分类制作方法 |
CN105122311A (zh) * | 2013-03-14 | 2015-12-02 | 谷歌公司 | 用于渲染关于复杂三维对象的矢量数据的平滑叠加层 |
-
2017
- 2017-08-31 CN CN201710773709.9A patent/CN107689189B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102254350A (zh) * | 2011-07-05 | 2011-11-23 | 中国测绘科学研究院 | 一种三维模型的匹配方法 |
CN102930594A (zh) * | 2012-09-20 | 2013-02-13 | 中国科学院自动化研究所 | 基于保持边界的计算机三维地形网格的绘制方法 |
CN105122311A (zh) * | 2013-03-14 | 2015-12-02 | 谷歌公司 | 用于渲染关于复杂三维对象的矢量数据的平滑叠加层 |
CN103970837A (zh) * | 2014-04-11 | 2014-08-06 | 北京工业大学 | 基于城市用地和竖向规划的不连续dem分类制作方法 |
Also Published As
Publication number | Publication date |
---|---|
CN107689189A (zh) | 2018-02-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104766366B (zh) | 一种三维虚拟现实演示的建立方法 | |
CN105761252B (zh) | 图像分割的方法及装置 | |
CN107689189B (zh) | 一种三维电子地图的绘制方法及装置 | |
CN103793907B (zh) | 一种水体信息的提取方法及装置 | |
CN108573279A (zh) | 图像标注方法及终端设备 | |
KR100898797B1 (ko) | 항공라이다자료를 이용한 지형기복 정사영상의 제작방법 | |
CN110135311A (zh) | 一种基于三维岩心扫描图像的孔隙与孔喉识别系统及方法 | |
CN103017739A (zh) | 基于激光雷达点云与航空影像的真正射影像的制作方法 | |
CN105005580B (zh) | 一种用于显示水库地形的方法及其装置 | |
CN110335355A (zh) | 一种大型浅水湖泊水面高自动计算方法 | |
CN109801371B (zh) | 一种基于Cesium的网络三维电子地图构建方法 | |
CN112017285B (zh) | 一种三维gis中实时使地形精确贴合条状模型的方法 | |
CN105354832A (zh) | 一种山区卫星影像自动配准到地理底图上的方法 | |
Khayyal et al. | Creation and spatial analysis of 3D city modeling based on GIS data | |
WO2022104251A1 (en) | Image analysis for aerial images | |
CN109949282A (zh) | 一种基于倾斜摄影测量三维模型的工程量计算方法 | |
CN115471634A (zh) | 一种城市绿植孪生的建模方法及装置 | |
CN105678097B (zh) | 数字高程模型自动化构建方法 | |
Broersen et al. | Automatic identification of watercourses in flat and engineered landscapes by computing the skeleton of a LiDAR point cloud | |
CN105574930B (zh) | 一种汉字立体化数据采集与处理系统 | |
CN116030116A (zh) | 垃圾填埋体积分析方法、装置、电子设备及存储介质 | |
JP3940834B2 (ja) | 数値地図情報データを用いた解析作業支援cae装置 | |
CN114662985A (zh) | 一种基于倾斜摄影建模的山区电力工程选址方法、设备和计算机存储介质 | |
CN109118563B (zh) | 一种从lod分页表面纹理模型提取数字正射影像图的方法 | |
JP2013257828A (ja) | 高台整地プログラム、ダイナミックリンクライブラリ及び景観検討装置 |
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 |