CN106780736B - 地图数据处理方法及装置、三维地图生成方法及装置 - Google Patents
地图数据处理方法及装置、三维地图生成方法及装置 Download PDFInfo
- Publication number
- CN106780736B CN106780736B CN201710013206.1A CN201710013206A CN106780736B CN 106780736 B CN106780736 B CN 106780736B CN 201710013206 A CN201710013206 A CN 201710013206A CN 106780736 B CN106780736 B CN 106780736B
- Authority
- CN
- China
- Prior art keywords
- data
- dimensional
- map
- vectorized
- building
- 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
- 238000000034 method Methods 0.000 title claims abstract description 48
- 238000003672 processing method Methods 0.000 title claims abstract description 12
- 238000012545 processing Methods 0.000 claims description 40
- 230000011218 segmentation Effects 0.000 claims description 11
- 238000000605 extraction Methods 0.000 claims description 8
- 238000001514 detection method Methods 0.000 claims description 7
- 238000010276 construction Methods 0.000 claims description 6
- 238000013519 translation Methods 0.000 claims description 3
- 238000005516 engineering process Methods 0.000 abstract description 3
- 238000010586 diagram Methods 0.000 description 11
- 230000008569 process Effects 0.000 description 9
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 238000009877 rendering Methods 0.000 description 3
- 238000004891 communication Methods 0.000 description 2
- 238000005034 decoration Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 239000000284 extract Substances 0.000 description 2
- 238000005286 illumination Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000003321 amplification Effects 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 230000003190 augmentative effect Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 238000013075 data extraction Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000001788 irregular Effects 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 238000003199 nucleic acid amplification method Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000007781 pre-processing Methods 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 238000012216 screening Methods 0.000 description 1
- 230000007704 transition Effects 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
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
Landscapes
- Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- Geometry (AREA)
- Software Systems (AREA)
- Remote Sensing (AREA)
- Computer Graphics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Processing Or Creating Images (AREA)
- Instructional Devices (AREA)
Abstract
本发明公开了一种地图数据处理方法及装置、三维地图生成方法及装置。其中,该地图数据处理方法包括:接收客户端发送的请求消息,其中,请求消息用于获取地图数据;将请求消息所请求的矢量化二维数据发送给客户端,其中,矢量化二维数据是根据从二维地图中提取的建筑数据和道路数据进行矢量化得到的,矢量化二维数据用于在客户端构建三维地图。本发明解决了相关技术中,在构建三维地图场景时成本高的技术问题。
Description
技术领域
本发明涉及数据处理领域,具体而言,涉及一种地图数据处理方法及装置、三维地图生成方法及装置。
背景技术
目前,在基于真实地图信息的游戏中,往往是围绕玩家真实位置游戏的玩法,游戏的场景是带有真实地理信息的现实场景。玩家在现实的移动会反映到游戏中,LBS(即Location Based Service的缩写,指基于位置的服务)游戏相比于其他类型游戏的场景是动态可变的,这就使得通过美术来制作场景的方法变得并不现实;如果想要让游戏场景也有传统3D游戏的优点,譬如动态光照渲染等,那么自然就要求能够将现实地图信息进行三维场景构建。现有技术中进行三维场景构建的方法有:(1)直接使用二维地图图像:在场景中直接使用地图图层叠加后形成的二维地图图像,根据玩家的地理位置信息加载周边地图,并且通常需要对地图图像进行加工美化,在这种情况下,使用地图图像构建场景,如果单纯使用由地图图层构成的地图二维图像,那么需要耗费许多美术资源和人力,并且地图一有变动就需要重新进行绘制;其次,单纯的二维图像无法更换纹理,渲染光照效果,因而难以表现出实际世界场景的感觉,难以应用于如增强现实或虚拟现实场景。(2)基于三维地图数据重建的场景:该方法采用地图信息数据库,存储地图的三维数据,从而在客户端基于三维数据构建游戏场景。然而这种技术要求有很高质量的地图数据源,通常需要有专门设备进行三维扫描来获取,需要很高的成本。
针对上述的问题,目前尚未提出有效的解决方案。
发明内容
本发明实施例提供了一种地图数据处理方法及装置、三维地图生成方法及装置,以至少解决相关技术中,在构建三维地图场景时成本高的技术问题。
根据本发明实施例的一个方面,提供了一种地图数据处理方法,包括:接收客户端发送的请求消息,其中,上述请求消息用于获取地图数据;将上述请求消息所请求的矢量化二维数据发送给上述客户端,其中,上述矢量化二维数据是根据从二维地图中提取的建筑数据和道路数据进行矢量化得到的,上述矢量化二维数据用于在上述客户端构建三维地图。
进一步地,在接收上述客户端发送的上述请求消息之前,上述方法还包括:获取二维地图;从上述二维地图中提取上述建筑数据和上述道路数据进行矢量化得到上述矢量化二维数据。
进一步地,从上述二维地图中提取上述建筑数据并进行矢量化包括:将上述二维地图进行二值化分割出建筑数据;从分割的建筑数据中检测建筑边缘得到轮廓点;根据上述轮廓点进行多边形拟合,得到上述建筑数据对应的多边形的顶点数据。
进一步地,从上述二维地图数据中提取上述道路数据并进行矢量化包括:从上述二维地图中获取线段;查找道路节点,其中,上述道路节点为至少两条线段的汇集点;从每个道路节点出发按照预定至少一个方向搜索到下一个道路节点,则上述道路节点和上述下一个道路节点之间为一条道路数据,并保存这两个道路节点。
进一步地,从上述二维地图中获取上述线段包括:对上述二维地图进行二值化处理得到道路数据;根据预先设置的道路宽度对上述道路数据中的像素点进行遍历迭代,得到符合上述道路宽度的上述线段。
进一步地,将上述矢量化二维数据发送给上述客户端包括:将上述矢量化二维数据用三角化网格处理,其中,上述三角化网格处理为将矢量化的上述道路数据和上述建筑数据使用多个三角形进行划分;将三角化网格处理后的矢量化二维数据发送给上述客户端。
根据本发明的另一方面,还提供了一种三维地图生成方法,包括:向服务器发送请求消息,其中,上述请求消息用于获取地图数据;接收上述服务器发送的矢量化二维数据,其中,上述矢量化二维数据是根据从二维地图中提取的建筑数据和道路数据进行矢量化得到的;根据上述矢量化二维数据构建三维地图。
进一步地,在上述矢量化二维数据用三角化网格处理的情况下,其中,上述三角化网格处理为将矢量化的上述道路数据和上述建筑数据使用多个三角形进行划分,根据矢量化的建筑数据构建上述三维地图包括:获取三角化的多边形,其中,上述多边形是根据上述建筑数据对应的轮廓点进行多边形拟合得到的多边形;沿垂直于上述三角化的多边形的方向将上述三角化的多边形平移预设高度,得到平移后的三角化的多边形;连接上述三角化的多边形和上述平移后的三角化的多边形相对应的顶点,以将上述建筑数据构建为三维建筑模型。
根据本发明的另一方面,还提供了一种地图数据处理装置,包括:第一接收单元,用于接收客户端发送的请求消息,其中,上述请求消息用于获取地图数据;第一发送单元,用于将上述请求消息所请求的矢量化二维数据发送给上述客户端,其中,上述矢量化二维数据是根据从二维地图中提取的建筑数据和道路数据进行矢量化得到的,上述矢量化二维数据用于在上述客户端构建三维地图。
进一步地,上述装置还包括:第一获取单元,用于在接收上述客户端发送的上述请求消息之前,获取二维地图;提取单元,用于从上述二维地图中提取上述建筑数据和上述道路数据进行矢量化得到上述矢量化二维数据。
进一步地,上述提取单元包括:分割模块,用于在从上述二维地图中提取上述建筑数据并进行矢量化的情况下,将上述二维地图进行二值化分割出建筑数据;检测模块,用于从分割的建筑数据中检测建筑边缘得到轮廓点;拟合模块,用于根据上述轮廓点进行多边形拟合,得到上述建筑数据对应的多边形的顶点数据。
进一步地,上述提取单元还包括:获取模块,用于从上述二维地图数据中提取上述道路数据并进行矢量化的情况下,从上述二维地图中获取线段;查找模块,用于查找道路节点,其中,上述道路节点为至少两条线段的汇集点;搜索模块,用于从每个道路节点出发按照预定至少一个方向搜索到下一个道路节点,则上述道路节点和上述下一个道路节点之间为一条道路数据,并保存这两个道路节点。
进一步地,上述获取模块包括:处理子模块,用于在从上述二维地图中获取上述线段的情况下,对上述二维地图进行二值化处理得到道路数据;迭代子模块,用于根据预先设置的道路宽度对上述道路数据中的像素点进行遍历迭代,得到符合上述道路宽度的上述线段。
进一步地,上述第一发送单元包括:处理模块,用于将上述矢量化二维数据用三角化网格处理,其中,上述三角化网格处理为将矢量化的上述道路数据和上述建筑数据使用多个三角形进行划分;发送模块,用于将三角化网格处理后的矢量化二维数据发送给上述客户端。
根据本发明的另一方面,还提供了一种三维地图生成装置,包括:第二发送单元,用于向服务器发送请求消息,其中,上述请求消息用于获取地图数据;第二接收单元,用于接收上述服务器发送的矢量化二维数据,其中,上述矢量化二维数据是根据从二维地图中提取的建筑数据和道路数据进行矢量化得到的;构建单元,用于根据上述矢量化二维数据构建三维地图。
进一步地,包括:第三获取单元,用于在上述矢量化二维数据用三角化网格处理的情况下,其中,上述三角化网格处理为将矢量化的上述道路数据和上述建筑数据使用多个三角形进行划分,根据矢量化的建筑数据构建上述三维地图,获取三角化的多边形,其中,上述多边形是根据上述建筑数据对应的轮廓点进行多边形拟合得到的多边形;平移单元,用于沿垂直于上述三角化的多边形的方向将上述三角化的多边形平移预设高度,得到平移后的三角化的多边形;连接单元,用于连接上述三角化的多边形和上述平移后的三角化的多边形相对应的顶点,以将上述建筑数据构建为三维建筑模型。
在本发明实施例中,采用一种地图数据处理方法,包括:接收客户端发送的请求消息,其中,上述请求消息用于获取地图数据;将上述请求消息所请求的矢量化二维数据发送给上述客户端,其中,上述矢量化二维数据是根据从二维地图中提取的建筑数据和道路数据进行矢量化得到的,上述矢量化二维数据用于在上述客户端构建三维地图,由于将二维数据进行矢量化后,可以根据矢量化的二维数据构建三维地图,达到了通过二维图像数据构建三维地图的目的,从而实现了在构建三维地图场景时降低成本的技术效果,进而解决了相关技术中,在构建三维地图场景时成本高的技术问题。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1是根据本发明实施例的一种可选的地图数据处理方法的流程图;
图2是根据本发明实施例的可选的地图矢量数据三角网格化的示意图;
图3是根据本发明实施例的可选的地图矢量数据三角网格化的示意图;
图4是根据本发明实施例的可选的地图矢量数据三角网格化的示意图;
图5是根据本发明实施例的可选的地图矢量数据三角网格化的示意图;
图6是根据本发明实施例的一种可选的三维地图生成方法的流程图;
图7是根据本发明实施例的另一种可选的三维地图生成方法的流程图;
图8是根据本发明实施例的一种可选的地图数据处理装置的示意图;
图9是根据本发明实施例的一种可选的三维地图生成装置的示意图。
具体实施方式
为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
其中,实施例中可能涉及的缩略语和关键术语定义
LBS——Location Based Service的缩写,指基于位置的服务。
地图图层——地图数据根据分类展现在不同图层上,最终的地图图像数据是由多个图层叠加获得。
矢量数据——用X、Y坐标表示地图图形或地理实体的位置的数据。
三角网格——游戏渲染对象格式,三角面片集合。
游戏客户端——在玩家端运行网络游戏程序,带有显示屏幕和输入设备。
游戏服务端——在游戏营运商端运行的游戏程序,接收并处理所有在线玩家的逻辑。
数据库——在游戏运营商端存放游戏数据的程序,接收数据存储和读取请求的逻辑。
实施例1
根据本发明实施例,提供了一种地图数据处理方法的实施例,需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
图1是根据本发明实施例的一种可选的地图数据处理方法的流程图,如图1所示,该方法包括如下步骤:
步骤S102,接收客户端发送的请求消息,其中,请求消息用于获取地图数据;
步骤S104,将请求消息所请求的矢量化二维数据发送给客户端,其中,矢量化二维数据是根据从二维地图中提取的建筑数据和道路数据进行矢量化得到的,矢量化二维数据用于在客户端构建三维地图。
为了实现通过二维地图数据构建三维地图的目的,在对获取的地图数据进行处理时,先接收客户端发送的用于获取地图数据的请求消息,其中,该用于获取地图数据的请求消息可以请求矢量化二维数据,在接收客户端发送的请求有矢量化二维数据的请求信息后,将该矢量化二维数据发送给客户端,进而可以根据矢量化二维数据用于在客户端构建三维地图,需要说明的是,该矢量化二维数据是根据从二维地图中提取的建筑数据和道路数据进行矢量化得到的,矢量化的数据可以用X、Y坐标表示地图图形或地理实体的位置的数据,该二维数据进行矢量化后可以不需要对二维图像进行美术加工处理,图像在放大或缩小过程中,会保持原有图像的清晰度。通过上述方式,基于二维地图数据图层提取出地图矢量化数据,构建出基于真实世界地图数据的游戏场景,可以达到利用基本的地图图层数据构建出无限的大世界场景,满足LBS等游戏的场景构建需求。
通过上述步骤,由于将二维数据进行矢量化后,可以根据矢量化的二维数据构建三维地图,达到了通过二维图像数据构建三维地图的目的,从而实现了在构建三维地图场景时降低成本的技术效果,进而解决了相关技术中,在构建三维地图场景时成本高的技术问题。
本发明的一个实施例可以实现基于真实地图信息的游戏构建三维场景,在接收客户端发送的请求消息之前,方法还包括:获取二维地图;从二维地图中提取建筑数据和道路数据进行矢量化得到矢量化二维数据。通过在二维地图图像数据中提取道路和建筑图像数据,并且从二维地图中提取建筑数据和道路数据进行矢量化得到矢量化二维数据,有利于实现基于真实地图信息的游戏构建三维场景。其中,获取二维地图的方式可以采用瓦片来管理地图数据。每个瓦片的大小可以为256*256的大小,单位为米,从互联网地图服务商提供的在线地图可以下载到对应经纬度位置的瓦片数据,储存方式为图片格式。首先通过分层提取分别获取不同图层的地图数据,如建筑数据,道路数据对应的瓦片图片,可获取二维地图。
从二维地图中提取建筑数据并进行矢量化的方法有很多种,其中,从二维地图中提取建筑数据并进行矢量化的方法包括:将二维地图进行二值化分割出建筑数据;从分割的建筑数据中检测建筑边缘得到轮廓点;根据轮廓点进行多边形拟合,得到建筑数据对应的多边形的顶点数据。
由于建筑数据在二维图片上实际上是多边形的结构,为了实现从二维地图中提取建筑数据并进行矢量化,首先将二维地图进行二值化分割出建筑数据,方法可以是对建筑数据对应的瓦片进行二值化,分割出建筑数据,从分割的建筑数据中检测建筑边缘得到轮廓点,将连续的边缘点构成集合,即为一个建筑的轮廓点,所有集合构成该瓦片的中的建筑轮廓点,最后,根据轮廓点进行多边形拟合,得到建筑数据对应的多边形的顶点数据。其中,根据轮廓点进行多边形拟合的方法可以是采用Douglas-Peucker算法进行多边形拟合,计算构成建筑的多边形的顶点数据,将顺时针或逆时针排列的多边形顶点存储入列表中,即为建筑的矢量化数据,也就是建筑数据对应的多边形的顶点数据。
为了达到基于真实地图信息的游戏构建三维场景,真实地图中肯定存在道路,因此,需要从二维地图数据中提取道路数据并进行矢量化包括:从二维地图中获取线段;查找道路节点,其中,道路节点为至少两条线段的汇集点;从每个道路节点出发按照预定至少一个方向搜索到下一个道路节点,则道路节点和下一个道路节点之间为一条道路数据,并保存这两个道路节点。
由于道路数据在二维图片上实际上是线段的结构,为了实现从二维地图数据中提取道路数据并进行矢量化,可以先获取二维地图中道路数据所对应的线段,其中,至少两条线段出现汇集点时,将其定义为道路节点,从每个道路节点触发,预定至少一个方向搜索到下一个道路节点,例如可以是分别从8个方向进行搜索。搜索中判断当前点是否为道路数据,如果是则继续,否则返回搜索。一直搜索到另一个节点数据时,将两个节点连接,作为一条道路数据,保存两个道路节点。其中,对道路节点的搜索可以是采用1个5*5的检测算子进行道路节点检测,即检测图像中的折角,交叉口等节点,作为每个道路线段的端点。检测算子对图像进行遍历,当检测算子检测到满足如下条件时,认为该点为道路节点:
可选的,从二维地图中获取线段包括:对二维地图进行二值化处理得到道路数据;根据预先设置的道路宽度对道路数据中的像素点进行遍历迭代,得到符合道路宽度的线段。
也即,为了实现二维地图中获取符合道路宽度的线段,可以使得道路的宽度为1个像素,对二维地图进行二值化处理得到道路数据,然后对道路数据中的像素点进行遍历迭代,即可得到符合道路宽度的线段。其中,得到道路数据后还要进行矢量化处理,首先需要根据道路端点构成的线段的长度和斜率进行筛选,去除重复或接近的道路数据;其次,构建节点,将拥有相同节点的道路存储在同一节点中,最后构建成为多个连通图。连通图为多个节点构成,每个节点保存着相连的节点数据。
可选的,将矢量化二维数据发送给客户端包括:将矢量化二维数据用三角化网格处理,其中,三角化网格处理为将矢量化的道路数据和建筑数据使用多个三角形进行划分;将三角化网格处理后的矢量化二维数据发送给客户端。
由于从地图图像数据可以提取出道路和建筑的矢量数据,在对它们进行三角网格化的时候需要区分处理。为了实现将矢量化的道路数据用三角化网格处理,道路的矢量数据可以抽象成无向连接图,这样就可以将道路的拐角和岔口看成图中的节点(度为2的节点表示的是拐角,度大于2的节点表示的是岔口),对于拐角节点,可以三角化成三种情况:miter、bevel和round。如图2所示,设有拐角节点B,以及相邻两个节点A、C。根据设定好的三角化边宽,可以得到垂直于连接边的顶点A1、B1、B2、C1,以及C1B1边和A1B2边的交点P,同理得到Q。根据前面三种情况可以采用不同的做法,如图3所示,对于岔口节点,可以分为度为3和4的情况。如图4所示,度为3的节点B,其邻接节点A、C、D。三角网格化过程要计算出P、Q、T三个顶点,以这三个顶点作三角形。以P的计算为例,根据设定好的三角化边宽,可以得到垂直于连接边AB,BD的顶点A1,B1,B2,D1。A1B1和B2D1所在直线的交点即为P点,同理可以得到Q跟T。根据这种方式可以得到度为3和4的三角网格化结果,示例结果如图5所示。
根据本发明的另一方面,还提供了一种三维地图生成方法,图6是根据本发明实施例的一种可选的三维地图生成方法的流程图,如图6所示,该方法包括如下步骤:
S602,向服务器发送请求消息,其中,请求消息用于获取地图数据;
S604,接收服务器发送的矢量化二维数据,其中,矢量化二维数据是根据从二维地图中提取的建筑数据和道路数据进行矢量化得到的;
S606,根据矢量化二维数据构建三维地图。
为了达到基于真实地图信息的游戏构建三维场景,真实地图中肯定存在建筑物和道路,因此,在向服务器发送请求用于获取地图数据的消息后,接收服务器发送的矢量化二维数据,根据矢量化二维数据构建三维地图。
可选的,在矢量化二维数据用三角化网格处理的情况下,其中,三角化网格处理为将矢量化的道路数据和建筑数据使用多个三角形进行划分,根据矢量化的建筑数据构建三维地图包括:获取三角化的多边形,其中,多边形是根据建筑数据对应的轮廓点进行多边形拟合得到的多边形;沿垂直于三角化的多边形的方向将三角化的多边形平移预设高度,得到平移后的三角化的多边形;连接三角化的多边形和平移后的三角化的多边形相对应的顶点,以将建筑数据构建为三维建筑模型。
由于建筑的矢量数据是不规则多边形,所以可以将问题看成是多边形三角网格化。多边形的数据结构可以看成顶点列表,相邻顶点表示有连边。多边形的三角网格化过程如下:在顶点列表中找到第一个凸点,如果由这个点和在列表中的前一个顶点和下一个顶点组成的三角形不包含任何其他列表中的顶点,则以这三个顶点构建一个三角形。并且将当前顶点从列表中移除。重复这一个过程直到列表顶点数少于3。图7是根据本发明实施例的另一种可选的三维地图生成方法的流程图,如图7所示,地图数据提取和矢量数据三角网格化都可以作为预处理步骤进行。最后生成的道路和建筑二维网格数据,以瓦片为单位存储在数据库,每个瓦片会有自己对应的编号。客户端根据玩家地理位置向服务器请求邻域瓦片的网格数据,之后在客户端做三维化处理,才可以在游戏场景中进行渲染。玩家在走动过程中会更新地理位置信息,客户端要计算是否更新的邻域瓦片编号,向服务器请求瓦片数据。建筑的三维化基本做法是将三角化后的多边形复制之后拉高作为顶部,即沿垂直于三角化的多边形的方向将三角化的多边形平移预设高度,该预设高度可根据现实情况确定以达到更加真实的三维图,连接顶部和底部的对应顶点可以构成多个的垂直四边形面,作为建筑的墙壁。墙壁网格根据贴图的纹理尺寸需要进行细分,细化成多个四边形,每个四边形由两个三角形构成。根据纹理贴图方案可以加新的网格,比如顶部和墙壁之间的过渡可以增加一层网格。使用预处理-数据库存储-客户端请求的方法,可以动态更新地图场景数据,而不需改动客户端代码。另外可以减少客户端的存储量。
实施例2
根据本发明的另一方面,还提供了一种地图数据处理装置,图8是根据本发明实施例的一种可选的地图数据处理装置的示意图,如图8所示,该装置包括:第一接收单元20,用于接收客户端发送的请求消息,其中,请求消息用于获取地图数据;第一发送单元40,用于将请求消息所请求的矢量化二维数据发送给客户端,其中,矢量化二维数据是根据从二维地图中提取的建筑数据和道路数据进行矢量化得到的,矢量化二维数据用于在客户端构建三维地图。
可选的,装置还包括:第一获取单元,用于在接收客户端发送的请求消息之前,获取二维地图;提取单元,用于从二维地图中提取建筑数据和道路数据进行矢量化得到矢量化二维数据。
可选的,提取单元包括:分割模块,用于在从二维地图中提取建筑数据并进行矢量化的情况下,将二维地图进行二值化分割出建筑数据;检测模块,用于从分割的建筑数据中检测建筑边缘得到轮廓点;拟合模块,用于根据轮廓点进行多边形拟合,得到建筑数据对应的多边形的顶点数据。
可选的,提取单元还包括:获取模块,用于从二维地图数据中提取道路数据并进行矢量化的情况下,从二维地图中获取线段;查找模块,用于查找道路节点,其中,道路节点为至少两条线段的汇集点;搜索模块,用于从每个道路节点出发按照预定至少一个方向搜索到下一个道路节点,则道路节点和下一个道路节点之间为一条道路数据,并保存这两个道路节点。
可选的,获取模块包括:处理子模块,用于在从二维地图中获取线段的情况下,对二维地图进行二值化处理得到道路数据;迭代子模块,用于根据预先设置的道路宽度对道路数据中的像素点进行遍历迭代,得到符合道路宽度的线段。
可选的,第一发送单元包括:处理模块,用于将矢量化二维数据用三角化网格处理,其中,三角化网格处理为将矢量化的道路数据和建筑数据使用多个三角形进行划分;发送模块,用于将三角化网格处理后的矢量化二维数据发送给客户端。
根据本发明的另一方面,还提供了一种三维地图生成装置,图9是根据本发明实施例的一种可选的三维地图生成装置的示意图,如图9所示,该装置包括:第二发送单元60,用于向服务器发送请求消息,其中,请求消息用于获取地图数据;第二接收单元80,用于接收服务器发送的矢量化二维数据,其中,矢量化二维数据是根据从二维地图中提取的建筑数据和道路数据进行矢量化得到的;构建单元100,用于根据矢量化二维数据构建三维地图。
可选的,包括:第三获取单元,用于在矢量化二维数据用三角化网格处理的情况下,其中,三角化网格处理为将矢量化的道路数据和建筑数据使用多个三角形进行划分,根据矢量化的建筑数据构建三维地图,获取三角化的多边形,其中,多边形是根据建筑数据对应的轮廓点进行多边形拟合得到的多边形;平移单元,用于沿垂直于三角化的多边形的方向将三角化的多边形平移预设高度,得到平移后的三角化的多边形;连接单元,用于连接三角化的多边形和平移后的三角化的多边形相对应的顶点,以将建筑数据构建为三维建筑模型。
需要说明的是,在实施例2中装置部分各实施方式与实施例1中方法部分各实施方式是相对应的,在此不再赘述。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
在本发明的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
在本申请所提供的几个实施例中,应该理解到,所揭露的技术内容,可通过其它的方式实现。其中,以上所描述的装置实施例仅仅是示意性的,例如所述单元的划分,可以为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,单元或模块的间接耦合或通信连接,可以是电性或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可为个人计算机、服务器或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
Claims (8)
1.一种地图数据处理方法,其特征在于,包括:
接收客户端发送的请求消息,其中,所述请求消息用于获取地图数据;
将所述请求消息所请求的矢量化二维数据发送给所述客户端,其中,所述矢量化二维数据是根据从二维地图中提取的建筑数据和道路数据进行矢量化得到的,所述矢量化二维数据用于在所述客户端构建三维地图;
其中,将所述矢量化二维数据发送给所述客户端包括:
将所述矢量化二维数据用三角化网格处理,其中,所述三角化网格处理为将矢量化的所述道路数据和所述建筑数据使用多个三角形进行划分;
将三角化网格处理后的矢量化二维数据发送给所述客户端;
其中,获取二维地图的方式包括:采用瓦片来管理地图数据;从互联网地图服务商提供的在线地图中下载对应经纬度位置的瓦片数据,其中,所述瓦片数据的储存方式为图片格式;
其中,所述客户端根据玩家地理位置向服务器请求邻域的瓦片数据;
其中,在接收所述客户端发送的所述请求消息之前,所述方法还包括:
获取二维地图;
从所述二维地图中提取所述建筑数据和所述道路数据进行矢量化得到所述矢量化二维数据;
其中,从所述二维地图中提取所述建筑数据并进行矢量化包括:
将所述二维地图进行二值化分割出建筑数据;
从分割的建筑数据中检测建筑边缘得到轮廓点;
根据所述轮廓点进行多边形拟合,得到所述建筑数据对应的多边形的顶点数据;
其中,根据矢量化的建筑数据构建所述三维地图包括:
获取三角化的多边形,其中,所述多边形是根据所述建筑数据对应的轮廓点进行多边形拟合得到的多边形;
沿垂直于所述三角化的多边形的方向将所述三角化的多边形平移预设高度,得到平移后的三角化的多边形;
连接所述三角化的多边形和所述平移后的三角化的多边形相对应的顶点,以将所述建筑数据构建为三维建筑模型。
2.根据权利要求1所述的方法,其特征在于,从所述二维地图中提取所述道路数据并进行矢量化包括:
从所述二维地图中获取线段;
查找道路节点,其中,所述道路节点为至少两条线段的汇集点;
从每个道路节点出发按照预定至少一个方向搜索到下一个道路节点,则所述道路节点和所述下一个道路节点之间为一条道路数据,并保存这两个道路节点。
3.根据权利要求2所述的方法,其特征在于,从所述二维地图中获取所述线段包括:
对所述二维地图进行二值化处理得到道路数据;
根据预先设置的道路宽度对所述道路数据中的像素点进行遍历迭代,得到符合所述道路宽度的所述线段。
4.一种三维地图生成方法,其特征在于,包括:
向服务器发送请求消息,其中,所述请求消息用于获取地图数据;
接收所述服务器发送的矢量化二维数据,其中,所述矢量化二维数据是根据从二维地图中提取的建筑数据和道路数据进行矢量化得到的;
根据所述矢量化二维数据构建三维地图;
其中,所述方法还包括:对所述矢量化二维数据用三角化网格处理,其中,所述三角化网格处理为将矢量化的所述道路数据和所述建筑数据使用多个三角形进行划分;
其中,所述二维地图采用瓦片来管理地图数据;从互联网地图服务商提供的在线地图中下载对应经纬度位置的瓦片数据,其中,所述瓦片数据的储存方式为图片格式;
其中,客户端根据玩家地理位置向服务器请求邻域的瓦片数据;
其中,从所述二维地图中提取所述建筑数据并进行矢量化包括:
将所述二维地图进行二值化分割出建筑数据;
从分割的建筑数据中检测建筑边缘得到轮廓点;
根据所述轮廓点进行多边形拟合,得到所述建筑数据对应的多边形的顶点数据;
其中,根据矢量化的建筑数据构建所述三维地图包括:
获取三角化的多边形,其中,所述多边形是根据所述建筑数据对应的轮廓点进行多边形拟合得到的多边形;
沿垂直于所述三角化的多边形的方向将所述三角化的多边形平移预设高度,得到平移后的三角化的多边形;
连接所述三角化的多边形和所述平移后的三角化的多边形相对应的顶点,以将所述建筑数据构建为三维建筑模型。
5.一种地图数据处理装置,其特征在于,包括:
第一接收单元,用于接收客户端发送的请求消息,其中,所述请求消息用于获取地图数据;
第一发送单元,用于将所述请求消息所请求的矢量化二维数据发送给所述客户端,其中,所述矢量化二维数据是根据从二维地图中提取的建筑数据和道路数据进行矢量化得到的,所述矢量化二维数据用于在所述客户端构建三维地图;
其中,所述第一发送单元包括:
处理模块,用于将所述矢量化二维数据用三角化网格处理,其中,所述三角化网格处理为将矢量化的所述道路数据和所述建筑数据使用多个三角形进行划分;
发送模块,用于将三角化网格处理后的矢量化二维数据发送给所述客户端;
其中,所述二维地图采用瓦片来管理地图数据;从互联网地图服务商提供的在线地图中下载对应经纬度位置的瓦片数据,其中,所述瓦片数据的储存方式为图片格式;
其中,所述客户端根据玩家地理位置向服务器请求邻域的瓦片数据;
其中,所述装置还包括:
第一获取单元,用于在接收所述客户端发送的所述请求消息之前,获取二维地图;
提取单元,用于从所述二维地图中提取所述建筑数据和所述道路数据进行矢量化得到所述矢量化二维数据;
其中,所述提取单元包括:
分割模块,用于在从所述二维地图中提取所述建筑数据并进行矢量化的情况下,将所述二维地图进行二值化分割出建筑数据;
检测模块,用于从分割的建筑数据中检测建筑边缘得到轮廓点;
拟合模块,用于根据所述轮廓点进行多边形拟合,得到所述建筑数据对应的多边形的顶点数据;
其中,根据矢量化的建筑数据构建所述三维地图包括:
获取三角化的多边形,其中,所述多边形是根据所述建筑数据对应的轮廓点进行多边形拟合得到的多边形;
沿垂直于所述三角化的多边形的方向将所述三角化的多边形平移预设高度,得到平移后的三角化的多边形;
连接所述三角化的多边形和所述平移后的三角化的多边形相对应的顶点,以将所述建筑数据构建为三维建筑模型。
6.根据权利要求5所述的装置,其特征在于,所述提取单元包括:
获取模块,用于从所述二维地图中提取所述道路数据并进行矢量化的情况下,从所述二维地图中获取线段;
查找模块,用于查找道路节点,其中,所述道路节点为至少两条线段的汇集点;
搜索模块,用于从每个道路节点出发按照预定至少一个方向搜索到下一个道路节点,则所述道路节点和所述下一个道路节点之间为一条道路数据,并保存这两个道路节点。
7.根据权利要求6所述的装置,其特征在于,所述获取模块包括:
处理子模块,用于在从所述二维地图中获取所述线段的情况下,对所述二维地图进行二值化处理得到道路数据;
迭代子模块,用于根据预先设置的道路宽度对所述道路数据中的像素点进行遍历迭代,得到符合所述道路宽度的所述线段。
8.一种三维地图生成装置,其特征在于,包括:
第二发送单元,用于向服务器发送请求消息,其中,所述请求消息用于获取地图数据;
第二接收单元,用于接收所述服务器发送的矢量化二维数据,其中,所述矢量化二维数据是根据从二维地图中提取的建筑数据和道路数据进行矢量化得到的;
构建单元,用于根据所述矢量化二维数据构建三维地图;
其中,所述装置还包括:对所述矢量化二维数据用三角化网格处理,其中,所述三角化网格处理为将矢量化的所述道路数据和所述建筑数据使用多个三角形进行划分;
其中,所述二维地图采用瓦片来管理地图数据;从互联网地图服务商提供的在线地图中下载对应经纬度位置的瓦片数据,其中,所述瓦片数据的储存方式为图片格式;
其中,客户端根据玩家地理位置向服务器请求邻域的瓦片数据;
其中,从所述二维地图中提取所述建筑数据并进行矢量化包括:
将所述二维地图进行二值化分割出建筑数据;
从分割的建筑数据中检测建筑边缘得到轮廓点;
根据所述轮廓点进行多边形拟合,得到所述建筑数据对应的多边形的顶点数据;
其中,所述装置还包括:
第三获取单元,用于根据矢量化的建筑数据构建所述三维地图,获取三角化的多边形,其中,所述多边形是根据所述建筑数据对应的轮廓点进行多边形拟合得到的多边形;
平移单元,用于沿垂直于所述三角化的多边形的方向将所述三角化的多边形平移预设高度,得到平移后的三角化的多边形;
连接单元,用于连接所述三角化的多边形和所述平移后的三角化的多边形相对应的顶点,以将所述建筑数据构建为三维建筑模型。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710013206.1A CN106780736B (zh) | 2017-01-09 | 2017-01-09 | 地图数据处理方法及装置、三维地图生成方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710013206.1A CN106780736B (zh) | 2017-01-09 | 2017-01-09 | 地图数据处理方法及装置、三维地图生成方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106780736A CN106780736A (zh) | 2017-05-31 |
CN106780736B true CN106780736B (zh) | 2021-04-27 |
Family
ID=58951186
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710013206.1A Active CN106780736B (zh) | 2017-01-09 | 2017-01-09 | 地图数据处理方法及装置、三维地图生成方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106780736B (zh) |
Families Citing this family (26)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108871354B (zh) * | 2017-05-11 | 2021-07-06 | 腾讯科技(深圳)有限公司 | 道路信息处理方法及处理系统 |
CN107481321B (zh) * | 2017-08-16 | 2021-02-26 | 城市生活(北京)资讯有限公司 | 一种三维模型生成方法及三维模型生成系统 |
CN107833276A (zh) * | 2017-10-10 | 2018-03-23 | 深圳数位传媒科技有限公司 | 二维地图转换三维地图的方法、装置和计算机存储介质 |
CN107705363B (zh) * | 2017-10-20 | 2021-02-23 | 北京世纪高通科技有限公司 | 一种道路三维可视化建模方法及装置 |
CN108614852A (zh) * | 2018-03-14 | 2018-10-02 | 广州市优普科技有限公司 | 一种基于大数据的数据地图生成方法 |
CN110457512B (zh) * | 2018-05-08 | 2022-03-25 | 腾讯科技(深圳)有限公司 | 一种地图显示方法、装置、服务器、终端及存储介质 |
CN109470233B (zh) * | 2018-09-13 | 2021-09-28 | 北京米文动力科技有限公司 | 一种定位方法及设备 |
CN111383334B (zh) | 2018-12-28 | 2022-08-19 | 北京嘀嘀无限科技发展有限公司 | 用于渲染对象的系统和方法 |
CN109831518B (zh) * | 2019-03-06 | 2021-08-24 | 珠海金山网络游戏科技有限公司 | 一种地图数据下载方法及装置、计算设备和存储介质 |
CN110136262B (zh) * | 2019-05-17 | 2020-05-05 | 中科三清科技有限公司 | 水体虚拟可视化方法和装置 |
CN110473289A (zh) * | 2019-07-08 | 2019-11-19 | 山东智汇云建筑信息科技有限公司 | 一种准确展示三维模型的方法 |
CN110415347B (zh) * | 2019-07-22 | 2023-08-25 | 高新兴科技集团股份有限公司 | 三维实景地图与二维平面地图融合方法、装置及电子设备 |
CN110378293B (zh) * | 2019-07-22 | 2021-02-23 | 泰瑞数创科技(北京)有限公司 | 一种基于实景三维模型生产高精度地图的方法 |
CN110880157B (zh) * | 2019-11-15 | 2024-03-29 | 腾讯科技(深圳)有限公司 | 一种地图数据处理方法、装置、电子设备及存储介质 |
CN111488103B (zh) * | 2020-04-16 | 2021-05-18 | 北京思特奇信息技术股份有限公司 | 一种Web页面图元吸附方法、装置、存储介质和设备 |
CN111652251B (zh) * | 2020-06-09 | 2023-06-27 | 星际空间(天津)科技发展有限公司 | 遥感影像建筑物特征提取模型构建方法、装置及存储介质 |
CN111652250B (zh) * | 2020-06-09 | 2023-05-26 | 星际空间(天津)科技发展有限公司 | 基于多边形的遥感影像建筑物提取方法、装置及存储介质 |
CN112102489B (zh) * | 2020-09-24 | 2023-03-28 | 腾讯科技(深圳)有限公司 | 导航界面显示方法、装置、计算设备和存储介质 |
CN114255327A (zh) * | 2020-09-25 | 2022-03-29 | 中国移动通信集团设计院有限公司 | 建筑物外轮廓提取方法及装置 |
CN112308969B (zh) * | 2020-12-23 | 2021-04-09 | 中智行科技有限公司 | 三维地图生成方法及装置 |
CN112598993B (zh) * | 2020-12-25 | 2024-06-07 | 平安国际智慧城市科技股份有限公司 | 基于cim的城市地图平台可视化方法、装置及相关产品 |
CN112651378B (zh) * | 2021-01-08 | 2021-10-15 | 唐旸 | 紧固件二维图纸的标注信息识别方法、设备及介质 |
CN112870714B (zh) * | 2021-02-03 | 2024-06-28 | 网易(杭州)网络有限公司 | 一种地图的显示方法和装置 |
CN114416897B (zh) * | 2021-12-21 | 2024-06-28 | 海南乾唐视联信息技术有限公司 | 基于二维地图的信息处理方法、装置、系统、设备及介质 |
CN115578538B (zh) * | 2022-10-17 | 2023-06-23 | 北京世冠金洋科技发展有限公司 | 三维场景生成方法、装置及电子设备和存储介质 |
CN116608879A (zh) * | 2023-05-19 | 2023-08-18 | 亿咖通(湖北)技术有限公司 | 信息显示方法、设备、存储介质及程序产品 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104807467A (zh) * | 2014-01-24 | 2015-07-29 | 高德信息技术有限公司 | 一种导航地图的展示方法和系统 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4447865B2 (ja) * | 2003-08-01 | 2010-04-07 | ソニー株式会社 | 地図表示システム、地図データ加工装置、地図表示装置及び地図表示方法 |
KR100657937B1 (ko) * | 2004-12-14 | 2006-12-14 | 삼성전자주식회사 | 2차원 선형 데이터의 실시간 3차원 변환 방법 및 장치,그리고 이를 이용한 2차원 선형 데이터의 실시간 3차원시각화 방법 및 장치 |
CN102436678B (zh) * | 2010-09-29 | 2014-11-26 | 比亚迪股份有限公司 | 一种三维道路模型生成方法及系统 |
CN103971414A (zh) * | 2014-04-30 | 2014-08-06 | 深圳职业技术学院 | 一种可视化真三维图的制作方法及系统 |
CN105740256A (zh) * | 2014-12-09 | 2016-07-06 | 高德信息技术有限公司 | 一种三维地图的生成方法及装置 |
CN105279793A (zh) * | 2015-11-04 | 2016-01-27 | 深圳职业技术学院 | 一种基于dem真三维地图及绿道的建模方法及系统 |
-
2017
- 2017-01-09 CN CN201710013206.1A patent/CN106780736B/zh active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104807467A (zh) * | 2014-01-24 | 2015-07-29 | 高德信息技术有限公司 | 一种导航地图的展示方法和系统 |
Also Published As
Publication number | Publication date |
---|---|
CN106780736A (zh) | 2017-05-31 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106780736B (zh) | 地图数据处理方法及装置、三维地图生成方法及装置 | |
Remondino et al. | Image‐based 3D modelling: a review | |
Gomes et al. | 3D reconstruction methods for digital preservation of cultural heritage: A survey | |
Brenner | Building reconstruction from images and laser scanning | |
CN113706698B (zh) | 实景三维道路重建方法及装置、存储介质、电子设备 | |
Duan et al. | Towards large-scale city reconstruction from satellites | |
US7561156B2 (en) | Adaptive quadtree-based scalable surface rendering | |
US8466915B1 (en) | Fusion of ground-based facade models with 3D building models | |
WO2022227910A1 (zh) | 虚拟场景生成方法、装置、计算机设备和存储介质 | |
Truong-Hong et al. | Octree-based, automatic building facade generation from LiDAR data | |
CN115439607A (zh) | 一种三维重建方法、装置、电子设备及存储介质 | |
Turner et al. | Sketching space | |
Kim et al. | Interactive 3D building modeling method using panoramic image sequences and digital map | |
Wang et al. | A Gestalt rules and graph-cut-based simplification framework for urban building models | |
Wang et al. | Automatic generation of large-scale 3D road networks based on GIS data | |
Zheng et al. | A morphologically preserved multi-resolution TIN surface modeling and visualization method for virtual globes | |
Caradonna et al. | Multi-image 3D reconstruction: a photogrammetric and structure from motion comparative analysis | |
Zhang et al. | A geometry and texture coupled flexible generalization of urban building models | |
CN118015197A (zh) | 一种实景三维逻辑单体化方法、装置及电子设备 | |
Doulamis et al. | Selective 4D modelling framework for spatial-temporal land information management system | |
Lee et al. | Taxonomy of space tessellation | |
CN110610543B (zh) | 一种建立三维路面和路口的方法及装置 | |
Kostrikov et al. | Studying of urban features by the multifunctional approach to LiDAR data processing | |
CN114943711A (zh) | 基于LiDAR点云和影像的建筑物提取方法和系统 | |
Habib et al. | Integration of lidar and airborne imagery for realistic visualization of 3d urban environments |
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 |