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

文档序号:9418579阅读:来源:国知局
维划线出来的二维多边形。
[0097]本实施例中,不需要对道路本体进行事先的人工三维建模,可以降低工作量,减少数据量。
[0098]道路修饰物例如包括:随道路设置的路灯、栏杆等。
[0099]道路修饰物的三维管线数据包括:预先对一份道路修饰物进行建模得到的三维模型数据,以及,道路修饰物之间的地理状态关系信息。
[0100]为了降低数据量,本实施例可以只对一份道路修饰物进行建模。
[0101]另外,不需要在建模时对应每个道路修饰物设置地理状态信息,可以在三维管线数据中记录道路修饰物之间的间隔信息,从而在需要时,根据三维管线数据中的道路本体的数据和间隔信息计算出道路修饰物的地理状态信息。
[0102]经过实际统计,相比于三维模型数据,三维管线数据可以大大减少数据量。
[0103]第一展示模块63,用于根据三维管线数据对道路进行渲染,在电子地图上展示三维形式的道路。
[0104]可选的,所述第一展示模块63具体用于:
[0105]将三维管线数据解析为渲染引擎能够处理的数据;
[0106]采用渲染引擎根据解析后的数据进行渲染,在电子地图上展示三维形式的道路。
[0107]其中,可以采用渲染引擎进行渲染,在渲染之前,可以先将三维管线数据解析为渲染引擎能够处理的数据,例如,渲染引擎能够处理具有点、线、面信息的数据,因此,可以预先编写代码,通过该代码可以使得三维管线数据转换为具有点、线、面信息的数据,在将三维管线数据解析为渲染引擎能够处理的数据后,就可以采用渲染引擎根据解析后的数据进行渲染,得到三维形式的道路。
[0108]本实施例中,如上所述,对于道路本体不需要预先进行人工建模,而采用三维管线数据,在采用三维管线数据后可以根据预先编写的代码将其转换为渲染引擎能够处理的数据,之后可以渲染,从而实现了自动化建模,降低了工作量。
[0109]渲染引擎例如为跨平台的开放场景图形(Open Scene Graph,0SG)三维引擎,其封装了开放图形库(Open Graphics Library,OPENGL),可以提高清染效果和清染效率。
[0110]—些实施例中,参见图7,如果所述交通设施还包括重复出现的交通设施时,所述装置还包括:
[0111]第二获取模块64,用于获取重复出现的交通设施中重复单元的三维模型数据和对应的地理状态信息;
[0112]第二展示模块65,用于根据所述三维模型数据和对应的地理状态信息进行渲染,在电子地图上展示三维形式的重复出现的交通设施。
[0113]重复出现的交通设施例如包括:具有重复纹理的交通设施,以及,重复出现的模型。
[0114]具有重复纹理的交通设施例如包括:楼房。
[0115]重复出现的模型例如包括:设置在道路之外的路灯、树等。
[0116]对于楼房,重复单元例如选择为最小循环单元;对于路灯或树等,可以选择一种或几种形状的路灯或树,将每种形状的路灯或树作为一个重复单元。
[0117]其中,可以预先对每个重复单元进行建模,得到重复单元的三维模型数据,另外,在建模时还可以设置重复单元的地理状态信息,地理状态信息例如包括:位置信息、旋转信息和缩放信息。
[0118]在得到重复单元的三维模型数据以及对应的地理状态信息后,可以采用渲染引擎根据该三维模型数据和地理状态信息进行渲染,在电子地图上展示三维形式的相应的交通设施。
[0119]—些实施例中,如果重复出现的交通设施包括具有重复纹理的交通设施,所述第二展示模块用于根据所述三维模型数据和对应的地理状态信息进行渲染:
[0120]根据地理状态信息确定三维模型数据中最小重复范围的纹理数据,将最小重复范围的纹理数据作为循环纹理数据,采用渲染引擎中提供的循环纹理体贴方式进行纹理映射。
[0121]其中,在渲染时,如果是对具有重复纹理的交通设施,可以将最小重复范围的纹理作为循环纹理,采用OPENGL中的循环纹理体贴方式进行纹理映射,从而可以减少纹理数据量。
[0122]一些实施例中,参见图7,如果所述交通设施还包括随机出现的交通设施,所述装置还包括:
[0123]第三获取模块66,用于获取随机出现的交通设施的关键三维模型数据和地理状态信息,所述关键三维模型数据是从初始三维模型数据中提取出的;
[0124]第三展示模块67,用于根据关键三维模型数据和地理状态信息进行渲染,在电子地图上展示三维形式的随机出现的交通设施。
[0125]随机出现的交通设施例如包括:地标性的建筑物,如体育场馆“鸟巢”等。
[0126]对于随机出现的交通设施,可以先获取其初始三维模型数据,初始三维模型数据例如是人工建模时得到的数据,之后可以从中提出关键三维模型数据,关键三维模型数据能够用于区分建筑物,根据建筑物的不同可以提取相应的不同的关键三维模型数据。
[0127]在提取出关键三维模型数据后,可以采用渲染引擎根据关键三维模型数据和相应的地理状态信息进行渲染,在电子地图上展示三维形式的随机出现的交通设施。
[0128]例如,参见图3-5,分别给出了单车道、多车道、高架桥层叠的三维展示场景。
[0129]一些实施例中,参见图7,所述装置还包括:处理模块68,所述处理模块用于执行如下项中的一项或多项:
[0130]如果根据三维管线数据确定存在高度差小于预设值的道路,根据预设策略进行处理,以放大道路之间的高度差;
[0131]例如,可以在渲染之前,根据预设规则更新两个道路的高度信息,更新后的高度差较大,从而在渲染后可以放大道路之间的高度差;或者,在渲染时采用预设策略以放大道路之间的高度差。
[0132]对应道路设置交通引导信息,并在电子地图上对应道路展示交通引导信息;
[0133]交通引导信息例如包括:出入口、收费站、路牌/编号等,从而方便用户区分各道路。
[0134]如果接收到用户触发电子地图视角转换的指令,转换电子地图的视角;
[0135]例如,根据指令,水平旋转O?360度,或者,根据指令旋转η度的俯仰角。
[0136]在渲染时,不同的道路用不同的效果进行渲染;
[0137]例如,不同的道路用不同的阴影渲染。
[0138]如果接收到用户对道路的选中指令,用与其他道路不同的预设形式展示用户选中的道路;
[0139]例如,被用户选中的道路用高亮形式进行展示。
[0140]如果获取不到交通设施的三维数据,自动展示二维形式的交通设施;
[0141]例如,对于一些没有三维数据的场景,自动以二维形式展示。
[0142]根据用户的操作指令,切换交通设施的三维展示形式和二维展示形式。
[0143]例如,根据用户的手势(如双指上推)切换二维展示形式和三维展示形式。
[0144]本实施例中,通过在电子地图展示三维形式的道路,可以提高电子地图展示效果,另外,采用道路的三维管线数据进行渲染,相比于三维模型数据,可以降低数据量。进一步的,对于重复出现的交通设施,可以只需要重复单元的三维模型数据,相对于整体的三维模型数据,可以进一步降低数据量。对于随机出现的交通设施,可以选择关键三维模型数据,可以进一步降低数据量。对于重复纹理数据,可以采用循环纹理体贴方式,降低纹理数据量。
[0145]需要说明的是,在本发明的描述中,术语“第一”、“第二”等仅用于描述目的,而不能理解为指示或暗示相对重要性。此外,在本发明的描述中,除非另有说明,“多个”的含义是指至少两个。
[0146]流程图中或在此以其他方式描述的任何过程或方法描述可以被理解为,表示包括一个或更多个用于实现特定逻辑功能或过程的步骤的可执行指令的代码的模块、片段或部分,并且本发明的优选实施方式的范围包括另外的实现,其中可以不按所示出或讨论的
当前第3页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1