一种三维地图模型的生成方法以及装置与流程

文档序号:25648492发布日期:2021-06-25 18:11阅读:112来源:国知局
一种三维地图模型的生成方法以及装置与流程

1.本申请涉及图像处理领域,尤其涉及一种三维地图模型的生成方法、装置。


背景技术:

2.随着人工智能的发展,基于三维webgis应用越来越多,对快速创建三维模型,同时能与webgis地理引擎相结合使用的要求越来越高。然而,传统方法是通过人工创建三维模型,同时,三维建模软件使用的笛卡尔坐标系与gis中使用的坐标系不一致,这样,导致建模耗时费力且效率低下、人工创建过程中容易出现由于操作错误所导致的建模错误的问题,而且三维模型不能与gis引擎结合使用。因此,亟需一种新的三维地图模型的生成方案。


技术实现要素:

3.本申请提供一种三维地图模型的生成方法,以可以提高创建三维地图模型的效率和精准度,进而提高了用户体验。
4.第一方面,本申请提供了一种三维地图模型的生成方法,所述方法包括:
5.获取目标区域的gis数据;
6.根据所述目标区域的gis数据,确定所述gis数据在球体坐标系下的坐标值;
7.根据所述gis数据在球体坐标系下的坐标值,生成三维网格模型;
8.对所述三维网格模型进行渲染,得到所述目标区域的gis数据对应的三维地图模型。
9.可选的,所述目标区域的gis数据包括经纬度坐标值;所述根据所述目标区域的gis数据,确定所述gis数据在球体坐标系下的坐标值,包括:
10.根据所述目标区域的纬度坐标值,确定所述gis数据在球体坐标系下的坐标值。
11.可选的,所述球体坐标系为墨卡托(mercator)投影体系。
12.可选的,所述目标区域的gis数据包括若干个多边形的顶点的经纬度坐标值;所述根据所述gis数据在球体坐标系下的坐标值,生成三维网格模型,包括:
13.针对每一个多边形,根据该多边形的顶点在球体坐标系下的坐标值,生成该多边形对应的多边形网格;
14.根据若干个多边形各自分别对应的多边形网格,生成三维网格模型。
15.可选的,所述目标区域的gis数据包括若干个多边形各自分别对应的深度信息;所述根据若干个多边形各自分别对应的多边形网格,生成三维网格模型,包括:
16.将若干个多边形各自分别对应的多边形网格连接,生成初始三维网格模型;
17.根据所述若干个多边形各自分别对应的深度信息,分别对各个多边形的深度进行调整,得到三维网格模型。
18.可选的,所述目标区域的gis数据还包括:若干个孔洞的顶点的经纬度坐标值;在所述根据若干个多边形各自分别对应的多边形网格,生成三维网格模型的步骤之后,所述方法还包括:
19.根据所述若干个孔洞的顶点在球体坐标系下的坐标值,在所述三维网格模型上生成所述若干个孔洞,得到包括所述若干孔洞的三维网格模型。
20.可选的,所述目标区域的gis数据还包括:模型渲染信息;
21.所述对所述三维网格模型进行渲染,得到所述目标区域的gis数据对应的三维地图模型,包括:
22.根据所述模型渲染信息,对所述三维网格模型进行渲染,得到所述目标区域的gis数据对应的三维地图模型。
23.第二方面,本申请提供了一种三维地图模型的生成装置,所述装置包括:
24.数据获取单元,用于获取目标区域的gis数据;
25.坐标确定单元,用于根据所述目标区域的gis数据,确定所述gis数据在球体坐标系下的坐标值;
26.模型生成单元,用于根据所述gis数据在球体坐标系下的坐标值,生成三维网格模型;
27.模型渲染单元,用于对所述三维网格模型进行渲染,得到所述目标区域的gis数据对应的三维地图模型。
28.可选的,所述目标区域的gis数据包括经纬度坐标值;所述坐标确定单元,具体用于:
29.根据所述目标区域的纬度坐标值,确定所述gis数据在球体坐标系下的坐标值。
30.可选的,所述球体坐标系为墨卡托(mercator)投影体系。
31.可选的,所述目标区域的gis数据包括若干个多边形的顶点的经纬度坐标值;所述模型生成单元,具体用于:
32.针对每一个多边形,根据该多边形的顶点在球体坐标系下的坐标值,生成该多边形对应的多边形网格;
33.根据若干个多边形各自分别对应的多边形网格,生成三维网格模型。
34.可选的,所述目标区域的gis数据包括若干个多边形各自分别对应的深度信息;所述所述模型生成单元,具体用于:
35.将若干个多边形各自分别对应的多边形网格连接,生成初始三维网格模型;
36.根据所述若干个多边形各自分别对应的深度信息,分别对各个多边形的深度进行调整,得到三维网格模型。
37.可选的,所述目标区域的gis数据还包括:若干个孔洞的顶点的经纬度坐标值;所述装置还包括孔洞生成单元,用于:
38.根据所述若干个孔洞的顶点在球体坐标系下的坐标值,在所述三维网格模型上生成所述若干个孔洞,得到包括所述若干孔洞的三维网格模型。
39.可选的,所述目标区域的gis数据还包括:模型渲染信息;
40.所述模型渲染单元,具体用于:
41.根据所述模型渲染信息,对所述三维网格模型进行渲染,得到所述目标区域的gis数据对应的三维地图模型。
42.第三方面,本申请提供了一种可读介质,包括执行指令,当电子设备的处理器执行所述执行指令时,所述电子设备执行如第一方面中任一所述的方法。
43.第四方面,本申请提供了一种电子设备,包括处理器以及存储有执行指令的存储器,当所述处理器执行所述存储器存储的所述执行指令时,所述处理器执行如第一方面中任一所述的方法。
44.由上述技术方案可以看出,本申请提供了一种三维地图模型的生成方法,所述方法可以先获取目标区域的gis数据;然后,可以根据所述目标区域的gis数据,确定所述gis数据在球体坐标系下的坐标值;接着,可以根据所述gis数据在球体坐标系下的坐标值,生成三维网格模型;紧接着,可以对所述三维网格模型进行渲染,得到所述目标区域的gis数据对应的三维地图模型。可见,本申请可以将目标区域的gis数据转换为在球体坐标系下的坐标值,并利用在球体坐标系下的坐标值生成三维网格模型,接着,可以基于三维网格模型生成目标区域的gis数据对应的三维地图模型,这样,本申请可以根据目标区域的gis数据自动生成目标区域的gis数据对应的三维地图模型,而不需要和现有技术一样,需要人工手动创建三维地图模型,从而可以避免出现人工创建过程中容易出现由于操作错误所导致的建模错误、效率低下、耗时费力的问题,提高了创建三维地图模型的效率和精准度,进而提高了用户体验。
45.上述的非惯用的优选方式所具有的进一步效果将在下文中结合具体实施方式加以说明。
附图说明
46.为了更清楚地说明本申请实施例或现有的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请中记载的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
47.图1为本申请一实施例提供的一种三维地图模型的生成方法的流程示意图;
48.图2为本申请一实施例提供的一种三维网格模型渲染后的效果示意图;
49.图3为本申请一实施例提供的一种三维地图模型的生成装置的结构示意图;
50.图4为本申请一实施例提供的一种电子设备的结构示意图。
具体实施方式
51.为使本申请的目的、技术方案和优点更加清楚,下面将结合具体实施例及相应的附图对本申请的技术方案进行清楚、完整地描述。显然,所描述的实施例仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
52.目前,创建三维模型的传统方法是通过人工创建三维模型,同时,三维建模软件使用的笛卡尔坐标系与gis(地理信息系统,geographic information system)中使用的坐标系不一致,这样,导致建模耗时费力且效率低下、人工创建过程中容易出现由于操作错误所导致的建模错误的问题,而且三维模型不能与gis引擎结合使用。因此,亟需一种新的三维地图模型的生成方案。
53.本申请提供了一种三维地图模型的生成方法,所述方法可以先获取目标区域的gis数据;然后,可以根据所述目标区域的gis数据,确定所述gis数据在球体坐标系下的坐
标值;接着,可以根据所述gis数据在球体坐标系下的坐标值,生成三维网格模型;紧接着,可以对所述三维网格模型进行渲染,得到所述目标区域的gis数据对应的三维地图模型。可见,本申请可以将目标区域的gis数据转换为在球体坐标系下的坐标值,并利用在球体坐标系下的坐标值生成三维网格模型,接着,可以基于三维网格模型生成目标区域的gis数据对应的三维地图模型,这样,本申请可以根据目标区域的gis数据自动生成目标区域的gis数据对应的三维地图模型,而不需要和现有技术一样,需要人工手动创建三维地图模型,从而可以避免出现人工创建过程中容易出现由于操作错误所导致的建模错误、效率低下、耗时费力的问题,提高了创建三维地图模型的效率和精准度,进而提高了用户体验。
54.需要说明的是,本申请实施例可以应用于电子设备(比如手机、平板等)或者服务器中。需要说明的是,除了上述提及的方式以外,还可以为其他的实现方式,在这里并不限定。
55.下面结合附图,详细说明本申请的各种非限制性实施方式。
56.参见图1,示出了本申请实施例中的一种三维地图模型的生成方法,在本实施例中,所述方法例如可以包括以下步骤:
57.s101:获取目标区域的gis数据。
58.在本实施例中,可以预先设置有地理信息系统(geographic information system或geo-information system,gis)数据,该gis数据中包括若干个区域,可以响应于用户对于gis数据中一区域的操作(比如通过点击或圈定一区域),将该区域确定目标区域,并且从预设的gis数据中提取目标区域的gis数据。
59.s102:根据所述目标区域的gis数据,确定所述gis数据在球体坐标系下的坐标值。
60.在本实施例中,所述目标区域的gis数据可以包括经纬度坐标值,具体地,目标区域中可以包括多个点(即一具体坐标点),目标区域的gis数据可以包括目标区域中多个点各自分别对应的经纬度坐标值。
61.在获取到目标区域的gis数据之后,可以根据所述目标区域的纬度坐标值,确定所述gis数据在球体坐标系下的坐标值。即,在获取到目标区域中多个点各自分别对应的经纬度坐标值,可以分别根据各个点各自分别对应的经纬度坐标值,确定各个点在球体坐标系下各自分别对应的坐标值。
62.举例来说,假设所述球体坐标系为墨卡托(mercator)投影体系(即web mercator),且,墨卡托投影的坐标系原点为(0,λ0),其中,该坐标系原点表示原点的x轴对应为赤道,原点的y轴在经度为λ0处垂直于赤道,则可以利用以下公式,将所述目标区域的纬度坐标值,转换为所述gis数据在球体坐标系下的坐标值:
[0063][0064]
其中,λ为目标区域的一个点的经度,φ为目标区域的一个点的纬度,x、y分别为目标区域的一个点的经、纬度坐标转换成web mercator坐标后,分别对应x、y坐标轴上的值(即目标区域的该点的经、纬度坐标值在球体坐标系下的坐标值)。
[0065]
s103:根据所述gis数据在球体坐标系下的坐标值,生成三维网格模型。
[0066]
在本实施例中,所述目标区域的gis数据还可以包括若干个多边形的顶点的经纬度坐标值。可以理解的是,目标区域可以包括多个多边形,且所述多个多边形拼接起来,可以得到该目标区域,且每个多边形可以包括多个顶点,且每个顶点均具有其对应的经纬度坐标值,其中,多边形可以为正方形、三角形、长方形、五边形、菱形等其他多边形的情况,需要说明的是,在本实施例中,不对多边形的具体形状进行限定。
[0067]
在本实施例中,可以先针对每一个多边形,根据该多边形的顶点在球体坐标系下的坐标值,生成该多边形对应的多边形网格。具体地,先确定该多边形的各个顶点在球体坐标系下的坐标值,接着,根据该多边形的各个顶点在球体坐标系下的坐标值,将该多边形的各个顶点依次连接,得到一个封闭式的多边形区域,并将该封闭式的多边形区域作为该多边形对应的多边形网格。
[0068]
然后,可以根据若干个多边形各自分别对应的多边形网格,生成三维网格模型。需要说明的是在gis数据中预先存储有多个多边形两两之间的连接关系,此时,可以根据多个多边形两两之间的连接关系,将若干个多边形各自分别对应的多边形网格连接,生成初始三维网格模型,即将多个多边形各自分别对应的多边形网格,按照多个多边形网格各自分别对应的多边形之间的连接关系进行连接,生成初始三维网格模型。
[0069]
需要说明的是,由于目标区域中,各个区域的高低是不相同的,因此,在一种实现方式中,所述目标区域的gis数据可以包括若干个多边形各自分别对应的深度信息(即多边形所对应的高度/深度),其中,需要说明的是,在本实施例中,若干可以理解为一个,也可以理解为多个。在本实施例中,可以先将若干个多边形各自分别对应的多边形网格连接,生成初始三维网格模型;然后,可以根据所述若干个多边形各自分别对应的深度信息,分别对各个多边形的深度进行调整,得到三维网格模型。
[0070]
需要说明的是,目标区域中可能会存在孔洞的情况,故此,在本申请的一种实现方式中,所述目标区域的gis数据还可以包括:若干个孔洞的顶点的经纬度坐标值。相应地,在所述根据若干个多边形各自分别对应的多边形网格,生成三维网格模型的步骤之后,所述方法还包括以下步骤:
[0071]
根据所述若干个孔洞的顶点在球体坐标系下的坐标值,在所述三维网格模型上生
成所述若干个孔洞,得到包括所述若干孔洞的三维网格模型。
[0072]
可以理解的是,在本实施例中,可以先根据若干个孔洞的顶点的经纬度坐标值,确定所述若干个孔洞的顶点在球体坐标系下的坐标值。即,在获取到目标区域中多个孔洞的顶点各自分别对应的经纬度坐标值,可以分别根据各个孔洞的顶点各自分别对应的经纬度坐标值,确定各个孔洞的顶点在球体坐标系(比如墨卡托(mercator)投影体系)下各自分别对应的坐标值。接着,根据若干个孔洞的顶点在球体坐标系下的坐标值,在三维网格模型上确定各个孔洞的顶点对应的位置(即孔洞的顶点在三维网格模型上的位置)。紧接着,可以根据各个孔洞的各个顶点分别在三维网格模型上的位置,在所述三维网格模型上生成所述若干个孔洞,从而可以得到包括所述若干孔洞的三维网格模型。
[0073]
s104:对所述三维网格模型进行渲染,得到所述目标区域的gis数据对应的三维地图模型。
[0074]
在本实施例中,在得到三维网格模型后,可以对三维网格模型进行三维图层渲染,以得到所述目标区域的gis数据对应的三维地图模型。在一种实现方式中,所述目标区域的gis数据还包括:模型渲染信息,其中,模型渲染信息可以理解对于三维网格模型进行渲染的目标效果,即所希望的三维地图模型对应的渲染效果,例如模型渲染信息可以包括三维模型颜色、透明度、添加漫反射材质等信息。在该实现方式中,可以根据所述模型渲染信息,对所述三维网格模型进行渲染(比如可以对三维网格模型中的网格面的前面、背面、双面均进行渲染),得到所述目标区域的gis数据对应的三维地图模型。例如,如图2所示,为一种三维网格模型渲染后的效果示意图。
[0075]
由上述技术方案可以看出,本申请提供了一种三维地图模型的生成方法,所述方法可以先获取目标区域的gis数据;然后,可以根据所述目标区域的gis数据,确定所述gis数据在球体坐标系下的坐标值;接着,可以根据所述gis数据在球体坐标系下的坐标值,生成三维网格模型;紧接着,可以对所述三维网格模型进行渲染,得到所述目标区域的gis数据对应的三维地图模型。可见,本申请可以将目标区域的gis数据转换为在球体坐标系下的坐标值,并利用在球体坐标系下的坐标值生成三维网格模型,接着,可以基于三维网格模型生成目标区域的gis数据对应的三维地图模型,这样,本申请可以根据目标区域的gis数据自动生成目标区域的gis数据对应的三维地图模型,而不需要和现有技术一样,需要人工手动创建三维地图模型,从而可以避免出现人工创建过程中容易出现由于操作错误所导致的建模错误、效率低下、耗时费力的问题,提高了创建三维地图模型的效率和精准度,进而提高了用户体验。
[0076]
如图3所示,为本申请所述一种三维地图模型的生成装置的一个具体实施例。本实施例所述装置,即用于执行上述实施例所述方法的实体装置。其技术方案本质上与上述实施例一致,本实施例中所述装置包括:
[0077]
数据获取单元301,用于获取目标区域的gis数据;
[0078]
坐标确定单元302,用于根据所述目标区域的gis数据,确定所述gis数据在球体坐标系下的坐标值;
[0079]
模型生成单元303,用于根据所述gis数据在球体坐标系下的坐标值,生成三维网格模型;
[0080]
模型渲染单元304,用于对所述三维网格模型进行渲染,得到所述目标区域的gis
数据对应的三维地图模型。
[0081]
可选的,所述目标区域的gis数据包括经纬度坐标值;所述坐标确定单元302,具体用于:
[0082]
根据所述目标区域的纬度坐标值,确定所述gis数据在球体坐标系下的坐标值。
[0083]
可选的,所述球体坐标系为墨卡托(mercator)投影体系。
[0084]
可选的,所述目标区域的gis数据包括若干个多边形的顶点的经纬度坐标值;所述模型生成单元303,具体用于:
[0085]
针对每一个多边形,根据该多边形的顶点在球体坐标系下的坐标值,生成该多边形对应的多边形网格;
[0086]
根据若干个多边形各自分别对应的多边形网格,生成三维网格模型。
[0087]
可选的,所述目标区域的gis数据包括若干个多边形各自分别对应的深度信息;所述所述模型生成单元303,具体用于:
[0088]
将若干个多边形各自分别对应的多边形网格连接,生成初始三维网格模型;
[0089]
根据所述若干个多边形各自分别对应的深度信息,分别对各个多边形的深度进行调整,得到三维网格模型。
[0090]
可选的,所述目标区域的gis数据还包括:若干个孔洞的顶点的经纬度坐标值;所述装置还包括孔洞生成单元,用于:
[0091]
根据所述若干个孔洞的顶点在球体坐标系下的坐标值,在所述三维网格模型上生成所述若干个孔洞,得到包括所述若干孔洞的三维网格模型。
[0092]
可选的,所述目标区域的gis数据还包括:模型渲染信息;
[0093]
所述模型渲染单元304,具体用于:
[0094]
根据所述模型渲染信息,对所述三维网格模型进行渲染,得到所述目标区域的gis数据对应的三维地图模型。
[0095]
图4是本申请实施例提供的一种电子设备的结构示意图。在硬件层面,该电子设备包括处理器,可选地还包括内部总线、网络接口、存储器。其中,存储器可能包含内存,例如高速随机存取存储器(random

access memory,ram),也可能还包括非易失性存储器(non

volatile memory),例如至少1个磁盘存储器等。当然,该电子设备还可能包括其他业务所需要的硬件。
[0096]
处理器、网络接口和存储器可以通过内部总线相互连接,该内部总线可以是isa(industry standardarchitecture,工业标准体系结构)总线、pci(peripheral component interconnect,外设部件互连标准)总线或eisa(extended industry standardarchitecture,扩展工业标准结构)总线等。所述总线可以分为地址总线、数据总线、控制总线等。为便于表示,图4中仅用一个双向箭头表示,但并不表示仅有一根总线或一种类型的总线。
[0097]
存储器,用于存放执行指令。具体地,执行指令即可被执行的计算机程序。存储器可以包括内存和非易失性存储器,并向处理器提供执行指令和数据。
[0098]
在一种可能实现的方式中,处理器从非易失性存储器中读取对应的执行指令到内存中然后运行,也可从其它设备上获取相应的执行指令,以在逻辑层面上形成三维地图模型的生成装置。处理器执行存储器所存放的执行指令,以通过执行的执行指令实现本申请
任一实施例中提供的三维地图模型的生成方法。
[0099]
上述如本申请图1所示实施例提供的三维地图模型的生成装置执行的方法可以应用于处理器中,或者由处理器实现。处理器可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器可以是通用处理器,包括中央处理器(central processing unit,cpu)、网络处理器(network processor,np)等;还可以是数字信号处理器(digital signal processor,dsp)、专用集成电路(application specific integrated circuit,asic)、现场可编程门阵列(field-programmable gatearray,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本申请实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
[0100]
结合本申请实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器,处理器读取存储器中的信息,结合其硬件完成上述方法的步骤。
[0101]
本申请实施例还提出了一种可读介质,该可读存储介质存储有执行指令,存储的执行指令被电子设备的处理器执行时,能够使该电子设备执行本申请任一实施例中提供的三维地图模型的生成方法,并具体用于执行上述三维地图模型的生成所述的方法。
[0102]
前述各个实施例中所述的电子设备可以为计算机。
[0103]
本领域内的技术人员应明白,本申请的实施例可提供为方法或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例,或软件和硬件相结合的形式。
[0104]
本申请中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
[0105]
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。
[0106]
以上所述仅为本申请的实施例而已,并不用于限制本申请。对于本领域技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本申请的权利要求范围之内。
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1