CN112102489B - 导航界面显示方法、装置、计算设备和存储介质 - Google Patents
导航界面显示方法、装置、计算设备和存储介质 Download PDFInfo
- Publication number
- CN112102489B CN112102489B CN202011015409.2A CN202011015409A CN112102489B CN 112102489 B CN112102489 B CN 112102489B CN 202011015409 A CN202011015409 A CN 202011015409A CN 112102489 B CN112102489 B CN 112102489B
- Authority
- CN
- China
- Prior art keywords
- intersection
- dimensional
- road
- pipeline
- pipeline section
- 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
Images
Classifications
-
- 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
-
- 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
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T15/00—3D [Three Dimensional] image rendering
-
- 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/20—Finite element generation, e.g. wire-frame surface description, tesselation
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Graphics (AREA)
- Geometry (AREA)
- Software Systems (AREA)
- Remote Sensing (AREA)
- Databases & Information Systems (AREA)
- Data Mining & Analysis (AREA)
- General Engineering & Computer Science (AREA)
- Processing Or Creating Images (AREA)
Abstract
本发明实施例涉及一种导航界面显示方法、装置、计算设备和计算机可读存储介质。该导航界面显示方法包括:获取矢量化数据,其中矢量化数据用于对路口进行三维建模;利用矢量化数据建立路口的三维矢量模型;基于三维矢量模型生成路口的三维矢量放大图;在导航界面上的路口显示区域中显示三维矢量放大图。本发明的实施例有助于减少在生成路口放大图时所需的数据量,并提高电子地图导航数据维护的效率。
Description
技术领域
本发明涉及计算机技术领域,特别涉及一种导航界面显示方法、装置、计算设备和计算机可读存储介质。
背景技术
导航应用是一种用于在用户行走或驾驶过程中为其提供路线引导服务的产品。目前,主流导航应用通常都可以提供路口放大图,以便用户可以更清晰地看到路口区域的信息,以避免行进至错误的道路或方向。然而,当前导航应用所提供的路口放大图主要包括实景放大图和模式放大图。这两种放大图的生产成本高、成图工艺严重依赖于人工,因而很难具备大范围路口覆盖能力。此外,这两种放大图一般是预先生成并存储在云端服务器中的,并以图片的形式下发至导航客户端。因此,这两种放大图的下发过程需要消耗较多流量,并对网络带宽具有较高的要求。这在实际导航过程中可能会影响放大图的获取速率,并进而影响导航体验。
发明内容
有鉴于此,本发明提供了一种导航界面显示方法、装置、计算设备及存储介质,旨在缓解、减轻或甚至消除上述问题以及可能存在的其他问题。
根据本发明的一方面,提供了一种导航界面显示方法,包括:获取矢量化数据,其中所述矢量化数据用于对路口进行三维建模;利用所述矢量化数据建立所述路口的三维矢量模型;基于所述三维矢量模型生成所述路口的三维矢量放大图;在导航界面上的路口显示区域中显示所述三维矢量放大图。
在一些实施例中,所述矢量化数据包括表示所述路口所连通的多条道路的相应中心线,并且其中,所述利用所述矢量化数据建立所述路口的三维矢量模型包括:基于每条道路的中心线和该道路中的路网元素的预设管线截面建立所述路网元素的管线模型。
在一些实施例中,每条道路的中心线包括第一端点和第二端点,该道路中的所述路网元素相对于该中心线具有偏移量,并且其中,所述基于每条道路的中心线和该道路中的路网元素的预设管线截面建立所述路网元素的管线模型包括:基于该中心线的第一端点和第二端点、所述路网元素相对于该中心线的偏移量以及所述预设管线截面,确定与该中心线的第一端点相关联的第一管线截面和与第二端点相关联的第二管线截面;基于所述第一管线截面和所述第二管线截面确定所述路网元素的管线模型。
在一些实施例中,所述预设管线截面包括截面顶点,每个截面顶点以二维坐标表示,并且所述偏移量包括偏移值和偏移方向,并且其中,所述基于该中心线的第一端点和第二端点、所述路网元素相对于该中心线的偏移量以及所述预设管线截面,确定与该中心线的第一端点相关联的第一管线截面和与第二端点相关联的第二管线截面,包括:基于所述偏移值和所述预设管线截面,确定所述第一管线截面的与所述预设管线截面的截面顶点对应的三维顶点坐标和所述第二管线截面的与所述预设管线截面的截面顶点对应的三维顶点坐标,其中每个三维顶点坐标包括以下坐标分量:所述预设管线截面的对应截面顶点的第一维坐标分量与所述偏移值之和、零坐标分量、所述预设管线截面的对应截面顶点的第二维坐标分量;基于所述第一端点的位置坐标、所述第二端点的位置坐标和所述偏移方向确定与所述第一端点相关联的第一变换矩阵和与所述第二端点相关联的第二变换矩阵;基于所述第一管线截面和第二管线截面的每个三维顶点坐标,确定每个三维顶点坐标对应的齐次坐标;通过将所述第一变换矩阵与所述第一管线截面的每个三维顶点坐标对应的齐次坐标相乘,并通过将所述第二变换矩阵与所述第二管线截面的每个三维顶点坐标对应的齐次坐标相乘,确定所述路网元素的第一管线截面和第二管线截面的每个截面顶点的管线坐标。
在一些实施例中,所述矢量化数据还包括多个节点,所述多个节点表示所述路口与所连通的多条道路的边线的交点,并且其中,所述利用所述矢量化数据建立所述路口的三维矢量模型还包括:基于所述多个节点建立所述路口的中心区的三维模型和所述路口的多个连接区的三维模型,所述多个连接区对应于所述多条道路,每个连接区为从所述路口的中心区沿相应道路延伸的局部区域。
在一些实施例中,所述基于所述多个节点建立所述中心区的三维模型包括:确定遍历所述多个节点的最小闭合环作为所述中心区。
在一些实施例中,所述基于所述多个节点建立所述多个连接区的三维模型包括:将所述多个节点中的每个节点沿相应道路远离所述中心区偏移预定距离,作为相应连接区从所述中心区沿该道路延伸的边界点。
在一些实施例中,所述基于所述三维矢量模型生成所述路口的三维矢量放大图包括:基于所述路口对应的视野范围的高度和预先设置的视场角确定观察矩阵;基于所述视野范围的宽度与高度的比值、所述视场角、预先设置的近平面距离和远平面距离确定投影矩阵;将所确定的路网元素的第一管线截面和第二管线截面的每个截面顶点的齐次坐标依次与所述观察矩阵和所述投影矩阵相乘,来将所建立的路网元素的管线模型映射至所述三维矢量放大图的坐标空间中。
在一些实施例中,所述路网元素包括:双黄线、车道线、路牙,并且其中所述基于所述三维矢量模型生成所述路口的三维矢量放大图还包括以下中的至少一项:在所述双黄线的管线模型上填充纹理和颜色中的至少一项;在所述车道线的管线模型上填充纹理和颜色中的至少一项;在所述车道线的管线模型之间填充车道流向箭头图片;在所述路牙的管线模型上填充纹理和颜色中的至少一项。
在一些实施例中,所述在导航界面上的路口显示区域中显示所述三维矢量放大图是响应于以下至少一项条件被满足而被执行:与该路口连通的道路条数大于或等于阈值道路条数;与该路口相关联的历史偏航率大于或等于阈值偏航率。
在一些实施例中,所述在导航界面上的路口显示区域中显示所述三维矢量放大图包括:生成路口显示区域模板,所述路口显示区域模板限定所述导航界面上的所述路口显示区域为圆角矩形显示区域;将所述路口显示区域模板应用于所述三维矢量放大图,使得在所述圆角矩形显示区域中显示所述三维矢量放大图。
在一些实施例中,所述生成路口显示区域模板包括:获取表征直角矩形显示区域的多个顶点坐标和回退系数;基于所述多个顶点坐标和回退系数确定与每个顶点坐标对应的两个回退点坐标;利用平滑插值算法确定与每个顶点坐标对应的两个回退点坐标之间的多个平滑点坐标;基于所确定的回退点坐标和平滑点坐标确定所述圆角矩形显示区域。
根据本发明的另一方面,提供了一种导航界面显示装置,包括:获取模块,被配置为获取矢量化数据,其中所述矢量化数据用于对路口进行三维建模;建立模块,被配置为利用所述矢量化数据建立所述路口的三维矢量模型;生成模块,被配置为基于所述三维矢量模型生成所述路口的三维矢量放大图;显示模块,被配置为在导航界面上的路口显示区域中显示所述三维矢量放大图。
根据本发明的又一方面,提供了一种计算设备,包括存储器和处理器,所述存储器被配置成在其上存储计算机可执行指令,所述计算机可执行指令当在所述处理器上执行时执行上述方面中所述的导航界面显示方法。
根据本发明的又一方面,提供了一种计算机可读存储介质,其上存储计算机可执行指令,所述计算机可执行指令当在处理器上执行时执行上述方面中所述的导航界面显示方法。
本发明的实施例可以在生成路口放大图时获取矢量化数据,并基于矢量化数据对路口进行三维建模,并生成和显示三维矢量放大图。相较于实景放大图和模式放大图,使用矢量化数据可以大大减少在生成路口放大图时所需的数据量,降低对网络带宽的需求,从而有助于在网络环境欠佳的情况下改善用户导航体验,降低用户导航的偏航率。相应地,在导航终端中,存储或加载矢量化数据也可以大大降低内存占用量。另外,由于所存储数据量的减少,在更新道路信息时,需要更新的数据量也随之减少,因此本发明的实施例也有利于提高导航数据维护的效率。
根据在下文中所描述的实施例,本发明的这些和其它方面将是清楚明白的,并且将参考在下文中所描述的实施例而被阐明。
附图说明
在下面结合附图对于示例性实施例的描述中,本发明的更多细节、特征和优点被公开,在附图中:
图1示意性示出了相关技术中生成路口放大图的示例原理;
图2示意性示出了可以应用本发明的实施例的示例场景;
图3示意性示出了根据本发明的一些实施例的导航界面显示方法的示例流程图;
图4示意性示出了根据本发明的一些实施例的管线模型截面的示例;
图5示意性示出了图3的方法中建立路网元素的管线模型的步骤的示例流程图;
图6以路牙为例示出了根据本发明的一些实施例的建立管线模型的示意图;
图7示意性示出了根据本发明的一些实施例的路口中心区及连接区的示例;
图8示意性示出了根据本发明的一些实施例确定路口中心区及连接区的示例过程;
图9示意性示出了根据本发明的一些实施例的观察矩阵及投影矩阵的确定过程;
图10示意性示出了根据本发明的一些实施例的示例导航界面图;
图11示意性示出了根据本发明的一些实施例的确定圆角矩形显示区域的过程;
图12示意性示出了根据本发明的一些实施例的导航界面显示装置的示例框图;
图13示意性示出了根据本发明的一些实施例的计算设备的示例框图。
具体实施方式
在详细介绍本发明的实施例之前,首先对一些相关的概念进行解释:
1、矢量化数据:一种利用欧几里得几何学中点、线、面及其组合体来表示地理实体空间分布中的一种数据组织方式。以二维空间为例,在矢量化数据中,点实体可以由一对坐标来表示,线实体可以认为是由连续的直线段组成的曲线,可以由一系列坐标对来表示,面实体可以通过其边界线来表示。
2、管线模型:本发明中所提及的管线模型是一种三维模型,可以用于模拟诸如双黄线、车道线、路牙等与道路中心线具有平行关系的路网元素。
3、FOV(Field of View):视场角,以观察点为顶点,观察点例如是镜头所在位置,以被观察目标的物像可通过镜头的最大范围的两条边缘构成的夹角即为视场角,FOV越大,观察到的视野范围就越大。
4、透视投影:从某个投射中心将物体投射到单一投影面上所得到的图形。特点是近大远小,更接近真实的世界表现。透视投影的整个有效空间是一个六棱锥的平截头体。
5、模板测试:启用模板测试时,OPENGL会在内存中开辟一块空间作为模板缓冲区,里边保存了每个像素的“模板值”,模板测试的过程就是把每一个片元的模板值与一个设定的模板参考值进行比较,符合设定条件的通过测试,不符合条件的则不会绘制。利用此技术可以实现很多的特效,例如圆角轮廓、镜面效果,阴影效果等。
图1示意性示出了相关技术中生成路口放大图的原理图100。如图1所示,在相关技术中,在生成路口放大图时,通常采用道路背景和道路箭头叠加的方式。例如,可以将图1所示的道路箭头120叠加至道路图片110上,来生成路口放大图130。一般而言,道路图片是以栅格图片的形式存储和传输的,并且每个路口放大图包括离线生成的栅格道路图片和箭头图片。由于这种路口放大图需要离线生成,并需要人工质检,因此上线流程较长,生成成本较高,从而其产量难以满足覆盖路网中大部分路口的需要,并且其更新将需要重新生成所有路口放大图,这将再次耗费大量成本。这种路口放大图的渲染框架不够灵活,在意图调整路口放大图的样式时,需要重新生成符合新样式的栅格图片,并且其难以支持动态场景切换显示。此外,这种路口放大图的数据量较大,在经由网络从服务器传输至终端设备时,需要消耗较多流量,诸如20-30 KB流量。当其在终端设备处被加载至内存中时,也需要消耗较大内存,诸如8 MB内存(其中箭头图片和道路图片可能各消耗4 MB内存)。
基于上述分析,本发明的实施例提出了基于矢量化数据生成路口的三维矢量放大图的技术方案。相较于上述相关技术中的路口放大图,在本发明的实施例中,可以由提供导航服务的终端设备基于矢量化数据生成路口的三维矢量放大图。这种三维矢量放大图可以更直观地展示路口处的道路拓扑关系,有助于避免用户偏航。用于生成这种三维矢量放大图的矢量化数据可以仅包含以点、线形式存储的道路的拓扑关系,因此其数据量可以远低于相应栅格图片的数据量。当需要更新道路信息时,可以仅更新相应矢量化数据,而当需要调整路口放大图的样式时,可以仅调整生成三维矢量放大图的过程中涉及的有关参数,从而可以大大降低应用程序以及相关数据的更新和维护成本。当从服务器向终端设备传输对应于某个路口的矢量化数据时,其所需流量可能仅为例如1-2 KB,也即,相较于对应栅格图片,可以节省90%以上的流量。当在终端设备处加载相应矢量化数据时,相较于对应栅格图片,内存消耗量也可以减少50%以上。此外,在终端设备处,基于矢量化数据生成的三维矢量放大图可以适应不同分辨率的屏幕,保证路网显示效果不会因分辨率差异而出现失真,从而有助于进一步提高导航过程中的用户体验,并降低可能因失真带来的偏航。
图2示意性示出了可以应用本发明的实施例的示例场景200。如图所示,场景200包括终端设备220和服务器230,两者通过网络240相连接。
终端设备220可以是各种类型的设备,例如移动电话、平板电脑、笔记本电脑、诸如智能手表的可穿戴设备、车载导航设备等。终端设备220上可以部署有导航客户端,该导航客户端可以根据本发明的一些实施例提供的方法来提供导航服务,并且可以采取如下形式中的任一种:本地安装的应用程序、经由其他应用程序访问的小程序、经由浏览器访问的web程序等。用户210可以通过终端设备220的输入/输出接口使用导航客户端提供的导航服务。
服务器230可以是单个服务器或服务器集群,其上可以存储有数据,包括但不限于用于生成本发明实施例中提到的三维矢量放大图的矢量化数据。服务器230可以基于终端设备240的请求而经由网络240向其下发矢量化数据,来用于根据本发明的一些实施例提供的方法向用户210提供导航服务。此外,应理解,服务器230和终端设备220也可能是一体的,即上述矢量化数据可以是在终端设备220处本地存储的,在这种情况下,将不需要经由网络240下发这些数据,而是通过终端设备220的内部通信链路来加载这些数据。
网络240可以是经由诸如电缆、光纤等连接的有线网络,也可以是诸如2G、3G、4G、5G、Wi-Fi、蓝牙、ZigBee、Li-Fi等的无线网络。
图3示意性示出了根据本发明的一些实施例的导航界面显示方法300的示例流程图。该方法可以由图2中的终端设备220执行,例如由部署在终端设备220上的导航应用执行,或者可以由终端设备220和服务器230的组合执行。如图所示,导航界面显示方法300包括:获取矢量化数据,其中矢量化数据用于对路口进行三维建模(步骤310);利用矢量化数据建立路口的三维矢量模型(步骤320);基于三维矢量模型生成路口的三维矢量放大图(步骤330);在导航界面上的路口显示区域中显示三维矢量放大图(步骤340)。
在一些实施例中,在步骤310,可以基于导航数据判断当前位置与路口的距离是否小于或等于阈值距离,并由此确定是否获取矢量化数据。此处,导航数据可以是例如GPS接收机、北斗导航系统接收机等接收的定位数据,该定位数据可以用于定位当前位置。将当前位置与电子地图数据库中的路口位置进行比较,可以确定当前位置与路口的距离是否小于或等于阈值距离。该阈值距离可以是根据经验预先设置的,或者可以由用户设定,或者也可以根据预设规则自动确定。在示例中,在当前位置与路口的距离小于或等于阈值距离时,可以经由网络向服务器(例如图2中的服务器230)请求矢量化数据,服务器可以响应于接收到该请求而向相应终端设备(例如图2中的终端设备210)发送相应矢量化数据。或者,在本地存储矢量化数据的示例中,可以直接调用本地存储的矢量化数据。在其他实施例中,也可以响应于用户针对电子地图客户端的操作而获取矢量化数据。例如,当用户打开电子地图客户端并在电子地图上浏览路口或路口附近的位置时,可以获取矢量化数据。在各实施例中,矢量化数据可以包括表征路口处道路拓扑关系的点、线坐标数据。示例性地,这些坐标数据可以是二维坐标数据,例如由经纬度数据转换成的墨卡托坐标系下的坐标数据,坐标系的原点可以是路口区域的中心点。
在一些实施例中,可以对结合用户热点轨迹分析,对复杂路口和高偏航路口进行筛选,以确定是否显示路口的三维矢量放大图。可选地,可以响应于以下至少一项条件被满足而在导航界面上的路口显示区域中显示三维矢量放大图:与该路口连通的道路条数大于或等于阈值道路条数;与该路口相关联的历史偏航率大于或等于阈值偏航率。上述阈值道路条数及阈值偏航率可以是预先设定的,或者可以是根据用户历史行为自动确定的,例如可以基于用户的历史偏航情况自动确定适合于该用户的历史阈值道路条数或阈值偏航率。当与路口连通的道路条数大于或等于阈值道路条数时,可能不易分辨正确的行进方向,从而可能容易导致偏航;当历史偏航率大于或等于阈值偏航率时,可能表明该路口处容易发生偏航。因此,通过这样的筛选,可以仅针对易偏航路口展示三维矢量放大图,这有助于在容易发生偏航的路口处引起用户的注意,从而有助于进一步降低发生偏航的可能性,同时可以进一步节省流量或内存消耗量。
在步骤320,可以利用所获取的矢量化数据建立相应路口的三维矢量模型。该三维矢量模型的建立可以包括路网元素的管线模型的建立、路口中心区建模和路口连接区建模。
在一些实施例中,矢量化数据可以包括表示路口所连通的多条道路的相应中心线,利用矢量化数据建立路口的三维矢量模型可以包括:基于每条道路的中心线和该道路中的路网元素的预设管线截面建立路网元素的管线模型。如前所述,管线模型是一种三维模型,图4示意性示出了管线模型截面的示例400,其中420为道路410的管线模型截面。在本发明的一些实施例中,路网元素的管线模型可以利用预设管线截面并通过复用道路中心线来建立。在本发明的实施例中,路网元素可以包括双黄线、车道线、路牙等中的至少一个,但也不排除包括其他类型的路网元素。路网元素的预设管线截面可以是本地存储或从服务器处获取的,建立路网元素的管线模型允许以三维形式展示道路中的双黄线、车道线和/或路牙等,从而使得用户可以更直观和清晰地查看道路拓扑关系以及路线导航信息。此外,建立管线模型所需的数据量很少,建立过程中的计算量也不会过于繁琐,有助于克服或缓解上述相关技术中的诸多问题。
更具体地,图5示意性示出了图3的方法300中建立路口的三维矢量模型的步骤320(更具体地,步骤320中,建立路网元素的管线模型)的示例流程图。示例性地,每条道路的中心线可以包括第一端点和第二端点,该道路中的路网元素相对于该中心线可以具有偏移量。在这种情况下,基于每条道路的中心线和该道路中的路网元素的预设管线截面建立路网元素的管线模型可以包括:基于该中心线的第一端点和第二端点、路网元素相对于该中心线的偏移量以及预设管线截面,确定与该中心线的第一端点相关联的第一管线截面和与第二端点相关联的第二管线截面(步骤321);基于第一管线截面和所述第二管线截面确定路网元素的管线模型(步骤322)。
可以理解,在矢量化数据中,道路的中心线可以由至少两个端点来表示,例如,直线道路的中心线可以由两个端点表示,而曲线道路的中心线可以由多个端点表示。可选地,道路中可以存在至少一个路网元素,可以根据图5所示的方法分别建立各个路网元素的管线模型。另外,针对曲线道路的中心线或任何由多个端点表示的道路的中心线,可以将其视为多个由两个相邻端点表示的直线道路分段的中心线,并根据图5所示的方法分别建立各个直线道路分段的管线模型,进而可以将所建立的多个管线模型组合成相应道路中的路网元素的完整管线模型。
示例性地,预设管线截面可以包括截面顶点,每个截面顶点可以以二维坐标表示,并且偏移量可以包括偏移值和偏移方向。在这种情况下,步骤321可以包括:基于偏移值和预设管线截面,确定第一管线截面的与预设管线截面的截面顶点对应的三维顶点坐标和第二管线截面的与预设管线截面的截面顶点对应的三维顶点坐标,其中每个三维顶点坐标包括以下坐标分量:预设管线截面的对应截面顶点的第一维坐标分量与偏移值之和、零坐标分量、预设管线截面的对应截面顶点的第二维坐标分量(步骤3211);基于第一端点的位置坐标、第二端点的位置坐标和偏移方向确定与第一端点相关联的第一变换矩阵和与第二端点相关联的第二变换矩阵(步骤3212);基于第一管线截面和第二管线截面的每个三维顶点坐标,确定每个三维顶点坐标对应的齐次坐标(步骤3213);通过将第一变换矩阵与第一管线截面的每个三维顶点坐标对应的齐次坐标相乘,并通过将第二变换矩阵与第二管线截面的每个三维顶点坐标对应的齐次坐标相乘,确定路网元素的第一管线截面和第二管线截面的每个截面顶点的管线坐标(步骤3214)。以及,步骤322可以包括:将第一管线截面的截面顶点的管线坐标和第二管线截面的截面顶点的管线坐标组成路网元素的管线模型(步骤3221)。
图6以道路右侧路牙为例示意性示出了建立管线模型的过程600。610示出了一条道路的中心线和基于中心线和偏移量确定的边线,中心线包括两个端点a、b;620示出了基于端点a、b确定的右侧边线处的路牙的管线模型,其包括实线示出的两个管线截面A、B;630示出了所生成的三维矢量放大图,其中右侧路牙631是基于管线模型620生成的。下面将结合图6详细描述图5中示出的各个步骤的示例实现过程。
如图6所示,可以分别以端点a、b为原点建立坐标系,可以将两端点连线确定为y轴方向,将垂直于两端点连线的方向确定为x轴方向,将垂直于路面所在平面的方向确定为z轴方向(未示出)。此外,在该示例中,预设管线截面可以是正方形的,并且包括4个截面顶点v0、v1、v2和v3。假设预设管线截面的各个截面顶点的坐标分别为v0(0,0)、v1(0,curbW)、v2(curbW,curbW)和v3(curbW,0),其中curbW为预设管线截面的边线的宽度,以及假设右侧边线位置(也即路牙所在位置)相对于中心线的偏移值为RightW。将理解的是,在建立其他路网元素(例如,双黄线、车道线)的管线模型时,预设管线截面不一定是正方形,而可以是任何合适的形状。
在步骤3211,可以基于偏移值和预设管线截面的截面顶点的坐标,在如图6所示的坐标系下,分别确定第一管线截面(如管线截面A)的与预设管线截面的截面顶点对应的三维顶点坐标和第二管线截面(如管线截面B)的与预设管线截面的截面顶点对应的三维顶点坐标。以中心线所包括的端点a为例,在以端点a为原点的x1y坐标系下,与预设管线截面的截面顶点v0对应的三维顶点坐标可以被确定为v(v0.x+RightW,0.0f,v0.y),其中v0.x和v0.y分别为v0的第一维坐标分量和第二维坐标分量,0.0f表示为零的浮点数。类似地,可以确定与端点a对应的管线截面A的与预设管线截面的截面顶点v1、v2及v3对应的三维顶点坐标。并且,可以类似地在以端点b为原点的x2y坐标系下,确定与端点b对应的管线截面B的与预设管线截面的各个截面顶点对应的三维顶点坐标。
在步骤3212,可以基于端点a的位置坐标、端点b的位置坐标和偏移方向(在该示例中为向右方偏移)确定与端点a相关联的第一变换矩阵和matrix0与端点b相关联的第二变换矩阵matrix1。上述端点a的位置坐标及端点b的位置坐标可以为端点a、b在矢量化数据的坐标系中的位置坐标,其位置坐标可以理解为从矢量化数据的坐标系的原点分别向所示坐标系x1y和x2y的原点的偏移。在矢量化数据仅包括二维坐标的情况下,可选地,为了便于参与计算,可以使端点a、b的位置坐标包括为零的第三维分量。此外,上述偏移方向可以是相对于矢量化数据所处于的坐标系的方向。例如偏移方向可以由图中所示的x1轴或x2轴方向相对于矢量化数据的坐标系的x轴(未示出)方向的旋转角度来表示。第一变换矩阵matrix0可以包含从矢量化数据的坐标系的原点向端点a的偏移以及上述偏移方向,第二变换矩阵matrix1可以包含从矢量化数据的坐标系的原点向端点b的偏移以及上述偏移方向。为便于后续计算,matrix0和matrix1可以被确定为4x4矩阵。
在步骤3213,可以计算齐次坐标归一化系数w并确定在步骤3211中确定的各三维顶点坐标对应的齐次坐标。继续以针对端点a确定的与预设管线截面的截面顶点v0对应的三维顶点坐标为例,相应的齐次坐标归一化系数w可以被计算为Float w = 1.0 / (v.x *matrix0.col0.w + v.y * matrix0.col1.w + v.z * matrix0.col2.w +matrix0.col3.w),并且其对应的齐次坐标可以被确定为(v0.x+ RightW,0.0f,v0.y,w),其中,v.x、v.y、v.z分别表示三维顶点坐标v的第一、第二、第三维分量,matrix0.col0.w、matrix0.col1.w、matrix0.col2.w、matrix0.col3.w分别表示第一变换矩阵matrix0的第一列第四行、第二列第四行、第三列第四行、第四列第四行的元素。类似地,可以确定与端点a对应的管线截面A的其余三个三维顶点坐标对应的齐次坐标。并且,可以类似地确定与端点b对应的管线截面B的各个三维顶点坐标对应的齐次坐标。一般而言,对坐标进行旋转、缩放可以通过与矩阵相乘来实现,而对坐标进行平移则需通过与矢量相加来实现。将三维顶点坐标转换为齐次坐标可以允许通过与矩阵相乘来实现平移、旋转、缩放变换,这可以有助于简化后续坐标变换的过程。另外,可以理解,该步骤和上一步骤可以并行执行或交换顺序。
在步骤3214,可以将在步骤3212确定的第一变换矩阵matrix0与在步骤3213确定的管线截面A的每个三维顶点坐标对应的齐次坐标相乘,来确定管线截面A的各截面顶点的管线坐标,以及将第二变换矩阵matrix1与管线截面B的每个三维顶点坐标对应的齐次坐标相乘,来确定管线截面B的各截面顶点的管线坐标。继续以针对端点a确定的管线截面A的与v0对应的三维顶点坐标的齐次坐标为例,与matrix0相乘后所得管线坐标可以为包括以下分量的结果Result:
Result.x = (v.x * matrix0.col0.x + v.y * matrix0.col1.x + v.z *matrix0.col2.x + matrix0.col3.x) * w;
Result.y = (v.x * matrix0.col0.y + v.y * matrix0.col1.y + v.z *matrix0.col2.y + matrix0.col3.y) * w;
Result.z = (v.x * matrix0.col0.z + v.y * matrix0.col1.z + v.z *matrix0.col2.z + matrix0.col3.z) * w。
其中,matrix0.col0.x、matrix0.col1.x、matrix0.col2.x、matrix0.col3.x分别表示第一变换矩阵matrix0的第一列第一行、第二列第一行、第三列第一行、第四列第一行的元素,matrix0.col0.y、matrix0.col1.y、matrix0.col2.y、matrix0.col3.y分别表示第一变换矩阵matrix0的第一列第二行、第二列第二行、第三列第二行、第四列第二行的元素,matrix0.col0.z、matrix0.col1.z、matrix0.col2.z、matrix0.col3.z分别表示第一变换矩阵matrix0的第一列第三行、第二列第三行、第三列第三行、第四列第三行的元素。此外,根据上文确定的归一化系数w,Result的第四维分量可以为1。
随后,在步骤3221,可以将管线截面A的截面顶点的管线坐标和管线截面B的截面顶点的管线坐标组成路牙的管线模型,如图6中所示的管线模型620。当两个截面的位置确定后,将对应顶点相连(如虚线所示)即可得到相应管线模型。该管线模型可以经进一步处理来生成可以在三维矢量放大图中呈现的相应路网元素,例如在本示例中的三维矢量放大图630中的右侧路牙631。这种进一步处理将在后文中描述。
作为示例,在图6中还示出了基于管线模型的其他路网元素,包括车道线632和双黄线633。车道线632和双黄线633的管线模型可以采用与生成路牙631的管线模型类似的方法,通过复用道路中心线来得到,在此不再赘述。图6中还示出了人行横道斑马线634、车道流向箭头635和转弯诱导箭头636,在一些实施例中,它们可以作为图片填充到所生成的管线模型骨架中,如后面将进一步描述的。
在一些实施例中,矢量化数据还可以包括多个节点,多个节点表示路口与所连通的多条道路的边线的交点。在这种情况下,利用矢量化数据建立路口的三维矢量模型还可以包括:基于多个节点建立路口的中心区的三维模型和路口的多个连接区的三维模型,多个连接区对应于多条道路,每个连接区为从路口的中心区沿相应道路延伸的局部区域。路口中心区和连接区的示例可以如图7所示。从路口开始,沿与路口连通的道路的方向延伸一定距离,由此构建出的区域可以称为该路口的连接区。由路口连接区围出的路口内部区域可以称为该路口的中心区。图7示意性示出了路口700的四个连接区710(阴影部分)和一个中心区720。对路口的中心区和连接区进行三维建模可以允许对这两个区域分别进行渲染,从而使得所显示的路口可以更加接近真实效果,进一步提升导航效果及用户体验。
示例性地,基于多个节点建立中心区的三维模型可以包括:确定遍历多个节点的最小闭合环作为中心区。以及,基于多个节点建立多个连接区的三维模型可以包括:将多个节点中的每个节点沿相应道路远离中心区偏移预定距离,作为相应连接区从中心区沿该道路延伸的边界点。
图8示意性示出了根据上述方法确定路口中心区及连接区的过程800。例如,从服务器下发的矢量化数据可以包括图中所示的节点p0至p11,或者也可能仅包括其中的一部分,例如p0-p3。可以通过遍历路口内部路所关联节点,查找到最小闭合环,来形成一个路口中心区,诸如p0-p1、p1-p2的连线可以被称为路口内部路。在查找最小闭合环时,可以遵循以下原则:保证最小出度,并保证串联出的形状为凸多边形。例如,在图8所示的路口中,p0、p1、p2、p3可以构成路口中心区,该区域由两个三角形(p0,p1,p2)和(p2,p3,p0)构成。随之,可以从路口中心区沿道路向外延伸确定连接区域4个点。以其中一条道路为例,(p0,p4,p1,p5)可以构成一个路口连接区,该区域由两个三角形(p0,p4,p1)和(p1,p4,p5)构成。其他3个连接区可以类似地确定。可以理解,上述预定距离可以由矢量化数据中的节点距离确定(诸如p0与p4之间的距离),或者也可以人为指定。
在步骤330,可以基于在步骤320中生成的三维矢量模型生成路口的三维矢量放大图。在步骤320中所得到的三维矢量模型包括路网元素的管线截面的管线坐标、路口中心区的坐标以及路口连接区的坐标。在一些实施例中,这些坐标实际上对应于三维世界坐标系下的坐标点,若要将其显示在诸如二维屏幕的显示器上时,需要对这些坐标点进行变换,以便符合在某个观察点视角处的视觉观察效果。例如,在现实世界中,当我们观察三维物体时,存在诸如近大远小的观察效果。此外,在步骤320中生成的三维矢量模型仅仅勾勒了模型骨架,为了区分各种路网元素及区域,可以在这样的模型骨架上填充相应颜色、纹理和/或图片等,来实现更好的视觉效果。
鉴于上述分析,在一些实施例中,基于三维矢量模型生成路口的三维矢量放大图可以包括:基于路口对应的视野范围的高度和预先设置的视场角确定观察矩阵;基于视野范围的宽度与高度的比值、视场角、预先设置的近平面距离和远平面距离确定投影矩阵;将所确定的路网元素的第一管线截面和第二管线截面的每个截面顶点的齐次坐标依次与观察矩阵和投影矩阵相乘,来将所建立的路网元素的管线模型映射至三维矢量放大图的坐标空间中。
具体而言,视野范围可以指能够在导航界面的路口显示区域中显示的路口的范围,其可以是包括路口的矩形范围。该矩形范围可以具有高度和宽度,该高度和宽度的比例可以与导航界面上的路口显示区域的高度和宽度的比例相同。可以根据该视野范围的高度ViewPortHeight以及设备观察点的FOV角,确定观察点高度cameraHeight。视野范围的高度ViewPortHeight、FOV角和观察点高度cameraHeight在图9中示出,图中坐标系900的原点为视野范围的中心点,也即要显示的路口的中心点。ViewPortHeight、FOV和cameraHeight之间的关系可以如下式所示:
cameraHeight=(ViewPortHeight*0.5)/tan(FOV*0.5)。
由此,可以根据观察点高度cameraHeight得出观察点的位置坐标,并进而得到观察点view矩阵。随后,可以根据视野范围的宽高比(也即导航界面中的路口显示区域的宽高比)、FOV以及预先设置的从观察点到近平面和远平面的距离,可以确定透视投影projection矩阵。从观察点到近平面和远平面的距离可以是人为设置的,也可以是根据预设规则针对不同路口情况自动设置的。可选地,view矩阵和projection矩阵可以分别是4x4矩阵,其中view矩阵实现诸如将三维世界坐标系中的坐标点变换至特定观察点处的观察空间中的效果,projection矩阵可以实现诸如将观察空间中的坐标点变换至标准化的设备坐标空间(即本发明实施例中的三维矢量放大图的坐标空间)中的效果。因此,可以依次使观察矩阵和投影矩阵与在步骤320确定的路网元素的第一管线截面和第二管线截面的每个截面顶点的齐次坐标相乘,来将所建立的路网元素的管线模型映射至三维矢量放大图的坐标空间中。在一些实施例中,该过程可以借助于诸如GPU(图形处理单元)的装置实现。例如,可以将在步骤320中确定的三维矢量模型的坐标点和在本步骤中确定的view矩阵及projection矩阵发送至GPU,GPU渲染流水线可以处理每一个坐标点,并最终光栅化成像素点。
此外,在一些实施例中,为了更真实地模拟实际路口场景,还可以对由所建立的路网元素的管线模型及路口中心区、连接区构成的模型骨架填充颜色、纹理、图片等。其中,如前文所述,路网元素可以包括双黄线、车道线、路牙中的至少一种,并且也可以包括其他类型的路网元素。示例性地,基于三维矢量模型生成路口的三维矢量放大图还可以包括以下中的至少一项:在双黄线的管线模型上填充纹理和/或颜色;在车道线的管线模型上填充纹理和/或颜色;在路牙的管线模型上填充纹理和/或颜色;在车道线的管线模型之间填充车道流向箭头图片。此外,还可以在路口连接区中填充人行横道斑马线和/或导流线等。这些纹理、颜色、图片可以是本地存储的,或者也可以从服务器处获取。类似地,这种填充也可以借助于诸如GPU来实现。
在步骤340,可以将在步骤330生成的三维矢量放大图显示在导航界面上的路口显示区域中。图10示意性示出了示例导航界面1000,其上方部分的矩形方框为路口显示区域1010,其中显示了所生成的三维矢量放大图。
在一些实施例中,当在导航界面上显示三维矢量放大图时,可以在圆角矩形的路口显示区域中进行显示,以便使用户界面显得更加友好。这种圆角效果需要考虑到如何对圆角处的三维矢量模型进行裁剪以满足圆角区域的显示。该过程可以包括:生成路口显示区域模板,路口显示区域模板限定导航界面上的路口显示区域为圆角矩形显示区域;将路口显示区域模板应用于三维矢量放大图,使得在圆角矩形显示区域中显示三维矢量放大图。示例性地,这可以借助于诸如OPENGL的模板测试来实现,生成对应于圆角矩形显示区域的模板缓冲区,并对被渲染的三维矢量模型的区域进行模板值检测,保证对三维矢量模型的渲染不会超出圆角显示区域。OPENGL是一个开放式图形库,是用于渲染2D、3D矢量图形的跨语言、跨平台的应用程序编程接口(API)。
在一些实施例中,生成路口显示区域模板可以包括:获取表征直角矩形显示区域的多个顶点坐标和回退系数;基于多个顶点坐标和回退系数确定与每个顶点坐标对应的两个回退点坐标;利用平滑插值算法确定与每个顶点坐标对应的两个回退点坐标之间的多个平滑点坐标;基于所确定的回退点坐标和平滑点坐标确定圆角矩形显示区域。该过程1100在图11中示意性示出。
如图11所示,可以通过指定回退系数(例如0.1),使p1沿p1->p0和p1->p2两个方向回退,并确定p0、p2的位置。然后,可以根据p0、p1、p2的位置来计算平滑点。可以使用例如高斯滤波算法来得到p0至p2之间的多个平滑点,从而对折角处执行平滑处理。高斯滤波算法是一种线性平滑滤波,适用于消除高斯噪声,广泛应用于图像处理的减噪过程,其可以在本发明实施例中用于对矩形形状的拐角区进行平滑处理。此外,这种平滑处理也可以通过例如B样条、贝塞尔等其他算法来实现。此时,这些平滑点可以围成模板区域,并可以开始启动模板测试。在模板测试中,首先,可以填充模板缓冲区,将平滑后的圆角区域内每个片元的模板缓冲参考值设置成1,执行一个批次的绘制。随后,可以更改模板测试比较方法,将片元模板的参考值不为1的过滤掉,即可实现圆角矩形区域的显示。
应当理解,在本发明的附图中示出了各种步骤,其编号并不指定其执行顺序。实际上,所示步骤中的至少一个步骤可以根据需要并行执行或以不同于所示出的顺序的顺序来执行,本发明对此不作具体限定。
图12示意性示出了根据本发明的一些实施例的导航界面显示装置1200的示例框图。如图所示,导航界面显示装置1200可以包括获取模块1210、建立模块1220、生成模块1230和显示模块1240。
具体而言,获取模块1210可以被配置为响应于导航数据表明车辆与路口的距离小于或等于阈值距离,获取矢量化数据,其中矢量化数据用于对路口进行三维建模;建立模块1220可以被配置为利用矢量化数据建立路口的三维矢量模型;生成模块1230可以被配置为基于三维矢量模型生成路口的三维矢量放大图;显示模块1240可以被配置为在导航界面上的路口显示区域中显示三维矢量放大图。
虽然上面参考特定模块讨论了特定功能,但是应当理解,本文讨论的各个模块的功能可以分为多个模块,和/或多个模块的至少一些功能可以组合成单个模块。本文讨论的特定模块执行动作包括由该特定模块本身执行该动作,或者替换地由该特定模块调用或以其他方式访问执行该动作的另一个组件或模块(或结合该特定模块一起执行该动作)。因此,由特定模块执行动作可以包括由该特定模块本身执行动作和/或由该特定模块调用或以其他方式访问的另一模块执行动作。例如,显示模块1240显示三维矢量放大图可以是指由实施为显示器的显示模块来显示三维矢量放大图,或者可以是指由实施为计算机程序模块的显示模块来发起显示三维矢量放大图。
导航界面显示装置1200可以部署在图2所示的终端设备220或者服务器230和终端设备220的组合上。应理解,导航界面显示装置1200可以以软件、硬件或软硬件相结合的方式实现。多个不同模块可以在同一软件或硬件结构中实现,或者一个模块可以由多个不同的软件或硬件结构实现。
此外,导航界面显示装置1200可以用于实施前文所描述的导航界面显示方法,其相关细节已经在前文中详细描述,为简洁起见,在此不再重复。导航界面显示装置1200可以具有与关于前述导航界面显示方法描述的相同的特征和优势。
图13示意性示出了根据本发明的一些实施例的计算设备1300的框图。例如其可以代表图2中的终端设备220或者服务器230和终端设备220的组合。
计算设备1300可以是例如服务器、台式计算机、膝上型计算机、平板、智能电话、智能手表、可穿戴设备或任何其它合适的计算设备或计算系统,其可以包括从具有大量存储和处理资源的全资源设备到具有有限存储和/或处理资源的低资源设备的各种级别的设备。
如图所示,示例计算设备1300包括彼此通信耦合的处理系统1301、至少一个计算机可读介质1302以及至少一个I/O接口1303。尽管未示出,但是计算设备1300还可以包括将各种组件彼此耦合的系统总线或其他数据和命令传送系统。系统总线可以包括不同总线结构的任何一个或组合,所述总线结构可以是诸如存储器总线或存储器控制器、外围总线、通用串行总线和/或利用各种总线架构中的任何一种的处理器或局部总线,或者还可以包括诸如控制和数据线。
处理系统1301代表使用硬件执行至少一个操作的功能。因此,处理系统1301被图示为包括可被配置为处理器、功能块等的硬件元件1304。这可以包括在硬件中实现专用集成电路或使用至少一个半导体形成的其它逻辑器件。硬件元件1304不受其形成材料或其中采用的处理机构的限制。例如,处理器可以由(多个)半导体和/或晶体管(例如,电子集成电路(IC))组成。在这样的上下文中,处理器可执行指令可以是电子可执行指令。
计算机可读介质1302被图示为包括存储器/存储装置1305。存储器/存储装置1305表示与至少一个计算机可读介质相关联的存储器/存储装置。存储器/存储装置1305可以包括易失性存储介质(诸如随机存取存储器(RAM))和/或非易失性存储介质(诸如只读存储器(ROM)、闪存、光盘、磁盘等)。存储器/存储装置1305可以包括固定介质(例如,RAM、ROM、固定硬盘驱动器等)以及可移动介质(例如,闪存、可移动硬盘驱动器、光盘等)。示例性地,存储器/存储装置1305可以用于存储上文实施例中提及的矢量化数据、所确定的各种坐标点及矩阵等。计算机可读介质1302可以以下面进一步描述的各种其他方式进行配置。
至少一个输入/输出接口1303代表允许用户向计算设备1300键入命令和信息并且还允许使用各种输入/输出设备将信息呈现给用户和/或发送给其他组件或设备的功能。输入设备的示例包括键盘、光标控制设备(例如,鼠标)、麦克风(例如,用于语音输入)、扫描仪、触摸功能(例如,被配置为检测物理触摸的容性或其他传感器)、相机(例如,可以采用可见或不可见的波长(诸如红外频率)将不涉及触摸的运动检测为手势)、网卡、接收机等等。输出设备的示例包括显示设备(例如,监视器或投影仪)、扬声器、打印机、触觉响应设备、网卡、发射机等。示例性地,在上文描述的实施例中,用户210可以通过终端设备220的输入接口来启动导航界面,以及可以通过终端设备220的输出接口来查看导航界面及所生成的路口的三维矢量放大图等。
计算设备1300还可以包括导航界面显示策略1306。导航界面显示策略1306可以作为计算程序指令存储在存储器/存储装置1305中。也即,导航界面显示策略1306可以是上面描述的方法实施例和装置实施例的软件实例。导航界面显示策略1306可以连同处理系统1301等一起实现方法300和导航界面显示装置1200的各个模块的全部功能。
本文可以在软件、硬件、元件或程序模块的一般上下文中描述各种技术。一般地,这些模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、元素、组件、数据结构等。本文所使用的术语“模块”、“功能”等一般表示软件、固件、硬件或其组合。本文描述的技术的特征是与平台无关的,意味着这些技术可以在具有各种处理器的各种计算平台上实现。
所描述的模块和技术的实现可以存储在某种形式的计算机可读介质上或者跨某种形式的计算机可读介质传输。计算机可读介质可以包括可由计算设备1300访问的各种介质。作为示例而非限制,计算机可读介质可以包括“计算机可读存储介质”和“计算机可读信号介质”。
与单纯的信号传输、载波或信号本身相反,“计算机可读存储介质”是指能够持久存储信息的介质和/或设备,和/或有形的存储装置。因此,计算机可读存储介质是指非信号承载介质。计算机可读存储介质包括诸如易失性和非易失性、可移动和不可移动介质和/或以适用于存储信息(诸如计算机可读指令、数据结构、程序模块、逻辑元件/电路或其他数据)的方法或技术实现的存储设备之类的硬件。计算机可读存储介质的示例可以包括但不限于RAM、ROM、EEPROM、闪存或其它存储器技术、CD-ROM、数字通用盘(DVD)或其他光学存储装置、硬盘、盒式磁带、磁带,磁盘存储装置或其他磁存储设备,或其他存储设备、有形介质或适于存储期望信息并可以由计算机访问的制品。
“计算机可读信号介质”是指被配置为诸如经由网络将指令发送到计算设备1300的硬件的信号承载介质。信号介质典型地可以将计算机可读指令、数据结构、程序模块或其他数据体现在诸如载波、数据信号或其它传输机制的调制数据信号中。信号介质还包括任何信息传递介质。作为示例而非限制,信号介质包括诸如有线网络或直接连线的有线介质以及诸如声、RF、红外和其它无线介质的无线介质。
如前所述,硬件元件1301和计算机可读介质1302代表以硬件形式实现的指令、模块、可编程器件逻辑和/或固定器件逻辑,其在一些实施例中可以用于实现本文描述的技术的至少一些方面。硬件元件可以包括集成电路或片上系统、专用集成电路(ASIC)、现场可编程门阵列(FPGA)、复杂可编程逻辑器件(CPLD)以及硅中的其它实现或其他硬件设备的组件。在这种上下文中,硬件元件可以作为执行由硬件元件所体现的指令、模块和/或逻辑所定义的程序任务的处理设备,以及用于存储用于执行的指令的硬件设备,例如,先前描述的计算机可读存储介质。
前述的组合也可以用于实现本文所述的各种技术和模块。因此,可以将软件、硬件或程序模块和其它程序模块实现为在某种形式的计算机可读存储介质上和/或由至少一个硬件元件1301体现的至少一个指令和/或逻辑。计算设备1300可以被配置为实现与软件和/或硬件模块相对应的特定指令和/或功能。因此,例如通过使用处理系统的计算机可读存储介质和/或硬件元件1301,可以至少部分地以硬件来实现将模块实现为可由计算设备1300作为软件执行的模块。指令和/或功能可以由例如至少一个计算设备1300和/或处理系统1301执行/可操作以实现本文所述的技术、模块和示例。
本文描述的技术可以由计算设备1300的这些各种配置来支持,并且不限于本文所描述的技术的具体示例。
应当理解,为清楚起见,参考不同的功能单元对本公开的实施例进行了描述。然而,将明显的是,在不偏离本公开的情况下,每个功能单元的功能性可以被实施在单个单元中、实施在多个单元中或作为其它功能单元的一部分被实施。例如,被说明成由单个单元执行的功能性可以由多个不同的单元来执行。因此,对特定功能单元的参考仅被视为对用于提供所描述的功能性的适当单元的参考,而不是表明严格的逻辑或物理结构或组织。因此,本公开可以被实施在单个单元中,或者可以在物理上和功能上被分布在不同的单元和电路之间。
还应当理解,尽管第一、第二等术语在本文中可以用来描述各种设备、元件、部件或部分,但是这些设备、元件、部件或部分不应当由这些术语限制。这些术语仅用来将一个设备、元件、部件或部分与另一个设备、元件、部件或部分相区分。
通过研究附图、公开内容和所附的权利要求书,本领域技术人员在实践所要求保护的主题时,能够理解和实现对于所公开的实施例的变型。在权利要求书中,词语“包括”不排除其他元件或步骤,并且不定冠词“一”或“一个”不排除多个。在相互不同的从属权利要求中记载了某些措施的仅有事实并不表明这些措施的组合不能用来获利。
Claims (12)
1.一种导航界面显示方法,包括:
基于导航数据定位当前位置;
在当前位置与路口的距离小于或等于阈值距离时,获取所存储的矢量化数据,其中所述矢量化数据包括表征路口处道路拓扑关系的点、线坐标数据以及表示所述路口所连通的多条道路的相应中心线并用于对路口进行三维建模;
利用所述矢量化数据建立所述路口的三维矢量模型;
基于所述三维矢量模型生成所述路口的三维矢量放大图;
在导航界面上的路口显示区域中显示所述三维矢量放大图;
其中,所述利用所述矢量化数据建立所述路口的三维矢量模型包括:
基于每条道路的中心线和该道路中的路网元素的预设管线截面建立所述路网元素的管线模型,其中,每条道路的中心线包括第一端点和第二端点,该道路中的所述路网元素相对于该中心线具有偏移量;
其中,所述基于每条道路的中心线和该道路中的路网元素的预设管线截面建立所述路网元素的管线模型包括:
基于该中心线的第一端点和第二端点、所述路网元素相对于该中心线的偏移量以及所述预设管线截面,确定与该中心线的第一端点相关联的第一管线截面和与第二端点相关联的第二管线截面;
基于所述第一管线截面和所述第二管线截面确定所述路网元素的管线模型;
其中,所述矢量化数据还包括多个节点,所述多个节点表示所述路口与所连通的多条道路的边线的交点,并且其中,所述利用所述矢量化数据建立所述路口的三维矢量模型还包括:
基于所述多个节点建立所述路口的中心区的三维模型和所述路口的多个连接区的三维模型,所述多个连接区对应于所述多条道路,每个连接区为从所述路口的中心区沿相应道路延伸的局部区域。
2.根据权利要求1所述的方法,
其中,所述预设管线截面包括截面顶点,每个截面顶点以二维坐标表示,并且所述偏移量包括偏移值和偏移方向,
其中,所述基于该中心线的第一端点和第二端点、所述路网元素相对于该中心线的偏移量以及所述预设管线截面,确定与该中心线的第一端点相关联的第一管线截面和与第二端点相关联的第二管线截面,包括:
基于所述偏移值和所述预设管线截面,确定所述第一管线截面的与所述预设管线截面的截面顶点对应的三维顶点坐标和所述第二管线截面的与所述预设管线截面的截面顶点对应的三维顶点坐标,其中每个三维顶点坐标包括以下坐标分量:所述预设管线截面的对应截面顶点的第一维坐标分量与所述偏移值之和、零坐标分量、所述预设管线截面的对应截面顶点的第二维坐标分量;
基于所述第一端点的位置坐标、所述第二端点的位置坐标和所述偏移方向确定与所述第一端点相关联的第一变换矩阵和与所述第二端点相关联的第二变换矩阵;
基于所述第一管线截面和第二管线截面的每个三维顶点坐标,确定每个三维顶点坐标对应的齐次坐标;
通过将所述第一变换矩阵与所述第一管线截面的每个三维顶点坐标对应的齐次坐标相乘,并通过将所述第二变换矩阵与所述第二管线截面的每个三维顶点坐标对应的齐次坐标相乘,确定所述路网元素的第一管线截面和第二管线截面的每个截面顶点的管线坐标。
3.根据权利要求1所述的方法,其中所述基于所述多个节点建立所述中心区的三维模型包括:
确定遍历所述多个节点的最小闭合环作为所述中心区。
4.根据权利要求2所述的方法,其中所述基于所述多个节点建立所述多个连接区的三维模型包括:
将所述多个节点中的每个节点沿相应道路远离所述中心区偏移预定距离,作为相应连接区从所述中心区沿该道路延伸的边界点。
5.根据权利要求2所述的方法,其中所述基于所述三维矢量模型生成所述路口的三维矢量放大图包括:
基于所述路口对应的视野范围的高度和预先设置的视场角确定观察矩阵;
基于所述视野范围的宽度与高度的比值、所述视场角、预先设置的近平面距离和远平面距离确定投影矩阵;
将所确定的路网元素的第一管线截面和第二管线截面的每个截面顶点的齐次坐标依次与所述观察矩阵和所述投影矩阵相乘,来将所建立的路网元素的管线模型映射至所述三维矢量放大图的坐标空间中。
6.根据权利要求5所述的方法,
其中所述路网元素包括:双黄线、车道线、路牙,
其中所述基于所述三维矢量模型生成所述路口的三维矢量放大图还包括以下中的至少一项:
在所述双黄线的管线模型上填充纹理和颜色中的至少一项;
在所述车道线的管线模型上填充纹理和颜色中的至少一项;
在所述车道线的管线模型之间填充车道流向箭头图片;
在所述路牙的管线模型上填充纹理和颜色中的至少一项。
7.根据权利要求1至6中任一项所述的方法,其中所述在导航界面上的路口显示区域中显示所述三维矢量放大图是响应于以下至少一项条件被满足而被执行:
与该路口连通的道路条数大于或等于阈值道路条数;
与该路口相关联的历史偏航率大于或等于阈值偏航率。
8.根据权利要求1至6中任一项所述的方法,其中所述在导航界面上的路口显示区域中显示所述三维矢量放大图包括:
生成路口显示区域模板,所述路口显示区域模板限定所述导航界面上的所述路口显示区域为圆角矩形显示区域;
将所述路口显示区域模板应用于所述三维矢量放大图,使得在所述圆角矩形显示区域中显示所述三维矢量放大图。
9.根据权利要求8所述的方法,其中所述生成路口显示区域模板包括:
获取表征直角矩形显示区域的多个顶点坐标和回退系数;
基于所述多个顶点坐标和回退系数确定与每个顶点坐标对应的两个回退点坐标;
利用平滑插值算法确定与每个顶点坐标对应的两个回退点坐标之间的多个平滑点坐标;
基于所确定的回退点坐标和平滑点坐标确定所述圆角矩形显示区域。
10.一种导航界面显示装置,包括:
获取模块,被配置为基于导航数据定位当前位置,以及在当前位置与路口的距离小于或等于阈值距离时,获取所存储的矢量化数据,其中所述矢量化数据包括表征路口处道路拓扑关系的点、线坐标数据以及表示所述路口所连通的多条道路的相应中心线并用于对所述路口进行三维建模;
建立模块,被配置为利用所述矢量化数据建立所述路口的三维矢量模型;
生成模块,被配置为基于所述三维矢量模型生成所述路口的三维矢量放大图;
显示模块,被配置为在导航界面上的路口显示区域中显示所述三维矢量放大图;
其中,所述建立模块被进一步配置成:
基于每条道路的中心线和该道路中的路网元素的预设管线截面建立所述路网元素的管线模型,其中,每条道路的中心线包括第一端点和第二端点,该道路中的所述路网元素相对于该中心线具有偏移量;
其中,所述建立模块被进一步配置成包括:
基于该中心线的第一端点和第二端点、所述路网元素相对于该中心线的偏移量以及所述预设管线截面,确定与该中心线的第一端点相关联的第一管线截面和与第二端点相关联的第二管线截面;
基于所述第一管线截面和所述第二管线截面确定所述路网元素的管线模型;
其中,所述矢量化数据还包括多个节点,所述多个节点表示所述路口与所连通的多条道路的边线的交点,并且其中,所述建立模块被进一步配置成:
基于所述多个节点建立所述路口的中心区的三维模型和所述路口的多个连接区的三维模型,所述多个连接区对应于所述多条道路,每个连接区为从所述路口的中心区沿相应道路延伸的局部区域。
11.一种计算设备,包括存储器和处理器,所述存储器被配置成在其上存储计算机可执行指令,所述计算机可执行指令当在所述处理器上执行时执行权利要求1-9中任一项所述的方法。
12.一种计算机可读存储介质,其上存储计算机可执行指令,所述计算机可执行指令当在处理器上执行时执行权利要求1-9中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011015409.2A CN112102489B (zh) | 2020-09-24 | 2020-09-24 | 导航界面显示方法、装置、计算设备和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011015409.2A CN112102489B (zh) | 2020-09-24 | 2020-09-24 | 导航界面显示方法、装置、计算设备和存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112102489A CN112102489A (zh) | 2020-12-18 |
CN112102489B true CN112102489B (zh) | 2023-03-28 |
Family
ID=73755643
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011015409.2A Active CN112102489B (zh) | 2020-09-24 | 2020-09-24 | 导航界面显示方法、装置、计算设备和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112102489B (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113065429B (zh) * | 2021-03-22 | 2024-06-28 | 深圳北斗辰宇科技有限公司 | 一种基于北斗的电力应急抢险车辆监控方法及系统 |
CN113865610A (zh) * | 2021-09-30 | 2021-12-31 | 北京百度网讯科技有限公司 | 用于生成导航信息的方法、装置、设备、介质和产品 |
CN113899384B (zh) * | 2021-12-09 | 2022-02-22 | 腾讯科技(深圳)有限公司 | 车道级道路的路口面显示方法、装置、设备、介质及程序 |
CN116645483B (zh) * | 2023-07-25 | 2023-10-20 | 航天宏图信息技术股份有限公司 | 车道线级别道路三维模型的构建方法、装置及电子设备 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102538802A (zh) * | 2010-12-30 | 2012-07-04 | 上海博泰悦臻电子设备制造有限公司 | 三维导航显示方法以及相关装置 |
EP2530433A1 (en) * | 2011-06-01 | 2012-12-05 | Harman Becker Automotive Systems GmbH | Method of generating a database for a navigation device, method of outputting a three-dimensional map, and navigation device |
CN103234547A (zh) * | 2013-04-18 | 2013-08-07 | 易图通科技(北京)有限公司 | 真三维导航中道路场景的显示方法和装置 |
CN106780736A (zh) * | 2017-01-09 | 2017-05-31 | 网易(杭州)网络有限公司 | 地图数据处理方法及装置、三维地图生成方法及装置 |
CN106767885A (zh) * | 2016-12-21 | 2017-05-31 | 易图通科技(北京)有限公司 | 真三维导航图像的显示方法及装置 |
WO2017165524A1 (en) * | 2016-03-22 | 2017-09-28 | Qualcomm Incorporated | Techniques for processing and storing vectoring coefficients |
CN111431953A (zh) * | 2019-01-09 | 2020-07-17 | 腾讯大地通途(北京)科技有限公司 | 一种数据处理方法、终端、服务器及存储介质 |
Family Cites Families (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4457984B2 (ja) * | 2005-06-28 | 2010-04-28 | 株式会社デンソー | 車載ナビゲーション装置 |
JP4333703B2 (ja) * | 2006-06-30 | 2009-09-16 | アイシン・エィ・ダブリュ株式会社 | ナビゲーション装置 |
JP4333704B2 (ja) * | 2006-06-30 | 2009-09-16 | アイシン・エィ・ダブリュ株式会社 | ナビゲーション装置 |
KR100837345B1 (ko) * | 2007-06-25 | 2008-06-12 | (주)엠앤소프트 | 차량단말기에서의 교차로 확대도 표출 방법 |
WO2013020174A1 (en) * | 2011-08-08 | 2013-02-14 | The University Of Sydney | A method of processing information that is indicative of a shape |
CN103514632B (zh) * | 2012-06-21 | 2018-04-03 | 腾讯科技(深圳)有限公司 | 一种绘制立体路口放大图的方法及装置 |
CN106649817B (zh) * | 2016-12-29 | 2020-09-11 | 北京超图软件股份有限公司 | 地理信息系统三维管模型构建放样方法及装置 |
CN109099933A (zh) * | 2018-07-12 | 2018-12-28 | 百度在线网络技术(北京)有限公司 | 生成信息的方法和装置 |
CN111197992B (zh) * | 2018-11-20 | 2021-12-07 | 北京嘀嘀无限科技发展有限公司 | 一种路口放大图绘制方法、系统及计算机可读存储介质 |
CN110457843B (zh) * | 2019-08-16 | 2023-07-07 | 同济大学建筑设计研究院(集团)有限公司 | 三维管线模型生成方法、装置、计算机设备和存储介质 |
-
2020
- 2020-09-24 CN CN202011015409.2A patent/CN112102489B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102538802A (zh) * | 2010-12-30 | 2012-07-04 | 上海博泰悦臻电子设备制造有限公司 | 三维导航显示方法以及相关装置 |
EP2530433A1 (en) * | 2011-06-01 | 2012-12-05 | Harman Becker Automotive Systems GmbH | Method of generating a database for a navigation device, method of outputting a three-dimensional map, and navigation device |
CN103234547A (zh) * | 2013-04-18 | 2013-08-07 | 易图通科技(北京)有限公司 | 真三维导航中道路场景的显示方法和装置 |
WO2017165524A1 (en) * | 2016-03-22 | 2017-09-28 | Qualcomm Incorporated | Techniques for processing and storing vectoring coefficients |
CN106767885A (zh) * | 2016-12-21 | 2017-05-31 | 易图通科技(北京)有限公司 | 真三维导航图像的显示方法及装置 |
CN106780736A (zh) * | 2017-01-09 | 2017-05-31 | 网易(杭州)网络有限公司 | 地图数据处理方法及装置、三维地图生成方法及装置 |
CN111431953A (zh) * | 2019-01-09 | 2020-07-17 | 腾讯大地通途(北京)科技有限公司 | 一种数据处理方法、终端、服务器及存储介质 |
Non-Patent Citations (1)
Title |
---|
王绍棣,杨瑾.地图信息系统中的地图矢量化及面查询.南京邮电学院学报.第16卷(第02期),86-90. * |
Also Published As
Publication number | Publication date |
---|---|
CN112102489A (zh) | 2020-12-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112102489B (zh) | 导航界面显示方法、装置、计算设备和存储介质 | |
CN109493407B (zh) | 实现激光点云稠密化的方法、装置及计算机设备 | |
US10477178B2 (en) | High-speed and tunable scene reconstruction systems and methods using stereo imagery | |
US9189862B2 (en) | Outline approximation for point cloud of building | |
US20170278293A1 (en) | Processing a Texture Atlas Using Manifold Neighbors | |
CN113516769B (zh) | 虚拟现实三维场景加载与渲染方法、装置和终端设备 | |
CN105678683A (zh) | 一种三维模型的二维存储方法 | |
KR101591427B1 (ko) | 3차원 지형 영상 가시화에서의 적응형 렌더링 방법 | |
CN111161394B (zh) | 一种三维建筑模型的放置方法和装置 | |
CN111047682B (zh) | 一种三维车道模型生成方法及系统 | |
US20170177745A1 (en) | Scalable and precise fitting of nurbs surfaces to large-size mesh representations | |
CN114648640B (zh) | 一种目标物单体化方法、装置、设备及存储介质 | |
JP2003323640A (ja) | レーザスキャナデータと空中写真画像を用いた高精度都市モデルの生成方法及び高精度都市モデルの生成システム並びに高精度都市モデルの生成のプログラム | |
CN113808243B (zh) | 一种可形变雪地网格的绘制方法和装置 | |
CN113421217A (zh) | 可行驶区域检测方法和装置 | |
KR20070099298A (ko) | 모바일 내비게이션용 3차원 형상정보 생성방법 및 장치 | |
Rau et al. | Lod generation for 3d polyhedral building model | |
CN115468578B (zh) | 路径规划方法、装置、电子设备和计算机可读介质 | |
CN116721230A (zh) | 一种三维实景模型的构建方法、装置、设备及存储介质 | |
CN115761166A (zh) | 基于矢量瓦片的地图构建方法及其应用 | |
Hu et al. | 3D map reconstruction using a monocular camera for smart cities | |
CN115661364A (zh) | 一种用于文物古建筑群修复的三维仿真模型重建方法 | |
CN114998496A (zh) | 一种基于场景航拍图及稀疏点云的正射影像快速生成方法 | |
CN115019021A (zh) | 图像处理方法、装置、设备及存储介质 | |
CN114723900A (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 | ||
REG | Reference to a national code |
Ref country code: HK Ref legal event code: DE Ref document number: 40036257 Country of ref document: HK |
|
GR01 | Patent grant | ||
GR01 | Patent grant |