一种道路三维可视化建模方法及装置与流程

文档序号:13737189阅读:351来源:国知局
一种道路三维可视化建模方法及装置与流程

本发明涉及道路可视化技术领域,尤其涉及一种道路三维可视化建模方法及装置。



背景技术:

电子地图是一种人们日常生活中很常见的出行导航工具,人们能够方便的利用电子地图获取所需的导航方案,给用户的出行带来了极大的方便。

目前,电子地图中所展示的道路信息是将已有的道路数据进行三维建模,得到三维道路模型,然后将三维道路模型在网页上通过地图接口程序(下文成地图api)加载,使得所加载的电子地图中的道路能够在三维方向的任意视角展现,使得用户可以在三维空间内实现对道路的漫游。但是,将已有道路数据进行三维建模的过程中,需要丢弃已有道路数据中的一些细节数据,如道路转弯角度数据,导致所加载的电子地图中的道路相对实际道路的偏差比较大。



技术实现要素:

本发明的目的在于提供一种道路三维可视化建模方法及装置,以提高所加载的电子地图中道路的准确性。

为了实现上述目的,本发明提供如下技术方案:

一种道路三维可视化建模方法,该道路三维可视化建模方法包括:

预设矢量道路分类数据;所述矢量道路分类数据包括线性交通标线数据、纹理贴图交通标线数据以及路面数据;

对所述线性交通标线数据进行数据赋值,得到线性交通标线赋值数据;

根据所述纹理贴图交通标线数据,得到所述纹理贴图交通标线数据对应的纹理贴图交通标线纹理坐标;

对所述线性交通标线赋值数据、所述纹理贴图交通标线纹理坐标和所述路面数据均进行渲染,完成道路三维可视化建模。

与现有技术相比,本发明提供的道路三维可视化建模方法中,预设的矢量道路分类数据包括线性交通标线数据、纹理贴图交通标线数据以及路面数据,并对所述线性交通标线数据进行数据赋值,得到线性交通标线赋值数据;根据纹理贴图交通标线数据,得到纹理贴图交通标线数据对应的纹理贴图交通标线纹理坐标;在此基础上,对线性交通标线赋值数据、纹理贴图交通标线纹理坐标和路面数据均进行渲染,完成道路三维可视化建模;可见,本发明提供的道路三维可视化建模方法中,在预设矢量道路分类数据后,没有丢弃矢量道路分类数据中的细节数据,且渲染所使用的数据都为矢量数据,其数据容量较小,也无需丢弃矢量道路分类数据中的细节数据,从而降低了对网络宽带的要求;所以,相较于现有技术,本发明提供的道路三维可视化建模方法不仅能够提高所加载的电子地图中道路的准确性和加载速度,而且对网络宽带的要求比较低。

本发明还提供了一种道路三维可视化建模装置,包括:

预设模块,预设矢量道路分类数据;所述矢量道路分类数据包括线性交通标线数据、纹理贴图交通标线数据以及路面数据;

处理模块,用于对所述线性交通标线数据进行数据赋值,得到线性交通标线赋值数据;根据所述纹理贴图交通标线数据,得到所述纹理贴图交通标线数据对应的纹理贴图交通标线纹理坐标;

渲染模块,用于对所述线性交通标线赋值数据、所述纹理贴图交通标线纹理坐标和所述路面数据均进行渲染。

与现有技术相比,本发明实施例提供的道路三维可视化建模装置的有益效果与上述技术方案提供的道路三维可视化建模方法的有益效果相同,在此不做赘述。

附图说明

此处所说明的附图用来提供对本发明的进一步理解,构成本发明的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:

图1为本发明实施例提供的道路三维可视化建模方法的流程图;

图2为本发明实施例中预设矢量道路分类数据的流程图;

图3为本发明实施例中对矢量道路分类数据进行处理的流程图;

图4为斑马线的纹理坐标分布示意图;

图5为斑马线的纹理贴图;

图6为本发明实施例中路面仿造阴影后的路面渲染图;

图7为本发明实施例中对处理后的矢量道路分类数据的渲染流程图;

图8为本发明实施例提供的道路三维可视化建模方法所加载的电子地图中道路渲染图;

图9为本发明实施例提供的道路三维可视化建模装置的结构框图;

图10为本发明实施例中预设模块的结构框图;

图11为本发明实施例中处理模块的结构框图;

图12为本发明实施例中渲染模块的结构框图;

图13为本发明实施例提供的道路三维可视化建模终端的硬件结构图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

本发明实施例提供的道路三维可视化建模方法及装置可应用地图api实现,以使得道路三维可视化;其中,地图api的种类比较多,如webgl(全称webgraphicslibrary),opengl(全称opengraphicslibrary)。

如图1和图3所示,本发明实施例提供的道路三维可视化建模方法包括如下步骤:

步骤s100:预设矢量道路分类数据;矢量道路分类数据包括线性交通标线数据、纹理贴图交通标线数据以及路面数据;

步骤s200:对矢量道路分类数据进行处理,具体包括以下几个并行的步骤:

步骤s200a:对线性交通标线数据进行数据赋值,得到线性交通标线赋值数据;

示例性的,该线性交通标线赋值数据含有线性交通标线的颜色数据、长度数据和宽度数据;

步骤s200b:根据纹理贴图交通标线数据,得到纹理贴图交通标线数据对应的纹理贴图交通标线纹理坐标;

步骤s300:对处理后的矢量道路分类数据进行渲染,具体渲染方法包括:对线性交通标线赋值数据、纹理贴图交通标线纹理坐标和路面数据均进行渲染,完成道路三维可视化建模。示例性的,渲染时所使用的渲染工具为顶点着色器和片元着色器。

基于上述道路三维可视化建模方法可以发现,预设的矢量道路分类数据包括线性交通标线数据、纹理贴图交通标线数据以及路面数据,并对所述线性交通标线数据进行数据赋值,得到线性交通标线赋值数据;根据所述纹理贴图交通标线数据,得到所述纹理贴图交通标线数据对应的纹理贴图交通标线纹理坐标;在此基础上,对线性交通标线赋值数据、纹理贴图交通标线纹理坐标和路面数据均进行渲染,完成道路三维可视化建模;可见,本发明实施例提供的道路三维可视化建模方法中,在预设矢量道路分类数据后,没有丢弃矢量道路分类数据中的细节数据,且渲染所使用的数据都为矢量数据,其数据容量较小,也无需丢弃矢量道路分类数据中的细节数据,从而降低了对网络宽带的要求;所以,相较于现有技术,本发明实施例提供的道路三维可视化建模方法不仅能够提高所加载的电子地图中道路的准确性和加载速度,而且对网络宽带的要求比较低。

需要说明的是,上述实施例中预设矢量道路分类数据实质是对所采集的道路数据进行预处理的过程,以对不同种类的道路数据进行分类和标引,使得在后续处理过程中,能够识别每种道路数据以方便进行处理。至于上述实施例中预设矢量道路分类数据的过程,可以通过如图2所示的过程实现,具体包括如下步骤:

步骤s101:获取矢量道路数据;

步骤s102:对矢量道路数据进行分类和属性赋值,得到矢量道路分类数据;矢量道路数据包括线性交通标线数据、纹理贴图交通标线数据以及路面数据。其中,对矢量道路数据进行分类和属性赋值的过程可以同时进行,也可以先后极性,至于先后顺序,可任意调换。

另外,对矢量道路数据进行分类时,可根据是否为路面,将道路数据分为路面数据和交通标线数据,而交通标线数据则可以根据是否可线性绘制分为线性交通标线数据和纹理贴图交通标线数据;此处交通标线的是否可线性绘制的识别,是将已经定义好的不可线性绘制的交通标线的种类信息建立成数据库,在需要进行分类时,调用该数据库中的交通标线数据与矢量道路数据中的各种交通标线数据进行比对,以实现对交通标线数据的分类。例如:将转弯交通标线、斑马线定义为不可线性绘制的交通标线,即在矢量道路数据中交通标线数据含有转弯交通标线数据、斑马线数据时,将所含有的转弯交通标线数据、斑马线数据划分为纹理贴图交通标线数据。

而在对矢量道路分类数据进行处理时,考虑到纹理贴图的水平平铺和纵向扩展优势,即纵向可以进行无线延伸,水平重复平铺,因此,可蚕蛹三维纹理贴图技术,根据纹理贴图交通标线数据,得到纹理贴图交通标线数据对应的纹理贴图交通标线纹理坐标;且为了使得加载的电子地图中的道路尽量符合真实场景,在纹理贴图交通标线数据对应的纹理贴图交通标线纹理坐标时,所涉及的数据尽量采用国际标准计算。

其中,纹理贴图交通标线数据对应的纹理贴图交通标线纹理坐标,可以为纹理贴图交通标线中比较关键的位置的纹理坐标,如决定纹理贴图交通标线形状的坐标。下面以图4和图5举例说明。

图4给出了一组斑马线的纹理坐标分布示意图;图5给出了该组斑马线的纹理贴图;其中,该组斑马线的实际宽度x0=5m,实际长度y0=10m,而斑马线的纹理贴图中纹理贴图宽度x1=2m,纹理贴图长度y1=5m。

基于上述参数,设定该组斑马线的左下角为纹理坐标原点o,对应纹理坐标为(0,0),斑马线的宽度方向为纹理坐标的宽度方向为纹理坐标的x轴方向,且斑马线的宽度延伸方向为正方向;斑马线的长度方向为纹理坐标的y轴方向,且斑马线的长度延伸方向为正方向。

鉴于该组斑马线的四个角的点可决定斑马线的尺寸大小,在计算纹理贴图交通标线数据对应的纹理贴图交通标线纹理坐标时,可计算该组斑马线的四个角的点的纹理坐标,以确定斑马线的轮廓形状。如图4所示,该组斑马线的四个角的点分别为o点、x点、y点、z点。

根据所需生成的斑马线的纹理贴图的长宽尺寸以及实际的斑马线的长宽尺寸,可知x点的纹理坐标为(2.5,0),y点的纹理坐标为(2,0),z点的纹理坐标为(2.5,2)。

而为了进一步提高道路三维可视化建模方法所加载的电子地图中道路的准确性,上述实施例中在预设矢量道路分类数据后,根据纹理贴图交通标线数据,得到纹理贴图交通标线数据对应的纹理贴图交通标线纹理坐标前,上述实施例中提供的道路三维可视化建模方法还包括:

根据矢量道路分类数据,得到纹理贴图交通标线数据的纹理种类;

在对线性交通标线赋值数据、纹理贴图交通标线纹理坐标和路面数据均进行渲染前,根据所述纹理贴图交通标线数据,得到纹理贴图交通标线数据对应的纹理贴图交通标线纹理坐标后,如图3所示,上述实施例提供的道路三维可视化建模方法还包括与步骤s200a、步骤s200b并行的步骤s200c:根据纹理贴图交通标线数据生成纹理对象,具体包括以下步骤:

步骤s201c:建立纹理对象;

步骤s202c:鉴于地图api的texture3d特性,将各种纹理贴图交通标线数据记录到纹理对象中;

步骤s203c:按照纹理贴图交通标线数据的种类,向每种纹理贴图交通标线数据分配网络地址。

示例性的,网络地址选用统一资源定位符(uniformresourcelocator,缩写为url)表达,url是对可以从互联网上得到的资源的位置和访问方法的一种简洁的表示,是互联网上标准资源的地址,互联网上的每个文件都有一个唯一的url,它包含的信息指出文件的位置以及浏览器应该怎么处理它。

基于上述纹理对象的生成过程可以发现,本发明实施例在生成纹理对象的过程中,将纹理贴图交通标线数据记录到纹理对象中,这一过程实质上可以看作是将纹理贴图交通标线数据对应的纹理贴图交通标线图片用一个图片数据进行管理,这样就能够保证所有种类的纹理贴图交通标线都能够被处理,而不会发生数据丢弃的问题,从而进一步提高了道路三维可视化建模方法所加载的电子地图中道路的准确性。

而且,本发明实施例提供的道路三维可视化建模方法中,在将各种纹理贴图交通标线数据记录到纹理对象的前提下,还按照纹理贴图交通标线数据的种类,向每种纹理贴图交通标线数据分配网络地址,这样就能够保证每种纹理贴图交通标线数据都有一个独立的网络存储位置,以使得在后续渲染纹理贴图交通标线数据时,通过查询网络地址以独立的调取所需纹理贴图交通标线数据,以对对应纹理贴图交通标线的纹理进行渲染,而不会影响其他种类的纹理贴图交通标线数据,因此,本发明实施例提供的道路三维可视化建模方法,可向每种纹理贴图交通标线数据分配网络地址,使得不同种类的纹理贴图交通标线数据的纹理实现异步渲染,从而提高了道路三维可视化建模方法的速度,节省了时间。另外,如果某种纹理贴图交通标线发生变化,还可以通过数据替换的方式,更新该纹理对象中发生变化的纹理贴图交通标线数据,而不会影响其他正在渲染的纹理交通标线数据的纹理渲染。

而考虑到路面为高架桥路面时,一般在实景中存在高架桥路面阴影,但一般所采集的矢量道路数据中不会包含高架桥路面阴影,导致上述实施例提供的道路三维可视化建模方法所加载的电子地图的道路三维效果比较差,为了提高上述实施例提供的道路三维可视化建模方法所加载的电子地图的道路三维效果,如图3所示,在对线性交通标线赋值数据、纹理贴图交通标线纹理坐标和路面数据均进行渲染前,预设矢量道路分类数据后,上述实施例道路三维可视化建模方法还包括与步骤200a、步骤200b以及步骤s200c以及步骤200d:对路面的阴影进行仿造,具体包括如下步骤:

步骤201d:从路面数据中提取所述路面数据的高度信息;

步骤202d:根据路面数据的高度信息,在路面数据的基准零面生成作为仿造阴影的仿造图层数据,使得路面数据中含有仿造图层数据,这样只是通过在路面数据中载入仿造图层数据,就可以在对路面数据进行渲染后,比较好的模拟三维空间的阴影,但是又不会极大降低渲染效率,所加载的电子地图中代渲染的路面r1对应的渲染的道路仿造阴影r2见图6;其中,仿造图层数据中可以设定仿造图层的颜色和透明度,而考虑到实景中阴影一般为灰色并可以透过阴影看到基准零面,因此,仿造图层数据中设定仿造图层的颜色为灰色,半透明状态。

需要说明的是,考虑到对纹理贴图交通标线数据进行数据处理前,以及对路面数据进行处理的复杂性,可在对纹理贴图交通标线数据和路面数据进行处理前,进行三角化数据切分,三角化数据切分所采用的方法一般为图形三角化方法。

进一步,如图7所示,上述实施例对线性交通标线赋值数据、纹理贴图交通标线纹理坐标和路面数据均进行位置渲染和颜色渲染,完成道路三维可视化建模包括:

步骤s301:利用顶点着色器实现对线性交通标线赋值数据对应的线性交通标线进行位置渲染,对纹理贴图交通标线纹理坐标对应的纹理贴图交通标线进行位置渲染,对路面数据对应的路面进行位置渲染;

步骤s302:利用片元着色器对线性交通标线赋值数据对应的线性交通标线进行光栅化划分,然后对线性交通标线赋值数据对应的线性交通标线的每个像素点进行颜色渲染,同理对路面数据对应的路面进行光栅化划分,然后对路面数据对应的路面的每个像素点进行颜色渲染;

根据纹理贴图交通标线纹理坐标对应的纹理贴图交通标线数据的属性赋值,确定纹理贴图交通标线纹理坐标对应的纹理贴图交通标线数据的网络地址;

根据纹理贴图交通标线纹理坐标对应的纹理贴图交通标线数据的网络地址,查找到纹理贴图交通标线纹理坐标对应的纹理贴图交通标线数据;

根据纹理贴图交通标线纹理坐标对应的纹理贴图交通标线数据,对纹理贴图交通标线纹理坐标对应的纹理贴图交通标线进行纹理渲染。

上述实施例提供的道路三维可视化建模方法的具体流程通过计算机程序的运行,所加载的电子地图的道路见图8,图8中r1指代渲染的路面,r2指代渲染的路面仿造阴影;l指代渲染的线性交通标线,w指代渲染的纹理贴图交通标线,渲染的纹理贴图交通标线可以为斑马线、转弯指示线。从图8可以看出,本发明实施例提供的道路三维可视化建模方法以矢量数据为基础所渲染处的道路不仅呈现出比较好的三维效果,能够在三维方向上的漫游浏览,而且还能够所渲染的道路的细节刻画比较精确。

如图1、图3和图9所示,本发明实施例还提供了一种道路三维可视化建模装置,该道路三维可视化建模装置包括:

预设模块,预设矢量道路分类数据;矢量道路分类数据包括线性交通标线数据、纹理贴图交通标线数据以及路面数据;

处理模块,用于对线性交通标线数据进行数据赋值,得到线性交通标线赋值数据;根据纹理贴图交通标线数据,得到纹理贴图交通标线数据对应的纹理贴图交通标线纹理坐标;

渲染模块,用于对线性交通标线赋值数据、纹理贴图交通标线纹理坐标和路面数据均进行渲染。

与现有技术相比,本发明实施例提供的道路三维可视化建模装置的有益效果与上述技术方案提供的道路三维可视化建模方法的有益效果相同,在此不做赘述。

具体的,如图2和图10所示,上述实施例中预设模块包括如下几个模块:

获取单元101,用于获取矢量道路数据;

分类单元102,用于对矢量道路数据进行分类,得到矢量道路分类数据;矢量道路数据包括线性交通标线数据、纹理贴图交通标线数据以及路面数据;

属性赋值单元103,用于对所述矢量道路数据进行属性赋值。

需要说明的是,上述实施例中,可以是属性赋值单元103先执行,也可以是分类单元102先执行,只是后执行的单元与处理模块200、高度提取模块700以及统计模块400连接。

如图1、图3和图11所示,上述实施例中处理模块包括处理模块包括如下几个模块:

数据赋值单元201,用于对线性交通标线数据进行数据赋值,得到线性交通标线赋值数据;

纹理坐标运算单元202,用于采用三维纹理贴图技术,根据纹理贴图交通标线数据,得到所述纹理贴图交通标线数据对应的纹理贴图交通标线纹理坐标。

进一步,为了提高本发明实施例提供的道路三维可视化建模装置加载电子地图中道路的速度,如图3和图9所示,本发明实施例提供的道路三维可视化建模装置还包括:

统计模块400,用于根据矢量道路分类数据,得到纹理贴图交通标线数据的纹理种类;

纹理对象建立模块500,用于建立纹理对象,将各种纹理贴图交通标线数据记录到所述纹理对象中并存储;

地址分配模块600,用于按照纹理贴图交通标线数据的种类,向每种纹理贴图交通标线数据分配网络地址,并存储在纹理对象建立模块500中。

可选的,如图7和图11所示,上述实施例中渲染模块包括:顶点着色器301,用于对线性交通标线赋值数据对应的线性交通标线进行位置渲染,对纹理贴图交通标线纹理坐标对应的纹理贴图交通标线进行位置渲染,对路面数据对应的路面进行位置渲染;

片元着色器302,用于对线性交通标线赋值数据对应的线性交通标线的每个像素点进行颜色渲染,对路面数据对应的路面的每个像素点进行颜色渲染;

以及根据纹理贴图交通标线纹理坐标对应的纹理贴图交通标线数据的属性赋值,确定纹理贴图交通标线纹理坐标对应的纹理贴图交通标线数据的网络地址;根据纹理贴图交通标线纹理坐标对应的纹理贴图交通标线数据的网络地址,查找到纹理贴图交通标线纹理坐标对应的纹理贴图交通标线数据;根据纹理贴图交通标线纹理坐标对应的纹理贴图交通标线数据,对纹理贴图交通标线纹理坐标对应的纹理贴图交通标线进行纹理渲染。

而为了提高上述道路三维可视化建模装置所加载的电子地图中道路的三维可视化,如图3和图9所示,上述实施例提供的道路三维可视化建模装置还包括:

高度提取模块700,用于从路面数据中提取所述路面数据的高度信息;

仿造数据载入模块800,用于根据路面数据的高度信息,在路面数据的基准零面生成作为仿造阴影的仿造图层数据,使得路面数据中含有仿造图层数据。

本发明实施例还提供了一种道路三维可视化建模终端,如图13所示,具体包括处理器901、收发器902和存储器903;处理器901、收发器902和存储器903通过总线904彼此通信。

其中,所述存储器903用于存储多个指令以实现本发明提供的路三维可视化建模方法,所述处理器901执行所述多个指令以实现读取数据库,以实现上述路三维可视化建模方法。

本发明实施例所述的处理器901可以是一个处理器,也可以是多个处理元件的统称。例如,该处理器901可以是中央处理器(centralprocessingunit,简称cpu),也可以是特定集成电路(applicationspecificintegratedcircuit,简称asic),或者是被配置成实施本发明实施例的一个或多个集成电路,例如:一个或多个微处理器(digitalsignalprocessor,简称dsp),或,一个或者多个现场可编程门阵列(fieldprogrammablegatearray,简称fpga)。

存储器903可以是一个存储装置,也可以是多个存储元件的统称,且用于存储可执行程序代码等。且存储器903可以包括随机存储器(ram),也可以包括非易失性存储器(non-volatilememory),例如磁盘存储器,闪存(flash)等。

总线904可以是工业标准体系结构(industrystandardarchitecture,isa)总线、外部设备互连(peripheralcomponent,pci)总线或扩展工业标准体系结构(extendedindustrystandardarchitecture,eisa)总线等。该总线904可以分为地址总线、数据总线、控制总线等。为便于表示,图13中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。

本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于设备实施例而言,由于其基本相似于方法实施例,所以描述得比较简单,相关之处参见方法实施例的部分说明即可。

本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(read-only

memory,rom)或随机存储记忆体(randomaccessmemory,ram)等。

以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应该以权利要求的保护范围为准。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1