CN114463506A - 基于三维绘图协议的地图元素显示方法及地图引擎 - Google Patents
基于三维绘图协议的地图元素显示方法及地图引擎 Download PDFInfo
- Publication number
- CN114463506A CN114463506A CN202210213622.7A CN202210213622A CN114463506A CN 114463506 A CN114463506 A CN 114463506A CN 202210213622 A CN202210213622 A CN 202210213622A CN 114463506 A CN114463506 A CN 114463506A
- Authority
- CN
- China
- Prior art keywords
- map
- elements
- dimensional
- layer
- displaying
- 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
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
- G06T15/005—General purpose rendering architectures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T15/00—3D [Three Dimensional] image rendering
- G06T15/04—Texture mapping
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Graphics (AREA)
- Geometry (AREA)
- Remote Sensing (AREA)
- Software Systems (AREA)
- Databases & Information Systems (AREA)
- Data Mining & Analysis (AREA)
- General Engineering & Computer Science (AREA)
- Processing Or Creating Images (AREA)
Abstract
本申请涉及一种基于三维绘图协议的地图元素显示方法及地图引擎。该方法包括:根据地图数据中地图元素的不同类别,将所述地图数据划分不同的图层,所述地图数据中每一种类别的所述地图元素对应一个图层;接收每一所述图层请求的WFS协议的地图数据;采用三维绘图协议分别对每一所述图层的地图元素进行三维渲染并显示。本申请提供的方案,能够在web端高效、逼真地展示高精地图的地图元素。
Description
技术领域
本申请涉及高精地图技术领域,尤其涉及一种基于三维绘图协议的地图元素显示方法及地图引擎。
背景技术
相关技术的地图引擎的地图显示,采用预处理为WMTS(Web Map Tile Service,Web地图瓦片服务)协议的地图切片。地图引擎向服务器请求WMTS协议的地图切片时,由于地图切片的数据量较大,导致地图切片加载延迟;地图引擎的地图数据更新时,需要重新生成新的WMTS切片,工作量大,不便于地图数据的更新。
因此,相关技术的地图引擎的地图显示,显示不流畅,容易卡顿,且地图数据处理效率低下。
发明内容
为解决或部分解决相关技术中存在的问题,本申请提供一种基于三维绘图协议的地图元素显示方法及地图引擎,能够在web端高效、逼真地展示高精地图的地图元素。
本申请第一方面提供一种基于三维绘图协议的地图元素显示方法,所述方法包括:
根据地图数据中地图元素的不同类别,将所述地图数据划分不同的图层,所述地图数据中每一种类别的所述地图元素对应一个图层;
接收每一所述图层请求的WFS协议的地图数据;
采用三维绘图协议分别对每一所述图层的地图元素进行三维渲染并显示。
优选的,所述每一所述图层包括路面元素对应的图层;
所述采用三维绘图协议分别对每一所述图层的地图元素进行三维渲染并显示,包括:
在web端采用所述三维绘图协议,以所述路面元素为面要素,采用对象方式渲染所述路面元素至地图中;
在所述web端三维显示所述路面元素。
优选的,所述每一所述图层包括绿化带元素对应的图层;
所述采用三维绘图协议分别对每一所述图层的地图元素进行三维渲染并显示,包括:
在所述web端采用所述三维绘图协议,以所述绿化带元素为面要素,采用所述对象方式渲染所述绿化带元素至地图中;
在所述web端三维显示所述绿化带元素。
优选的,所述每一所述图层包括道路名称元素对应的图层;
所述采用三维绘图协议分别对每一所述图层的地图元素进行三维渲染并显示,包括:
在所述web端采用所述三维绘图协议,以所述道路名称元素为线要素,以所述道路名称元素的名称字段查找以该道路名称命名的图片,以该图片为所述道路名称元素的多边形的纹理图片,将所述道路名称元素渲染至地图中;
在所述web端三维显示所述道路名称元素。
优选的,所述每一所述图层包括箭头元素对应的图层;
所述采用三维绘图协议分别对每一所述图层的地图元素进行三维渲染并显示,包括:
在所述web端采用所述三维绘图协议,以所述箭头元素为面要素,以所述箭头元素的面要素的类型字段查找与所述箭头元素的面要素的类型对应的图片,以该图片为所述箭头元素的面要素的多边形的纹理图片,将所述箭头元素渲染至地图中;
在所述web端三维显示所述箭头元素。
优选的,所述每一所述图层包括斑马线元素对应的图层;
所述采用三维绘图协议分别对每一所述图层的地图元素进行三维渲染并显示,包括:
在所述web端采用所述三维绘图协议,以所述斑马线元素为面要素,以所述斑马线元素的面要素的类型字段查找与所述斑马线元素的面要素的类型对应的图片,以该图片为所述斑马线元素的面要素的多边形的纹理图片,将所述斑马线元素渲染至地图中;
在所述web端三维显示所述斑马线元素。
优选的,所述每一所述图层包括摄像头元素对应的图层;
所述采用三维绘图协议分别对每一所述图层的地图元素进行三维渲染并显示,包括:
在所述web端采用所述三维绘图协议,以所述摄像头元素为线要素,采用GLB模型形式,以所述摄像头元素的线要素的中点、距离该中点的第一设定高度的位置,作为放置所述摄像头元素的GLB模型的位置,将所述摄像头元素渲染至地图中;
在所述web端三维显示所述摄像头元素。
优选的,所述每一所述图层包括交通信号灯元素对应的图层,所述交通信号灯元素包括信号灯元素、读秒器元素;
所述采用三维绘图协议分别对每一所述图层的地图元素进行三维渲染并显示,包括:
对于所述信号灯元素,在所述web端采用所述三维绘图协议,以所述交通信号灯元素为线要素,采用GLB模型形式,以所述信号灯元素的线要素的中点、距离该中点的第二设定高度的位置,作为放置所述信号灯元素的GLB模型的位置,将所述信号灯元素渲染至地图中;
对于所述读秒器元素,在所述web端采用所述三维绘图协议,以所述读秒器元素为线要素,采用GLB模型形式,以所述读秒器元素的线要素的中点分别向线的两个端点方向各延伸设定长度,分别得到两个点,以距离所述两个点的第三设定高度的位置,作为放置所述读秒器元素的GLB模型的位置,将所述读秒器元素渲染至地图中;
在所述web端三维显示所述交通信号灯元素。
优选的,所述每一所述图层包括信号灯路杆元素对应的图层;
所述采用三维绘图协议分别对每一所述图层的地图元素进行三维渲染并显示,包括:
在所述web端采用所述三维绘图协议,以所述信号灯路杆元素为线要素,采用GLB模型形式,以所述信号灯路杆元素的线要素的起点、距离该起点的第四设定高度的位置,作为放置所述信号灯路杆元素的GLB模型的位置,将所述信号灯路杆元素渲染至地图中;
在所述web端三维显示所述信号灯路杆元素。
优选的,所述每一所述图层包括公交站元素和公交站名称元素对应的图层;
所述采用三维绘图协议分别对每一所述图层的地图元素进行三维渲染并显示,包括:
对于所述公交站元素,在所述web端采用所述三维绘图协议,以所述公交站元素为面要素,采用GLB模型形式,以所述公交站元素的面要素的中心点、距离该中心点的第五设定高度的位置,作为放置所述公交站元素的GLB模型的位置,将所述公交站元素渲染至地图中;
对于所述公交站名称元素,在所述web端采用所述三维绘图协议,以所述公交站名称元素为面要素,以所述公交站名称元素的面要素的中心点、距离该中心点的第六设定高度的位置,作为放置标签的位置,将所述公交站名称元素以标签形式渲染至地图中,所述标签包含所述公交站名称元素的公交站名称;
在所述web端三维显示所述公交站元素和公交站名称元素。
本申请第二方面提供一种地图引擎,包括:
处理器;以及
存储器,其上存储有可执行代码,当所述可执行代码被所述处理器执行时,使所述处理器执行如上所述的方法。
本申请第三方面提供一种计算机可读存储介质,其上存储有可执行代码,当所述可执行代码被电子设备的处理器执行时,使所述处理器执行如上所述的方法。
本申请提供的技术方案可以包括以下有益效果:
本申请的技术方案,根据地图数据中地图元素的不同类别,将地图数据划分不同的图层,地图数据中每一种类别的地图元素对应一个图层;接收每一图层请求的WFS协议的地图数据;每一图层地图数据的请求和接收单独进行,互不干扰,能够更快地获得地图数据;采用三维绘图协议分别对每一图层的地图元素进行三维渲染并显示,能够在web端高效、逼真地展示高精地图的地图元素。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本申请。
附图说明
通过结合附图对本申请示例性实施方式进行更详细地描述,本申请的上述以及其它目的、特征和优势将变得更加明显,其中,在本申请示例性实施方式中,相同的参考标号通常代表相同部件。
图1是本申请实施例示出的基于三维绘图协议的地图元素显示方法的流程示意图;
图2是本申请实施例示出的基于三维绘图协议的地图元素显示方法的另一流程示意图;
图3是本申请实施例示出的地图引擎的结构示意图。
具体实施方式
下面将参照附图更详细地描述本申请的实施方式。虽然附图中显示了本申请的实施方式,然而应该理解,可以以各种形式实现本申请而不应被这里阐述的实施方式所限制。相反,提供这些实施方式是为了使本申请更加透彻和完整,并且能够将本申请的范围完整地传达给本领域的技术人员。
在本申请使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本申请。在本申请和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。
应当理解,尽管在本申请可能采用术语“第一”、“第二”、“第三”等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本申请范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括一个或者更多个该特征。在本申请的描述中,“多个”的含义是两个或两个以上,除非另有明确具体的限定。
本申请实施例提供一种基于三维绘图协议的地图元素显示方法,能够在web端高效、逼真地展示高精地图的地图元素。
以下结合附图详细描述本申请实施例的技术方案。
图1是本申请实施例示出的基于三维绘图协议的地图元素显示方法的流程示意图。
参见图1,一种基于三维绘图协议的地图元素显示方法,包括:
在步骤S101中,根据地图数据中地图元素的不同类别,将地图数据划分不同的图层,地图数据中每一种类别的地图元素对应一个图层。
在一种实施方式中,web端的地图引擎根据地图数据中地图元素的不同类别,将地图数据划分多个不同的图层,每一种类别的地图元素对应一个图层,每个图层的地图数据分开管理,每个图层能够单独请求WFS(Web Feature Service,Web要素服务)协议的高精地图数据。
在一种实施方式中,地图引擎根据地图数据中不同的地图元素,将地图数据划分多个不同的图层,每一种地图元素对应一个图层。
在步骤S102中,接收每一图层请求的WFS协议的地图数据。
在一种实施方式中,web端的地图引擎根据每一图层的地图数据请求,单独请求WFS协议的高精地图数据,接收每一图层请求的WFS协议的地图数据。
在步骤S103中,采用三维绘图协议分别对每一图层的地图元素进行三维渲染并显示。
在一种实施方式中,web端的地图引擎,采用webGL(Web Graphics Library,一种3维绘图协议),分别对每一图层地图数据中的地图元素进行三维渲染并显示。
本申请实施例示出的基于三维绘图协议的地图元素显示方法,根据地图数据中地图元素的不同类别,将地图数据划分不同的图层,每一种类别的地图元素对应一个图层;接收每一图层请求的WFS协议的地图数据;每一图层地图数据的请求和接收单独进行,互不干扰,能够更快地获得地图数据;采用三维绘图协议分别对每一图层的地图元素进行三维渲染并显示,能够在web端高效、逼真地展示高精地图的地图元素。
图2是本申请实施例示出的基于三维绘图协议的地图元素显示方法的另一流程示意图。图2相对于图1更详细描述了本申请的方案。
参见图2,一种基于三维绘图协议的地图元素显示方法,包括:
在步骤S201中,地图初始化。
在一种实施方式中,web端的地图引擎的地图初始化包含地球球体渲染、天空渲染、地图事件。
在一种实施方式中,地球球体渲染,web端的地图引擎采用X、Y、Z三轴笛卡尔直角坐标系,以地球的球心为原点,以地球的半径为半径渲染一个球体作为地球表面。
在一种实施方式中,天空渲染,地图引擎采用立方体天空盒的方式,将6张画面连续的围成360度的图片作为立方体6个面的材质贴图。立方体的中心与球体的中心(地球的球心)重合,且天空盒立方体的边长大于地球的直径。
在一种实施方式中,地图引擎的地图事件包括地图点击事件、地图渲染事件、地图移动事件、鼠标事件、属性变更事件;地图点击事件包括地图点击事件、地图单击事件、地图双击事件。地图渲染事件包括准备渲染、开始渲染、完成渲染。地图移动事件包括移动结束。鼠标事件包括鼠标移动、鼠标拖拽。属性变更事件包括尺寸变更、视图变更、地图容器变更、属性变更。
在步骤S202中,接收地图数据。
在一种实施方式中,web端的地图引擎根据构成高精地图数据的不同类别的地图元素,将高精地图数据划分不同的图层,每一种类别地图元素的高精地图数据对应一个图层,每个图层的高精地图数据分开管理,每个图层可以单独从GeoServer地图服务器请求WFS协议的高精地图数据,地图引擎接收每一图层请求的WFS协议的高精地图数据。
在一种实施方式中,地图引擎根据高精地图数据的不同的地图元素,将高精地图数据划分为多个不同的图层,每一种地图元素对应一个图层;或者多种地图元素对应一个图层。高精地图数据的地图元素包括路面元素、绿化带元素、道路名称元素、箭头元素、斑马线元素、摄像头元素、交通信号灯元素、信号灯路杆元素、公交站元素和公交站名称元素等的至少其中之一。可以将高精地图数据划分为与路面元素对应的图层、与绿化带元素对应的图层、与道路名称元素对应的图层、与箭头元素对应的图层、与斑马线元素对应的图层、与摄像头元素对应的图层、与交通信号灯元素对应的图层、与信号灯路杆元素对应的图层、与公交站元素和公交站名称元素对应的图层。
在一种实施方式中,相应地,也按图层的形式预存储高精地图数据,将高精地图数据储存于postgis(对象-关系型数据库系统PostgreSQL的一个扩展)空间数据库中,包括点、线、面三种类型的矢量数据。使用GeoServer地图服务器连接postgis空间数据库,将高精地图数据发布为WFS协议的HTTP服务。web端的地图引擎可以根据每一图层单独请求的WFS协议的高精地图数据,接收每一图层请求的WFS协议的地图数据。
在一种实施方式中,GeoServer地图服务器可将图层发布为WFS服务,是OpenGISWeb服务器规范的J2EE实现,利用GeoServer地图服务器可以方便的发布地图数据,允许用户对特征数据进行更新、删除、插入操作,通过GeoServer地图服务器可以比较容易的在用户之间迅速共享空间地理信息。WFS符合OGC(Open Geospatial Consortium,开放地理信息联盟)制定的WFS实现规范。WFS通过GML(Geography Markup Language,地理标记语言)传递地理空间数据,支持在基于HTTP协议的分布式计算平台上对地理要素进行插入(INSERT)、更新(UPDATE)、删除(DELETE)和发现(DISCOVERY)等操作,并且在这些操作的过程中保证了地理数据变化的一致性。WFS是服务器将矢量数据发送给web端,由web端绘制地图。
在步骤S203中,采用三维绘图协议对路面元素进行三维渲染并显示。
在一种实施方式中,web端的地图引擎从GeoServer地图服务器获得每一图层的高精地图数据,采用webgl渲染技术,调用GPU(Graphics Processing Unit,图形处理器)对每一图层的高精地图数据的地图元素进行三维渲染并显示,能够加快地图引擎处理高精地图数据的速度,提高地图引擎处理高精地图数据的性能。
在一种实施方式中,地图引擎的地图元素渲染包括路面元素渲染、绿化带元素渲染、道路名称元素渲染、箭头元素渲染、斑马线元素渲染、摄像头元素渲染、交通信号灯元素渲染、信号灯路杆元素渲染、公交站元素及公交站名称元素渲染。web端的地图引擎接收到每一图层的地图数据后,解析每一图层的地图数据,地图数据为JSON((JavaScript ObjectNotation,一种轻量级的数据交换格式)格式的要素集合数组,循环遍历该数组,渲染该数组中的所有要素。
在一种实施方式中,路面元素渲染,在web端采用三维绘图协议,以路面元素为面要素,采用对象方式渲染路面元素至地图中;在web端三维显示路面元素。地图引擎采用webgl渲染技术,以路面元素为面要素,以entity(entity,定义为对象,即为地图引擎渲染的一个对象,表示相对独立的三维模型单体)方式渲染路面元素的面要素的多边形到地图中。以路面元素的面要素的经纬度作为多边形的顶点坐标,设置多边形的填充色,色值为"18,25,50",不设置边框,设置最远可视距离为800米,完成路面元素的三维渲染和显示。
在步骤S204中,采用三维绘图协议对绿化带元素进行三维渲染并显示。
在一种实施方式中,绿化带元素渲染,在web端采用三维绘图协议,以绿化带元素为面要素,采用对象方式渲染绿化带元素至地图中;在web端三维显示绿化带元素。地图引擎采用webgl渲染技术,以绿化带元素为面要素,以entity方式渲染绿化带元素的面要素的多边形到地图中。以绿化带元素的面要素的多边形为底,以绿化带元素的面要素的经纬度作为多边形的顶点坐标,设置拉伸高度为0.25米,形成立方体,设置立方体的填充色,色值为"43.0,112.0,104.0",不设置边框,设置最远可视距离为800米,完成绿化带元素的三维渲染和显示。
在步骤S205中,采用三维绘图协议对道路名称元素进行三维渲染并显示。
在一种实施方式中,道路名称元素渲染,在web端采用三维绘图协议,以道路名称元素为线要素,以道路名称元素的名称字段查找以该道路名称命名的图片,以该图片为道路名称元素的多边形的纹理图片,将道路名称元素渲染至地图中;在web端三维显示道路名称元素。地图引擎采用webgl渲染技术,以道路名称元素为线要素,将道路名称元素的线要素从起点沿着线的方向取距离起点12米处的点,以起点和距离起点12米的点构成新的线段,将该线段沿着线垂直的方向分别向左、向右平移1米,得到两条新的线段,将该两条新的线段的端点按逆时针方向逐一相连,形成一个封闭的多边形;以道路名称元素的线要素的经纬度为多边形的顶点的经纬度,以道路名称元素的名称字段查找以该道路名称命名的图片,以查找到的图片作为该多边形的纹理图片,以道路名称元素的线要素的起点和终点构成的线段与正北方向的夹角a1作为纹理图片的旋转角,完成道路名称元素的三维渲染和显示。
在步骤S206中,采用三维绘图协议对箭头元素进行三维渲染并显示。
在一种实施方式中,箭头元素渲染,在web端采用三维绘图协议,以箭头元素为面要素,以箭头元素的面要素的类型字段查找与箭头元素的面要素的类型对应的图片,以该图片为箭头元素的面要素的多边形的纹理图片,将箭头元素渲染至地图中;在web端三维显示箭头元素。地图引擎采用webgl渲染技术,以箭头元素为面要素,箭头元素的面要素的类型包括直行、直行右转、直行左转、左转、右转、掉头、公交车道、非机动车道、禁停区;以箭头元素面要素的顶点的经纬度为多边形的顶点的经纬度,以面要素的顶点构成的多边形渲染到地图中,以箭头元素的面要素的类型字段查找图片,以查找到的图片作为该多边形的纹理图片,以多边形顶点的起点和第二个顶点构成的线段与正北方向的夹角a2作为纹理图片的旋转角,即完成箭头元素的三维渲染和显示。多边形的顶点的顺序为逆时针方向。
在步骤S207中,采用三维绘图协议对斑马线元素进行三维渲染并显示。
在一种实施方式中,斑马线元素渲染,在web端采用三维绘图协议,以斑马线元素为面要素,以斑马线元素的面要素的类型字段查找与斑马线元素的面要素的类型对应的图片,以该图片为斑马线元素的面要素的多边形的纹理图片,将斑马线元素渲染至地图中;在web端三维显示斑马线元素。地图引擎采用webgl渲染技术,以斑马线元素为面要素,斑马线元素的面要素的类型包括2车道、4车道、6车道、8-10车道、10-12车道、12-14车道、14-16车道、大于16车道;以斑马线元素的面要素的顶点的经纬度为多边形顶点的经纬度,以斑马线元素的面要素的顶点构成的多边形渲染到地图中,以斑马线元素的面要素的类型字段查找图片,以查找到的图片作为该多边形的纹理图片,以多边形顶点的起点和第二个顶点构成的线段与正北方向的夹角a3作为纹理图片的旋转角,即完成斑马线元素的三维渲染和显示,多边形的顶点的顺序为逆时针方向。
在步骤S208中,采用三维绘图协议对摄像头元素进行三维渲染并显示。
在一种实施方式中,摄像头元素渲染,在web端采用三维绘图协议,以摄像头元素为线要素,采用GLB模型形式,以摄像头元素的线要素的中点、距离该中点的第一设定高度的位置,作为放置摄像头元素的GLB模型的位置,将摄像头元素渲染至地图中;在web端三维显示摄像头元素。地图引擎采用webgl渲染技术,以摄像头元素为线要素,摄像头元素的线要素的类型包括枪型摄像头、圆形摄像头;以GLB(Graphics Lanuage binary,一种3D模型格式)模型形式渲染摄像头元素到地图。以摄像头元素的线要素的类型字段查找摄像头元素的GLB模型,以摄像头元素的线要素的中点、高度5米的位置,作为放置GLB模型的位置;以垂直于线要素的起点和终点构成的线段的方向作为摄像头模型的方位角,即由线要素的起点和终点构成线段,以垂直于该线段的方向作为摄像头模型的方位角,完成摄像头元素的三维渲染和显示。
在步骤S209中,采用三维绘图协议对交通信号灯元素进行三维渲染并显示。
在一种实施方式中,交通信号灯元素渲染,交通信号灯元素包括信号灯元素、读秒器元素;对于信号灯元素,在web端采用三维绘图协议,以交通信号灯元素为线要素,采用GLB模型形式,以信号灯元素的线要素的中点、距离该中点的第二设定高度的位置,作为放置信号灯元素的GLB模型的位置,将信号灯元素渲染至地图中;对于读秒器元素,在web端采用三维绘图协议,以读秒器元素为线要素,采用GLB模型形式,以读秒器元素的线要素的中点分别向线的两个端点方向各延伸设定长度,分别得到两个点,以距离两个点的第三设定高度的位置,作为放置读秒器元素的GLB模型的位置,将读秒器元素渲染至地图中;在web端三维显示交通信号灯元素。地图引擎采用webgl渲染技术,以交通信号灯元素为线要素,交通信号灯元素的线要素的类型包括圆形信号灯、箭头信号灯、读秒器,以GLB模型形式渲染交通信号灯元素到地图。对于箭头信号灯和圆形信号灯,以交通信号灯元素的线要素的类型字段查找交通信号灯的GLB模型;以交通信号灯元素的线要素的中点、高度5米的位置,作为放置交通信号灯的GLB模型的位置,以垂直于线要素的起点和终点构成的线段的方向作为交通信号灯模型的方位角;对于读秒器,读秒器包括显示0-99两位数的显示板,可接入交通信号灯的实时灯态颜色和数字,灯态颜色包括红色和绿色两种状态;根据数字和灯态颜色查找读秒器的GLB模型,以读秒器的线要素的中点分别向线的两个端点方向各延伸0.24米,以分别得到两个点、高度5米的位置,分别作为显示个位数和十位数的GLB模型的放置位置,以垂直于线要素的起点和终点构成的线段的方向作为读秒器数字模型的方位角,完成交通信号灯元素的三维渲染和显示。
在步骤S210中,采用三维绘图协议对信号灯路杆元素进行三维渲染并显示。
在一种实施方式中,信号灯路杆元素渲染,在web端采用三维绘图协议,以信号灯路杆元素为线要素,采用GLB模型形式,以信号灯路杆元素的线要素的起点、距离该起点的第四设定高度的位置,作为放置信号灯路杆元素的GLB模型的位置,将信号灯路杆元素渲染至地图中;在web端三维显示信号灯路杆元素。地图引擎采用webgl渲染技术,以信号灯路杆元素为线要素,信号灯路杆元素的线要素的类型按照长度包括1车道、2车道、3车道、4车道、5车道;以GLB模型形式渲染信号灯路杆元素到地图。以信号灯路杆元素的线要素的类型字段查找信号灯路杆元素的GLB模型,以线要素的起点、高度为0的位置,作为放置GLB模型的位置,以线要素的起点和终点构成的线段的方向(起点指向终点的方向)作为信号灯路杆元素的GLB模型的方位角,完成信号灯路杆元素的三维渲染和显示。
在步骤S211中,采用三维绘图协议对公交站元素及公交站名称元素进行三维渲染并显示。
在一种实施方式中,公交站元素及公交站名称元素渲染,对于公交站元素,在web端采用三维绘图协议,以公交站元素为面要素,采用GLB模型形式,以公交站元素的面要素的中心点、距离该中心点的第五设定高度的位置,作为放置公交站元素的GLB模型的位置,将公交站元素渲染至地图中;对于公交站名称元素,在web端采用三维绘图协议,以公交站名称元素为面要素,以公交站名称元素的面要素的中心点、距离该中心点的第六设定高度的位置,作为放置标签的位置,将公交站名称元素以标签形式渲染至地图中,标签包含公交站名称元素的公交站名称;在web端三维显示公交站元素和公交站名称元素。地图引擎采用webgl渲染技术,以公交站元素为面要素,公交站元素的面要素的类型包括大公交站、小公交站;以GLB模型形式渲染公交站元素到地图。以公交站元素的面要素的类型字段查找公交站元素的GLB模型,以公交站元素的面要素的中心点、高度为0的位置,作为放置公交站元素的GLB模型的位置;以面要素的起点和第二个顶点构成的线段的方向(即起点指向第二个点的方向)作为公交站元素的GLB模型的方位角,公交站元素的面要素的顶点的顺序为逆时针方向。公交站名称元素以label(标签)渲染到地图中,以公交站名称元素的面要素的中心点、高度5米的位置,作为放置公交站名称元素的label的位置,让label浮于公交站元素的GLB模型的上方,完成公交站元素及公交站名称元素的三维渲染和显示。
需要说明的是,上述步骤S203至步骤S211的顺序只是举例说明但不局限于此,步骤S203至步骤S211可以分别独立执行,也可以不同步骤组合在一起执行。
本申请实施例示出的基于三维绘图协议的地图元素显示方法,根据地图数据的不同类别,将地图数据划分为不同的图层,每一种类别的地图数据对应一个图层;接收每一图层请求的WFS协议的地图数据;每一图层地图数据的请求和接收单独进行,互不干扰,能够更快地获得地图数据;采用三维绘图协议分别对每一图层的地图元素进行三维渲染并显示,能够在web端高效、逼真地展示高精地图的地图元素,直观地以三维的形式查看所有地图元素及车辆的移动。
与前述应用功能实现方法实施例相对应,本申请还提供了一种地图引擎及相应的实施例。
图3是本申请实施例示出的地图引擎的结构示意图。
参见图3,地图引擎300包括存储器301和处理器302。
处理器302可以是中央处理单元(Central Processing Unit,CPU),还可以是其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
存储器301可以包括各种类型的存储单元,例如系统内存、只读存储器(ROM)和永久存储装置。其中,ROM可以存储处理器302或者计算机的其他模块需要的静态数据或者指令。永久存储装置可以是可读写的存储装置。永久存储装置可以是即使计算机断电后也不会失去存储的指令和数据的非易失性存储设备。在一些实施方式中,永久性存储装置采用大容量存储装置(例如磁或光盘、闪存)作为永久存储装置。另外一些实施方式中,永久性存储装置可以是可移除的存储设备(例如软盘、光驱)。系统内存可以是可读写存储设备或者易失性可读写存储设备,例如动态随机访问内存。系统内存可以存储一些或者所有处理器在运行时需要的指令和数据。此外,存储器301可以包括任意计算机可读存储媒介的组合,包括各种类型的半导体存储芯片(例如DRAM,SRAM,SDRAM,闪存,可编程只读存储器),磁盘和/或光盘也可以采用。在一些实施方式中,存储器301可以包括可读和/或写的可移除的存储设备,例如激光唱片(CD)、只读数字多功能光盘(例如DVD-ROM,双层DVD-ROM)、只读蓝光光盘、超密度光盘、闪存卡(例如SD卡、min SD卡、Micro-SD卡等)、磁性软盘等。计算机可读存储媒介不包含载波和通过无线或有线传输的瞬间电子信号。
存储器301上存储有可执行代码,当可执行代码被处理器302处理时,可以使处理器302执行上文述及的方法中的部分或全部。
此外,根据本申请的方法还可以实现为一种计算机程序或计算机程序产品,该计算机程序或计算机程序产品包括用于执行本申请的上述方法中部分或全部步骤的计算机程序代码指令。
或者,本申请还可以实施为一种计算机可读存储介质(或非暂时性机器可读存储介质或机器可读存储介质),其上存储有可执行代码(或计算机程序或计算机指令代码),当可执行代码(或计算机程序或计算机指令代码)被电子设备(或服务器等)的处理器执行时,使处理器执行根据本申请的上述方法的各个步骤的部分或全部。
以上已经描述了本申请的各实施例,上述说明是示例性的,并非穷尽性的,并且也不限于所披露的各实施例。在不偏离所说明的各实施例的范围和精神的情况下,对于本技术领域的普通技术人员来说许多修改和变更都是显而易见的。本文中所用术语的选择,旨在最好地解释各实施例的原理、实际应用或对市场中的技术的改进,或者使本技术领域的其他普通技术人员能理解本文披露的各实施例。
Claims (12)
1.一种基于三维绘图协议的地图元素显示方法,其特征在于,包括:
根据地图数据中地图元素的不同类别,将所述地图数据划分不同的图层,所述地图数据中每一种类别的所述地图元素对应一个图层;
接收每一所述图层请求的WFS协议的地图数据;
采用三维绘图协议分别对每一所述图层的地图元素进行三维渲染并显示。
2.根据权利要求1所述的方法,其特征在于,所述每一所述图层包括路面元素对应的图层;
所述采用三维绘图协议分别对每一所述图层的地图元素进行三维渲染并显示,包括:
在web端采用所述三维绘图协议,以所述路面元素为面要素,采用对象方式渲染所述路面元素至地图中;
在所述web端三维显示所述路面元素。
3.根据权利要求1所述的方法,其特征在于,所述每一所述图层包括绿化带元素对应的图层;
所述采用三维绘图协议分别对每一所述图层的地图元素进行三维渲染并显示,包括:
在所述web端采用所述三维绘图协议,以所述绿化带元素为面要素,采用所述对象方式渲染所述绿化带元素至地图中;
在所述web端三维显示所述绿化带元素。
4.根据权利要求1所述的方法,其特征在于,所述每一所述图层包括道路名称元素对应的图层;
所述采用三维绘图协议分别对每一所述图层的地图元素进行三维渲染并显示,包括:
在所述web端采用所述三维绘图协议,以所述道路名称元素为线要素,以所述道路名称元素的名称字段查找以该道路名称命名的图片,以该图片为所述道路名称元素的多边形的纹理图片,将所述道路名称元素渲染至地图中;
在所述web端三维显示所述道路名称元素。
5.根据权利要求1所述的方法,其特征在于,所述每一所述图层包括箭头元素对应的图层;
所述采用三维绘图协议分别对每一所述图层的地图元素进行三维渲染并显示,包括:
在所述web端采用所述三维绘图协议,以所述箭头元素为面要素,以所述箭头元素的面要素的类型字段查找与所述箭头元素的面要素的类型对应的图片,以该图片为所述箭头元素的面要素的多边形的纹理图片,将所述箭头元素渲染至地图中;
在所述web端三维显示所述箭头元素。
6.根据权利要求1所述的方法,其特征在于,所述每一所述图层包括斑马线元素对应的图层;
所述采用三维绘图协议分别对每一所述图层的地图元素进行三维渲染并显示,包括:
在所述web端采用所述三维绘图协议,以所述斑马线元素为面要素,以所述斑马线元素的面要素的类型字段查找与所述斑马线元素的面要素的类型对应的图片,以该图片为所述斑马线元素的面要素的多边形的纹理图片,将所述斑马线元素渲染至地图中;
在所述web端三维显示所述斑马线元素。
7.根据权利要求1所述的方法,其特征在于,所述每一所述图层包括摄像头元素对应的图层;
所述采用三维绘图协议分别对每一所述图层的地图元素进行三维渲染并显示,包括:
在所述web端采用所述三维绘图协议,以所述摄像头元素为线要素,采用GLB模型形式,以所述摄像头元素的线要素的中点、距离该中点的第一设定高度的位置,作为放置所述摄像头元素的GLB模型的位置,将所述摄像头元素渲染至地图中;
在所述web端三维显示所述摄像头元素。
8.根据权利要求1所述的方法,其特征在于,所述每一所述图层包括交通信号灯元素对应的图层,所述交通信号灯元素包括信号灯元素、读秒器元素;
所述采用三维绘图协议分别对每一所述图层的地图元素进行三维渲染并显示,包括:
对于所述信号灯元素,在所述web端采用所述三维绘图协议,以所述交通信号灯元素为线要素,采用GLB模型形式,以所述信号灯元素的线要素的中点、距离该中点的第二设定高度的位置,作为放置所述信号灯元素的GLB模型的位置,将所述信号灯元素渲染至地图中;
对于所述读秒器元素,在所述web端采用所述三维绘图协议,以所述读秒器元素为线要素,采用GLB模型形式,以所述读秒器元素的线要素的中点分别向线的两个端点方向各延伸设定长度,分别得到两个点,以距离所述两个点的第三设定高度的位置,作为放置所述读秒器元素的GLB模型的位置,将所述读秒器元素渲染至地图中;
在所述web端三维显示所述交通信号灯元素。
9.根据权利要求1所述的方法,其特征在于,所述每一所述图层包括信号灯路杆元素对应的图层;
所述采用三维绘图协议分别对每一所述图层的地图元素进行三维渲染并显示,包括:
在所述web端采用所述三维绘图协议,以所述信号灯路杆元素为线要素,采用GLB模型形式,以所述信号灯路杆元素的线要素的起点、距离该起点的第四设定高度的位置,作为放置所述信号灯路杆元素的GLB模型的位置,将所述信号灯路杆元素渲染至地图中;
在所述web端三维显示所述信号灯路杆元素。
10.根据权利要求1所述的方法,其特征在于,所述每一所述图层包括公交站元素和公交站名称元素对应的图层;
所述采用三维绘图协议分别对每一所述图层的地图元素进行三维渲染并显示,包括:
对于所述公交站元素,在所述web端采用所述三维绘图协议,以所述公交站元素为面要素,采用GLB模型形式,以所述公交站元素的面要素的中心点、距离该中心点的第五设定高度的位置,作为放置所述公交站元素的GLB模型的位置,将所述公交站元素渲染至地图中;
对于所述公交站名称元素,在所述web端采用所述三维绘图协议,以所述公交站名称元素为面要素,以所述公交站名称元素的面要素的中心点、距离该中心点的第六设定高度的位置,作为放置标签的位置,将所述公交站名称元素以标签形式渲染至地图中,所述标签包含所述公交站名称元素的公交站名称;
在所述web端三维显示所述公交站元素和公交站名称元素。
11.一种地图引擎,其特征在于,包括:
处理器;以及
存储器,其上存储有可执行代码,当所述可执行代码被所述处理器执行时,使所述处理器执行如权利要求1-10中任一项所述的方法。
12.一种计算机可读存储介质,其特征在于,其上存储有可执行代码,当所述可执行代码被电子设备的处理器执行时,使所述处理器执行如权利要求1-10中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210213622.7A CN114463506A (zh) | 2022-03-04 | 2022-03-04 | 基于三维绘图协议的地图元素显示方法及地图引擎 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210213622.7A CN114463506A (zh) | 2022-03-04 | 2022-03-04 | 基于三维绘图协议的地图元素显示方法及地图引擎 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114463506A true CN114463506A (zh) | 2022-05-10 |
Family
ID=81417278
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210213622.7A Pending CN114463506A (zh) | 2022-03-04 | 2022-03-04 | 基于三维绘图协议的地图元素显示方法及地图引擎 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114463506A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115221261A (zh) * | 2022-07-18 | 2022-10-21 | 小米汽车科技有限公司 | 地图数据融合方法、装置、车辆及存储介质 |
CN116608879A (zh) * | 2023-05-19 | 2023-08-18 | 亿咖通(湖北)技术有限公司 | 信息显示方法、设备、存储介质及程序产品 |
-
2022
- 2022-03-04 CN CN202210213622.7A patent/CN114463506A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115221261A (zh) * | 2022-07-18 | 2022-10-21 | 小米汽车科技有限公司 | 地图数据融合方法、装置、车辆及存储介质 |
CN116608879A (zh) * | 2023-05-19 | 2023-08-18 | 亿咖通(湖北)技术有限公司 | 信息显示方法、设备、存储介质及程序产品 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6997290B2 (ja) | 地図データ処理方法、コンピュータ装置及びコンピュータプログラム | |
US9495767B2 (en) | Indexed uniform styles for stroke rendering | |
US7305396B2 (en) | Hierarchical system and method for on-demand loading of data in a navigation system | |
US6885939B2 (en) | System and method for advanced 3D visualization for mobile navigation units | |
EP2689213B1 (en) | Management of icons for digital maps | |
CN114463506A (zh) | 基于三维绘图协议的地图元素显示方法及地图引擎 | |
US20120050285A1 (en) | 3d building generalization for digital map applications | |
CN109416258B (zh) | 用于在数字地图接口中的自适应性场地缩放的方法、设备和计算机程序产品 | |
US9286712B2 (en) | System and method for approximating cartographic projections by linear transformation | |
US9721363B2 (en) | Encoding polygon data for fast retrieval and rendering | |
US20180053343A1 (en) | System and method for procedurally generated building graphics within a street network of a three-dimensional virtual environment | |
EP3501012B1 (en) | System and method for procedurally generated object distribution in regions of a three-dimensional virtual environment | |
CN111954875A (zh) | 用于显示兴趣点的系统和方法 | |
US20040125114A1 (en) | Multiresolution image synthesis for navigation | |
CN112330769B (zh) | 虚线纹理的生成方法、装置及电子设备 | |
US11112264B2 (en) | System and method for rendering an overpass object using map and link data | |
CN114615241A (zh) | 基于高精地图的动态路网显示方法及相关设备 | |
Dimitrijević et al. | High-performance Ellipsoidal Clipmaps | |
US20230366700A1 (en) | Overlay rendering using a hardware-accelerated framework for memory sharing and overlay based map adjusting | |
US9007380B1 (en) | Animated 3D buildings in virtual 3D environments | |
Zhong et al. | Study of the Virtual Campus Ramble for the Android Mobile Phone | |
CN114612623A (zh) | 基于三维绘图协议的车辆轨迹显示方法及相关设备 | |
US20190287300A1 (en) | Method and Device for Efficient Building Footprint Determination | |
Fombuena Valero | 3D Augmented Reality Mobile Application Prototype for Visual Planning Support | |
JP2009059101A (ja) | 3次元オブジェクト処理装置、3次元オブジェクト処理方法、及び3次元オブジェクト処理プログラム |
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 |