首页 / 三维地理信息的处理方法及装置

三维地理信息的处理方法及装置有效专利 发明

技术领域

[0001] 本发明涉及数据处理领域,具体而言,涉及一种三维地理信息的处理方法及装置。

相关背景技术

[0002] 三维地理信息系统(Geographic Information System或Geo-Information system,GIS)有时又称为“地学信息系统”或“资源与环境信息系统”。它是一种特定的十分重要的空间信息系统。它是在计算机硬、软件系统支持下,对整个或部分地球表层(包括大气层)空间中的有关地理分布数据进行采集、储存、管理、运算、分析、显示和描述的技术系统。三维地理信息系统从硬盘加载三维地理信息数据到内存中,属于IO操作。现有技术中的三维地理信息技术采用的单线程下数据加载和三维显示是串行的,即是一次性加载完所有三维地理信息数据,再进行三维绘制。由于硬盘是一种慢速IO设备(相对CPU速度),全部加载完所有大数据再进行图形显示,将会导致很长的等待时间,因此,现有技术中三维地理信息处理方法导致三维地理信息图像显示速度慢。
[0003] 针对现有技术中三维地理信息处理方法导致三维地理信息图像显示速度慢的问题,目前尚未提出有效的解决方案。

具体实施方式

[0021] 需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本发明。
[0022] 为了使本技术领域的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分的实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本申请保护的范围。
[0023] 需要说明的是,本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请的实施例。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
[0024] 根据本发明的实施例,提供了一种三维地理信息的处理方法。
[0025] 图1是根据本发明第一实施例的三维地理信息的处理方法的流程图。如图1所示,该方法包括如下的步骤S101至步骤S104:
[0026] 步骤S101,检测是否有三维地理信息加载请求。
[0027] 检测是否有加载三维地理信息的加载请求。
[0028] 需要说明的是,本实施例中的三维地理信息为采集到的地球表层(包括大气层)空间中的有关地理分布的数据,通过加载该三维地理信息进行绘制三维地理图像。
[0029] 步骤S102,如果检测到有三维地理信息加载请求,则对三维地理信息进行加载。
[0030] 如果检测到有三维地理信息加载请求,则对三维地理信息进行加载。
[0031] 优选地,在本发明实施例提供的三维地理信息的处理方法中,对三维地理信息进行加载包括:通过数据加载线程启动对三维地理信息进行加载。
[0032] 步骤S103,在加载三维地理信息的过程中,绘制三维地理信息对应的三维图像。
[0033] 在对该三维地理信息加载的同时绘制三维地理信息对应的三维图像。
[0034] 优选地,在本发明实施例提供的三维地理信息的处理方法中,绘制三维地理信息对应的三维图像包括:通过图形绘制线程对三维地理信息进行绘制三维地理信息对应的三维图像。
[0035] 通过上述步骤,采用多线程的方式,在读取和加载三维地理信息的同时,也根据该三维地理信息进行绘制三维图像。即在通过数据加载线程加载三维地理信息的同时调用图形绘制线程执行绘制三维地理信息对应的三维图像。相对于现有技术的全部加载完所有三维地理信息再进行图像显示,本实施例的技术方案,保证了程序运行的流程性,减少了等待时间,提高了系统交互的友好性。
[0036] 优选地,在本发明实施例提供的三维地理信息的处理方法中,三维地理信息包括多条三维地理信息,多条三维地理信息包括第一条三维地理信息,在加载三维地理信息的过程中,绘制三维地理信息对应的三维图像包括:在加载三维地理信息的过程中,将多条三维地理信息加入数据节点队列中;检测数据节点队列中是否有第一条维地理信息;以及如果检测出数据节点队列中有第一条维地理信息,绘制与第一条三维地理信息对应的三维图像。
[0037] 通过上述步骤,每读取完一条三维地理信息数据,就根据该条三维地理信息数据进行绘制对应的三维图像,达到了及时的绘制三维地理信息对应的三维图像的效果。
[0038] 步骤S104,输出三维图像。
[0039] 输出上述绘制出的三维地理信息对应的三维图像。
[0040] 优选地,在本发明实施例提供的三维地理信息的处理方法中,在输出三维图像之后,该方法还包括:获取发送指令,其中,发送指令为指示发送三维图像的指令;获取目标地址;以及根据发送指令将三维图像发送至目标地址。
[0041] 通过上述步骤,将三维图像发送至目标地址,保证了第一时间将三维图像传输至目标地址,从而提高了目标对象的体验度。
[0042] 图2是基于本发明第一实施例的三维地理信息的处理方法的GD-Earth三维地理信息平台的结构图。本发明第一实施例的三维地理信息的处理方法,检测是否有三维地理信息加载请求;如果检测到有三维地理信息加载请求,则对三维地理信息进行加载;在加载三维地理信息的过程中,绘制三维地理信息对应的三维图像;以及输出三维图像是基于三维引擎执行的。如图2所示,GD-Earth三维地理信息平台主要由三部分构成:三维引擎平台(GD-Engine)、编辑工具集(GD-Editor)、客户端应用和二次开发插件(GD-Browser&GD-X)。根据本发明第一实施例的三维地理信息的处理方法构建的三维引擎平台(GD-Engine),三维引擎平台以开源三维实时渲染引擎OpenScene Graph为基础,研发后构建和实现一套适用于三维地理信息和三维仿真的三维引擎平台,平台支持多源数据的直接导入和导出,同时支持多种粒子效应及含骨骼动画的渲染展示,并能在三维平台基础上进行动画编辑功能,GD-Earth采用了先进的地理信息和计算机图形技术,具有无缝集成海量的、多源的数据和快速三维实时渲染功能,支持空间查询和分析,可以快速地构建三维数字地球系统,是新一代的三维空间信息服务平台。
[0043] GD-Earth三维地理信息平台还包括编辑工具集(GD-Editor),编辑工具集由一系列工具、功能模块组成,用于三维数字化过程中的数据生产和场景编辑,主要包含的工具、功能有:模型导出、模型动态拆分、模型自动打散、三维场景搭建、矢量数据编辑、自动漫游编辑、工艺流程编辑、案例动画编辑。这些工具、功能,通过提供三维场景中所见即所得的编辑方式,大大降低了编辑工作的实施难度,使得非专业人员在经过简单的培训后即可上手完成实施工作,同时提供多种批量导入方式,使得编辑效率也有显著的提高。
[0044] GD-Earth三维地理信息平台还包括客户端程序(GD-Browser),客户端程序包含了场景显示、场景交互式漫游、自动漫游、工艺流程播放、动画案例播放等功能的通用客户端程序,可与项目数据库及资源一起,作为项目的最终交付成果。客户端程序一般不包含业务功能,如果有特殊需要,可以通过简单定制开发,实现一些业务功能。
[0045] GD-Earth三维地理信息平台还包括GD-X网络浏览插件,GD-X网络浏览插件可以在浏览器里面对三维场景进行最基本的浏览,交互式漫游等操作。同时,GD-X也是客户进行二次开发的基础。
[0046] GD-Earth三维地理信息平台还包括动画案例编辑工具(CartoonEditor),动画案例的快速编制,是平台的一个特色功能。通过本编辑工具,用户可以方便快速的编辑生成一个以时间线为基础的动画案例,其中,可以包括人物动画、车辆设备等的运动、各种设备信息的展示、火灾特效等等。动画案例编辑的结果,可以替代视频播放,成为企业宣传、应急救援方案演示、设计方案演示的有效手段。
[0047] 上述基于本发明第一实施例的三维地理信息的处理方法的GD-Earth三维地理信息平台,针对目前的海量地理信息数据的加载,影像、地形、矢量显示效率不高,密集的地名注记显示效率不高,大规模的城市模型显示效率不高的问题,GD-Earth三维地理信息平台利用空间分割技术和多线程技术实现海量数据的动态管理,能够支持TB级的地形数据,多线程渲染引擎及模型数据动态加卸载调度,保证了程序运行的流畅性,同时减少了网络用户的等待时间。
[0048] 需要说明的是,OpenSceneGraph是一个开源的高性能三维图像渲染引擎,基于修改的LGPL协议(OSGPL)免费发布,广泛用于视觉仿真、虚拟现实、科学可视化和建模等领域。以成为工业标准的OpenGL为底层平台,使用可移植性的ANSI C++编写而成。在对封装的基础之上,建立一个面向对象的框架,使得编程者可以摆脱底层的繁杂建模,更便于应用程序的开发和管理。具备跨平台特性,可以运行于Windows、Mac OS X、UNIX/Linux、Solaris、FreeBSD和AIX等各类操作系统之上。另外OpenSceneGraph还提供了许多有用的工具包以便于更加迅捷的程序开发。OpenSceneGraph正是基于世界上最盛行的场景图技术,现今己有超过1000名开发者基于OpenSceneGraPh进行图形程序的开发。OpenSceneGraph以其强大的功能,完善的开发模式以及开发成果移植性强受到业界的普遍好评。采用OpenSceneGranh图形引擎克服了传统的OpenGL以及Direet3D开发周期长、难度大的缺点,解决了使用OpenGVS、Vega等商业引擎开发成本过高,不利于产品推广的问题,从实用的角度上更有意义。目前已经有很多成功的基于OSG的应用,如Delta3D、3DVRI、Remo3D、osgPlanet、虚拟地形系统、交通工具仿真系统等等,效果不亚于商业视景渲染软件。如果要自主开发视景渲染软件,是最佳的基础架构选择。OpenSceneGraph是公开源代码的,它的用户许可方式为修改过的GNU宽通用公共许可证(GNU Lesser General Public License,LGPL)。OpenSceneGraph采用开源形式的共享方案具备了诸多优势:
[0049] 1、快速开发:OpenSceneGraph场景图形内核封装了几乎全部的OpenGL底层接口,并随时支持最新的扩展特性。应用程序的开发者可以将重心放在三维程序开发的实质性内容以及各种场景对象交互的方法上,而不再过多关注底层代码。
[0050] 2、高品质:OpenSceneGraph由OSG community的诸多成员反复进行检查、测试和改善。直接参与核心代码开发并有所贡献的人员已经超过了200人。
[0051] 3、高性能:OpenSceneGraph的核心代码支持多种场景裁剪技术、细节层次节点、渲染状态排序、顶点数组、显示列表、VBO、PBO、FBO、OpenGL着色语言等;以及文字显示,粒子系统,阴影系统,雨、雪、火焰、烟雾等特效模拟,场景的动态调度,多线程渲染等各种机制。提高程序质量:要编写高质量的程序,开发者需要十分了解自己所用的开发包。如果这个开发包不开放源代码,与它相关的开发信息就被封闭起来,用户只能借助开发商的文档和客户支持来获得开发信息。开放源代码使得程序员可以检查和调试所用开发包的源代码,充分了解代码内部信息。
[0052] 4、扩展性:基于场景图形的扩展思想,OpenSceneGraph提供了强大的可扩展能力,包括各种类型的可扩展节点(NodeKits,节点工具箱)、扩展渲染属性、扩展回调、扩展交互事件处理器等,为用户的程序开发提供了灵活的支持能力。
[0053] 综上所述,本发明第一实施例的三维地理信息的处理方法,解决了现有技术中三维地理信息处理方法导致三维地理信息图像显示速度慢的问题,进而达到了提升三维地理信息图像的显示速度的效果。基于本发明第一实施例的三维地理信息的处理方法的GD-Earth三维地理信息平台支持TB级的地形数据,多线程渲染引擎及模型数据动态加卸载调度,保证了程序运行的流畅性,同时减少了网络用户的等待时间。
[0054] 本发明实施例提供的三维地理信息的处理方法,通过检测是否有三维地理信息加载请求,如果检测到有三维地理信息加载请求则对三维地理信息进行加载;在加载三维地理信息的过程中,绘制三维地理信息对应的三维图像,以及输出三维图像,解决了现有技术中三维地理信息处理方法导致三维地理信息图像显示速度慢的问题,进而达到了提升三维地理信息图像的显示速度的效果。
[0055] 图3是根据本发明第二实施例的三维地理信息的处理方法的流程图。图3可以作为图1所示实施例的一种优选实施方式。如图3所示,该方法包括如下的步骤S301至步骤S307:
[0056] 步骤S301,检测是否有三维地理信息加载请求。
[0057] 此步骤同上述步骤S101,在此不再赘述。
[0058] 步骤S302,如果检测到有三维地理信息加载请求,则对三维地理信息进行加载。
[0059] 此步骤同上述步骤S102,在此不再赘述。
[0060] 步骤S303,在加载三维地理信息的过程中,绘制三维地理信息对应的三维图像。
[0061] 此步骤同上述步骤S103,在此不再赘述。
[0062] 步骤S304,输出三维图像。
[0063] 此步骤同上述步骤S104,在此不再赘述。
[0064] 步骤S305,显示三维图像。
[0065] 根据输出的三维图像,通过显示器显示该三维图像。
[0066] 步骤S306,检测三维图像的显示是否完整。
[0067] 随着三维地理信息的加载,检测三维图像的显示是否完整。
[0068] 步骤S307,如果检测出三维图像的显示不完整,继续加载三维地理信息。
[0069] 如果检测出三维图像的显示不完整,继续加载三维地理信息,在加载三维地理信息的过程中,绘制三维地理信息对应的三维图像,输出三维图像,显示该三维图像直到三维图像显示完整。
[0070] 通过上述技术方案,不仅解决了现有技术中三维地理信息处理方法导致三维地理信息图像显示速度慢的问题,提升了三维地理信息图像的显示速度,而且还保证了该三维地理信息图像显示的完整,从而提高了用户的体验度。
[0071] 本发明实施例提供的三维地理信息的处理方法,通过检测是否有三维地理信息加载请求,如果检测到有三维地理信息加载请求则对三维地理信息进行加载;在加载三维地理信息的过程中,绘制三维地理信息对应的三维图像,输出三维图像;获取发送指令,其中,发送指令为指示发送三维图像的指令;获取目标地址;以及根据发送指令将三维图像发送至目标地址,解决了现有技术中三维地理信息处理方法导致三维地理信息图像显示速度慢的问题,进而达到了提升三维地理信息图像的显示速度的效果。
[0072] 需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
[0073] 本发明实施例还提供了一种三维地理信息的处理装置,需要说明的是,本发明实施例的三维地理信息的处理装置可以用于执行本发明实施例所提供的用于三维地理信息的处理方法。以下对本发明实施例提供的三维地理信息的处理装置进行介绍。
[0074] 图4是根据本发明实施例的三维地理信息的处理装置的示意图。如图4所示,该装置包括:第一检测单元10、第一加载单元20、绘制单元30和输出单元40。
[0075] 第一检测单元10,用于检测是否有三维地理信息加载请求。
[0076] 第一加载单元20,用于在检测到有三维地理信息加载请求的情况下,则对三维地理信息进行加载。
[0077] 优选地,在本发明实施例提供的三维地理信息的处理装置中,第一加载单元20包括:第一加载模块,用于数据加载线程对三维地理信息进行加载。
[0078] 通过数据加载线程启动对三维地理信息数据的读取和加载,将三维地理信息加载进内存中。
[0079] 绘制单元30,用于在加载三维地理信息的过程中,绘制三维地理信息对应的三维图像。
[0080] 优选地,在本发明实施例提供的三维地理信息的处理装置中,该绘制单元30还包括:绘制模块,用于在数据加载线程对三维地理信息进行加载的过程中,图形绘制线程对三维地理信息进行绘制三维地理信息对应的三维图像。
[0081] 在数据加载线程启动对三维地理信息数据的读取和加载,将三维地理信息加载进内存中的过程中,图形绘制线程睡眠在数据节点队列上,当检测出数据节点队列上有三维地理信息时,即开始绘制三维地理信息对应的三维图像。通过上述采用多线程的方式,在读取和加载三维地理信息的同时,也根据该三维地理信息进行绘制三维图像。相对于现有技术的全部加载完所有三维地理信息在进行图像显示,本实施例的技术方案,减少了等待时间,提高了系统交互的友好性。
[0082] 优选地,为了及时的绘制三维地理信息对应的三维图像,在本发明实施例提供的三维地理信息的处理装置中,三维地理信息包括多条三维地理信息,多条三维地理信息包括第一条三维地理信息,绘制单元30包括:第二加载模块,用于在加载三维地理信息的过程中,将多条三维地理信息加入数据节点队列中;检测模块,用于检测数据节点队列中是否有第一条维地理信息;以及绘制模块,用于在检测出数据节点队列中有第一条维地理信息的情况下,绘制与第一条三维地理信息对应的三维图像。
[0083] 输出单元40,用于输出三维图像。
[0084] 优选地,在本发明实施例提供的三维地理信息的处理装置中,该装置还包括:显示单元,用于显示三维图像;第二检测单元,用于检测三维图像的显示是否完整;以及第二加载单元,用于在检测出三维图像的显示不完整的情况下,继续加载三维地理信息。
[0085] 优选地,在本发明实施例提供的三维地理信息的处理装置中,该装置还包括:第一获取单元,用于获取发送指令,其中,发送指令为指示发送三维图像的指令;第二获取单元,用于获取目标地址;以及发送单元,用于根据发送指令将三维图像发送至目标地址。
[0086] 本发明实施例提供的三维地理信息的处理装置,通过第一检测单元10检测是否有三维地理信息加载请求;第一加载单元20在检测到有三维地理信息加载请求的情况下,则对三维地理信息进行加载;绘制单元30在加载三维地理信息的过程中,绘制三维地理信息对应的三维图像;以及输出单元40输出三维图像,解决了现有技术中三维地理信息处理方法导致三维地理信息图像显示速度慢的问题,进而达到了提升三维地理信息图像的显示速度的效果。
[0087] 需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明并不受所描述的动作顺序的限制,因为依据本发明,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本发明所必须的。
[0088] 在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
[0089] 在本申请所提供的几个实施例中,应该理解到,所揭露的装置,可通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。
[0090] 所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
[0091] 另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
[0092] 显然,本领域的技术人员应该明白,上述的本发明的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本发明不限制于任何特定的硬件和软件结合。
[0093] 以上所述仅为本发明的优选实施例,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

当前第1页 第1页 第2页 第3页
相关技术
信息处理相关技术
地理信息相关技术
肖小良发明人的其他相关专利技术