电子地图的展示方法和装置的制造方法_2

文档序号:9418579阅读:来源:国知局
]本实施例中,不需要对道路本体进行事先的人工三维建模,可以降低工作量,减少数据量。
[0048]道路修饰物例如包括:随道路设置的路灯、栏杆等。
[0049]道路修饰物的三维管线数据包括:预先对一份道路修饰物进行建模得到的三维模型数据,以及,道路修饰物之间的间隔信息。
[0050]为了降低数据量,本实施例可以只对一份道路修饰物进行建模。
[0051]另外,不需要在建模时对应每个道路修饰物设置地理状态信息,可以在三维管线数据中记录道路修饰物之间的间隔信息,从而在需要道路修饰物的地理状态信息时,根据道路本体的信息和间隔信息可以计算出道路修饰物的地理状态信息。
[0052]经过实际统计,相比于三维模型数据,三维管线数据可以大大减少数据量。
[0053]其中,可以采用渲染引擎进行渲染,在渲染之前,可以先将三维管线数据解析为渲染引擎能够处理的数据,例如,渲染引擎能够处理具有点、线、面信息的数据,因此,可以预先编写代码,通过该代码可以使得三维管线数据转换为具有点、线、面信息的数据,在将三维管线数据解析为渲染引擎能够处理的数据后,就可以采用渲染引擎根据解析后的数据进行渲染,得到三维形式的道路。
[0054]本实施例中,如上所述,对于道路本体不需要预先进行人工建模,而采用三维管线数据,在采用三维管线数据后可以根据预先编写的代码将其转换为渲染引擎能够处理的数据,之后可以渲染,从而实现了自动化建模,降低了工作量。
[0055]清染引擎例如为跨平台的开放场景图形(Open Scene Graph,0SG)三维引擎,其封装了开放图形库(Open Graphics Library,OPENGL),可以提高清染效果和清染效率。
[0056]S24:如果存在三维数据的交通设施还包括重复出现的交通设施,则获取重复出现的交通设施中重复单元的三维模型数据和对应的地理状态信息,以及,根据所述三维模型数据和对应的地理状态信息进行渲染,在电子地图上展示三维形式的重复出现的交通设施。
[0057]重复出现的交通设施例如包括:具有重复纹理的交通设施,以及,重复出现的模型。
[0058]具有重复纹理的交通设施例如包括:楼房。
[0059]重复出现的模型例如包括:设置在道路之外的路灯、树等。
[0060]对于楼房,重复单元例如选择为最小循环单元;对于路灯或树等,可以选择一种或几种形状的路灯或树,将每种形状的路灯或树作为一个重复单元。
[0061]其中,可以预先对每个重复单元进行建模,得到重复单元的三维模型数据,另外,在建模时还可以设置重复单元的地理状态信息,地理状态信息例如包括:位置信息、旋转信息和缩放信息。
[0062]在得到重复单元的三维模型数据以及对应的地理状态信息后,可以采用渲染引擎根据该三维模型数据和地理状态信息进行渲染,在电子地图上展示三维形式的相应的交通设施。
[0063]其中,在渲染时,如果是对具有重复纹理的交通设施,可以将最小重复范围的纹理作为循环纹理,采用OPENGL中的循环纹理体贴方式进行纹理映射,从而可以减少纹理数据量。
[0064]S25:如果存在三维数据的交通设施还包括随机出现的交通设施,则获取随机出现的交通设施的关键三维模型数据和地理状态信息,所述关键三维模型数据是从初始三维模型数据中提取出的,以及,根据关键三维模型数据和地理状态信息进行渲染,在电子地图上展示三维形式的随机出现的交通设施。
[0065]随机出现的交通设施例如包括:地标性的建筑物,如体育场馆“鸟巢”等。
[0066]对于随机出现的交通设施,可以先获取其初始三维模型数据,初始三维模型数据例如是人工建模时得到的数据,之后可以从中提出关键三维模型数据,关键三维模型数据能够用于区分建筑物,根据建筑物的不同可以提取相应的不同的关键三维模型数据。
[0067]在提取出关键三维模型数据后,采用渲染引擎根据关键三维模型数据以及相应的地理状态信息进行渲染,在电子地图上展示三维形式的随机出现的交通设施。
[0068]S26:用户进入交通设施的三维展示场景。
[0069]当道路、重复出现的交通设施、随机出现的交通设施都以三维形式进行展示后,用户可以进入三维展示场景。
[0070]例如,参见图3-5,分别给出了单车道、多车道、高架桥层叠的三维展示场景。
[0071]S27:用户进入交通设施的二维展示场景。
[0072]当不存在交通设施的三维数据时,可以以普通的二维形式进行展示。
[0073]其中,系统可以在没有三维数据时,自动以二维形式进行展示,或者,也可以根据用户的切换指令,在三维形式和二维形式之间进行转换。
[0074]—些实施例中,该方法还可以包括如下项中的一项或多项:
[0075](I)如果根据三维管线数据确定存在高度差小于预设值的道路,根据预设策略进行处理,以放大道路之间的高度差;
[0076]例如,可以在渲染之前,根据预设规则更新两个道路的高度信息,更新后的高度差较大,从而在渲染后可以放大道路之间的高度差;或者,在渲染时采用预设策略以放大道路之间的高度差。
[0077](2)对应道路设置交通引导信息,并在电子地图上对应道路展示交通引导信息。
[0078]交通引导信息例如包括:出入口、收费站、路牌/编号等,从而方便用户区分各道路。
[0079](3)如果接收到用户触发电子地图视角转换的指令,转换电子地图的视角。
[0080]例如,根据指令,水平旋转O?360度,或者,根据指令旋转η度的俯仰角。
[0081](4)在渲染时,不同的道路用不同的效果进行渲染。
[0082]例如,不同的道路用不同的阴影渲染。
[0083](5)如果接收到用户对道路的选中指令,用与其他道路不同的预设形式展示用户选中的道路。
[0084]例如,被用户选中的道路用高亮形式进行展示。
[0085](6)如果获取不到交通设施的三维数据,自动展示二维形式的交通设施。
[0086]例如,对于一些没有三维数据的场景,自动以二维形式展示。
[0087](7)根据用户的操作指令,切换交通设施的三维展示形式和二维展示形式。
[0088]例如,根据用户的手势(如双指上推)切换二维展示形式和三维展示形式。
[0089]本实施例中,通过在电子地图展示三维形式的道路,可以提高电子地图展示效果,另外,采用道路的三维管线数据进行渲染,相比于三维模型数据,可以降低数据量。进一步的,对于重复出现的交通设施,可以只需要重复单元的三维模型数据,相对于整体的三维模型数据,可以进一步降低数据量。对于随机出现的交通设施,可以选择关键三维模型数据,可以进一步降低数据量。对于重复纹理数据,可以采用循环纹理体贴方式,降低纹理数据量。
[0090]图6是本发明另一实施例提出的电子地图的展示装置的结构示意图,该装置60包括:确定模块61、第一获取模块62和第一展示模块63。
[0091]确定模块61,用于确定电子地图中要展示的交通设施;
[0092]其中,可以将用户当前的地点与要查询的目的地之间的预设范围内的交通设施确定为要展示的交通设施。
[0093]交通设施例如包括:道路、建筑物、路灯、树等交通相关设施。
[0094]第一获取模块62,用于如果交通设施包括道路,获取道路的三维管线数据;
[0095]道路的三维管线数据可以包括:道路本体的三维管线数据,另外,还可以包括:道路修饰物的三维管线数据。
[0096]道路本体的三维管线数据包括:从已有数据中获取的三维线数据和预先制作得到的二维横截面数据,其中,从已有数据中获取三维线数据例如包括:从地图或导航产品中获取二维道路数据,以及从街景团队中获取道路的高程数据。二维横截面是需制作的,具体可以是二
当前第2页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1