三维GIS模型展示方法和装置与流程

文档序号:15313018发布日期:2018-08-31 22:19阅读:277来源:国知局

本发明涉及地理空间数据处理技术领域,尤其涉及一种三维gis模型展示方法和装置。



背景技术:

地理空间数据是面向主题的、集成的、动态更新的、持久的空间数据集合,带有地理坐标,将地理实体的空间特征表现为地理实体的几何(定位)特征(地理实体的位置、形状、大小及其分布特征)和实体间的空间关系。gis描述型数据根据其形态可以分为点、线、面、体等基本几何类型,自然地理世界的数据均可以归类为点、线、面、体四种基本几何类型,而这些基本几何类型的拼装组合,则可以描述最复杂的gis数据。

三维gis数据的大小通常远大于软件本身,这些数据以各种不同的格式存储在用户的工作空间中,统一地在一个三维gis软件中集中体现则面临巨大的人工建模成本。而目前针对多样化的gis描述型数据,大多数情况采用的都是人工建模方式,以人工建模的形式使其“统一起来”。这种方式人工工作量巨大,且建模的成果数据无法再返回为原有的描述形式,而这些描述形式恰恰又是做gis分析时所必须。同时另外一个缺点是数据的升级和扩充困难,人工建模的成果数据,需要跟随原有描述型数据的更新而更新,则面临长期的人工建模。



技术实现要素:

有鉴于此,本发明要解决的一个技术问题是提供一种三维gis模型展示方法和装置。

根据本发明的一个方面,提供一种三维gis模型展示方法,包括:获取三维gis数据,确定所述三维gis数据中的地理实体对象;将所述地理实体对象的三维gis数据分解为组成此地理实体对象的一个或多个细节描述对象数据,并获得所述地理实体对象的地理坐标信息;建立所述地理实体对象与组成此地理实体对象的一个或多个细节描述对象数据的引用关系;在进行三维展示时,基于与所述地理实体对象对应的所述引用关系、地理坐标信息建立此地理实体对象的三维实体模型。

可选地,所述建立所述地理实体对象与组成此地理实体对象的所述细节描述对象数据的链式引用关系包括:将所述细节描述对象数据按照key-value的模式进行封装,并存储封装后的所述细节描述对象数据;其中,一个所述细节描述对象数据属于一个或多个所述地理实体对象;获取组成所述地理实体对象的一个或多个细节描述对象数据的key值的集合;建立与所述地理实体对象的id与所述key值的集合相对应的链式对应关系。

可选地,将所述细节描述对象数据按照key-value的模式存储在k-v数据库中;其中,所述key为k-v数据库中的id,所述细节描述对象数据的value以bson形式进行结构化打包并存储在k-v数据库中;与所述链式对应关系数据的数据包含:id-list,所述id-list包含组成所述地理实体对象的一个或多个细节描述对象数据在k-v数据库中的id。

可选地,判断所述地理实体对象是否能够完全被分解为预设的细节描述对象数据,如果是,则获得组成此地理实体对象的一个或多个预设的细节描述对象数据;如果否,则采用建模工具绘制与所述地理实体对象不能被分解为预设的细节描述对象数据的部分相对应的三角网模型,将此三角网模型作为新的细节描述对象数据或作为预设的细节描述对象数据的引用对象,并获得组成此地理实体对象的一个或多个预设的细节描述对象数据或新的细节描述对象数据。

可选地,在进行三维展示时,获取与所述地理实体对象相对应的id-list以及地理坐标信息;获取此id-list包含的一个或多个细节描述对象数据在k-v数据库中的id,基于id获取一个或多个细节描述对象数据在k-v数据库中的value;使用三维建模软件并基于所述value、地理坐标信息建立所述地理实体对象的三维模型并进行渲染;其中,所述value包括:几何形状、具体尺寸信息、三维网格、表面贴图。

根据本发明的另一方面,提供一种三维gis模型展示装置,包括:展示对象确定模块,用于获取三维gis数据,确定所述三维gis数据中的地理实体对象;展示细节分解模块,用于将所述地理实体对象的三维gis数据分解为组成此地理实体对象的一个或多个细节描述对象数据;地理坐标获取模块,用于获得所述地理实体对象的地理坐标信息;引用关系建立模块,用于建立所述地理实体对象与组成此地理实体对象的一个或多个细节描述对象数据的引用关系;模型展示渲染模块,用于在进行三维展示时,基于与所述地理实体对象对应的所述引用关系、地理坐标信息建立此地理实体对象的三维实体模型。

可选地,所述引用关系建立模块,用于将所述细节描述对象数据按照key-value的模式进行封装,并存储封装后的所述细节描述对象数据;其中,一个所述细节描述对象数据属于一个或多个所述地理实体对象;获取组成所述地理实体对象的一个或多个细节描述对象数据的key值的集合;建立与所述地理实体对象的id与所述key值的集合相对应的链式对应关系。

可选地,所述引用关系建立模块,用于将所述细节描述对象数据按照key-value的模式存储在k-v数据库中;其中,所述key为k-v数据库中的id,所述细节描述对象数据的value以bson形式进行结构化打包并存储在k-v数据库中;与所述链式对应关系数据的数据包含:id-list,所述id-list包含组成所述地理实体对象的一个或多个细节描述对象数据在k-v数据库中的id。

可选地,所述展示细节分解模块,用于判断所述地理实体对象是否能够完全被分解为预设的细节描述对象数据,如果是,则获得组成此地理实体对象的一个或多个预设的细节描述对象数据;如果否,则采用建模工具绘制与所述地理实体对象不能被分解为预设的细节描述对象数据的部分相对应的三角网模型,将此三角网模型作为新的细节描述对象数据或作为预设的细节描述对象数据的引用对象,并获得组成此地理实体对象的一个或多个预设的细节描述对象数据或新的细节描述对象数据。

可选地,所述模型展示渲染模块,用于在进行三维展示时,获取与所述地理实体对象相对应的id-list以及地理坐标信息;获取此id-list包含的一个或多个细节描述对象数据在k-v数据库中的id,基于id获取一个或多个细节描述对象数据在k-v数据库中的value;使用三维建模软件并基于所述value、地理坐标信息建立所述地理实体对象的三维模型并进行渲染;其中,所述value包括:几何形状、具体尺寸信息、三维网格、表面贴图。

本发明的三维gis模型展示方法和装置,确定三维gis数据中的地理实体对象,将地理实体对象的三维gis数据分解为一个或多个细节描述对象数据,并获得地理实体对象的地理坐标信息;建立地理实体对象与组成此地理实体对象的一个或多个细节描述对象数据的引用关系,基于与地理实体对象对应的引用关系、地理坐标信息建立此地理实体对象的三维实体模型;可以批量处理海量的gis描述型数据,处理后的数据以结构化形式存储,则具备良好扩充性,可以轻易地向前、向后兼容,可以轻松地实时转换为展示型数据,予以三维展示,也可以解析出原描述型数据的内容,用以作为gis空间分析的依据;大大降低了描述型gis数据的展示成本,提高了该数据的可还原性,降低了数据的存储量,而且保留了充分的升级空间。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单的介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。

图1为本发明的三维gis模型展示方法的一个实施例的流程示意图;

图2为本发明的三维gis模型展示方法的一个实施例中的细节描述对象数据的示意图;

图3为本发明的三维gis模型展示装置的一个实施例的模块示意图。

具体实施方式

现在将参照附图来详细描述本发明的各种示例性实施例。应注意到:除非另外具体说明,否则在这些实施例中阐述的部件和步骤的相对布置、数字表达式和数值不限制本发明的范围。

同时,应当明白,为了便于描述,附图中所示出的各个部分的尺寸并不是按照实际的比例关系绘制的。

以下对至少一个示例性实施例的描述实际上仅仅是说明性的,决不作为对本发明及其应用或使用的任何限制。

对于相关领域普通技术人员已知的技术、方法和设备可能不作详细讨论,但在适当情况下,技术、方法和设备应当被视为说明书的一部分。

应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步讨论。

本发明实施例可以应用于计算机系统/服务器,其可与众多其它通用或专用计算系统环境或配置一起操作。适于与计算机系统/服务器一起使用的众所周知的计算系统、环境和/或配置的例子包括但不限于:智能手机、个人计算机系统、服务器计算机系统、瘦客户机、厚客户机、手持或膝上设备、基于微处理器的系统、机顶盒、可编程消费电子产品、网络个人电脑、小型计算机系统﹑大型计算机系统和包括上述任何系统的分布式云计算技术环境,等等。

计算机系统/服务器可以在由计算机系统执行的计算机系统可执行指令(诸如程序模块)的一般语境下描述。通常,程序模块可以包括例程、程序、目标程序、组件、逻辑、数据结构等等,它们执行特定的任务或者实现特定的抽象数据类型。计算机系统/服务器可以在分布式云计算环境中实施,分布式云计算环境中,任务是由通过通信网络链接的远程处理设备执行的。在分布式云计算环境中,程序模块可以位于包括存储设备的本地或远程计算系统存储介质上。

图1为本发明的三维gis模型展示方法的一个实施例的流程示意图,如图1所示:

步骤101,获取三维gis数据,确定三维gis数据中的地理实体对象。

步骤102,将地理实体对象的三维gis数据分解为组成此地理实体对象的一个或多个细节描述对象数据,并获得地理实体对象的地理坐标信息。

步骤103,建立地理实体对象与组成此地理实体对象的一个或多个细节描述对象数据的引用关系。

步骤104,在进行三维展示时,基于与地理实体对象对应的引用关系、地理坐标信息建立此地理实体对象的三维实体模型。

上述实施例中的三维gis模型展示方法,可以批量处理海量的gis描述型数据,处理后的数据以结构化形式存储,则具备良好扩充性,可以轻易地向前、向后兼容,可以轻松地实时转换为展示型数据,予以三维展示,也可以解析出原描述型数据的内容,用以作为gis空间分析的依据。

在一个实施例中,将细节描述对象数据按照key-value的模式进行封装,并存储封装后的细节描述对象数据。一个细节描述对象数据属于一个或多个地理实体对象。获取组成地理实体对象的一个或多个细节描述对象数据的key值的集合,建立与地理实体对象的id与key值的集合相对应的链式对应关系。

将细节描述对象数据按照key-value的模式存储在k-v数据库中;其中,key为k-v数据库中的id,细节描述对象数据的value以bson形式进行结构化打包并存储在k-v数据库中。与链式对应关系数据的数据包含:id-list,id-list包含组成地理实体对象的一个或多个细节描述对象数据在k-v数据库中的id。

bson是结构化存储的一种通用形式,是binary-json的简称,如同xml的结构化存储一样。k-v数据库最大的特点是速度快,相比关系型数据库来说,不需要处理复杂的表关系,以最轻量、最简洁的接口形式来提供数据存储服务。可以在普通k-v数据库的基础上,针对三维globe产品的使用特点进行进一步的读写优化,

上述实施例中的三维gis模型展示方法,在存储方式上用到了成熟的bson结构化存储机理,对后期的数据结构升级极为有利;在展示方式上:源于openscenegraph,对其进行深度改制,兼容这种结构化存储数据的三维渲染;在分析上:使用k-v数据库和自定义的key结构,实现高效查询,同时结合bson的快速解析能力,能迅速将数据还原成可分析的形式。

读取用户描述型的gis数据,将信息按照需求进行解析、分割,得到链式引用的对象-层次细节结构。将链式引用的对象-层次细节结构,按照bson形式进行结构化打包,打包数据流存储进k-v数据库。根据链式引用的对象-层次细节结构,重建三维渲染结构,予以展示。在三维展示场景中,对三维形式的数据进行分析,将分析结果予以三维展示。

在一个实施例中,判断地理实体对象是否能够完全被分解为预设的细节描述对象数据,如果是,则获得组成此地理实体对象的一个或多个预设的细节描述对象数据;如果否,则采用建模工具绘制与地理实体对象不能被分解为预设的细节描述对象数据的部分相对应的三角网模型,将此三角网模型作为新的细节描述对象数据或作为预设的细节描述对象数据的引用对象,并获得组成此地理实体对象的一个或多个预设的细节描述对象数据或新的细节描述对象数据。

在进行三维展示时,获取与地理实体对象相对应的id-list以及地理坐标信息,获取此id-list包含的一个或多个细节描述对象数据在k-v数据库中的id,基于id获取一个或多个细节描述对象数据在k-v数据库中的value;使用三维建模软件并基于value、地理坐标信息建立地理实体对象的三维模型并进行渲染,value包括几何形状、具体尺寸信息、三维网格、表面贴图等。

在一个实施例中,地物本身的大致体积即为地物的大小,将地物进行虚拟渲染,统计渲染结果,得到地物体积的参量,体现地物的大小。三维gis数据中的地理实体对象可以由一个或多个细节描述对象数据组成,即地理实体对象的parameter可以由一组细节描述对象数据detail组成,在进行三维展示时,通过一组细节描述对象数据detail以及地理坐标信息等建立此地理实体对象的三维实体模型,如图2所示。

组成地理实体对象的需要渲染的目标被称为一个细节描述对象数据detail,细节描述对象数据detail经过结构化存储,放进k-v数据库中,v就是value,是一段结构化存储的二进制数据流。k就是key,是在数据库中的id。

多个细节描述对象数据detail合起来,加上一个地理坐标,构成了一个参数化对象,即参数化的地理实体对象。一个参数化的地理实体对象包含了该对象在地球上的坐标(经纬度、海拔高度)和它引用的一组细节描述对象数据detail。

参数化的地理实体对象中包含一个id-list,id-list中存储的数据包括组成此地理实体对象的每一个细节描述对象数据detail在k-v数据库中的id。这种“通过id引用到一个细节描述对象数据detail对象”即为“链式引用”。

多个参数化的地理实体对象可以引用到同一个细节描述对象数据detail。例如,井盖子是一个地理实体对象,一条马路上有100个井盖子,可以为100个参数化的地理实体对象,这100个参数化的地理实体对象都可以引用到同一个或多个细节描述对象数据detail。

对于一个复杂的地理实体对象,预设的细节描述对象数据detail可能无法清晰描述。细节描述对象数据detail对象能够清晰描述的可以为简单的几何对象,例如球体、圆柱、棱柱、长方体、椎体等,这些几何对象只需要简单的几个参数即可描述清楚,例如半径、长宽高等几个数值,应用场景可以涵盖城市的全部地下管网,和部分地表建筑。

对于不能够清晰描述的地理实体对象,例如一个玉兰花灯形式的路灯、公园里头的垃圾桶、公用电话亭、排椅、黄鹤楼等,大量存在于城市中。对于复杂的地理实体对象,用3d-max等建模工具绘制,它们被称作三角网模型,作为库文件(成为“符号库”),将三角网模型生成二进制流,存储在k-v数据库中,可以被细节描述对象数据detail引用。细节描述对象数据detail自身的id可以被参数化的地理实体对象所引用,三角网模型可以作为新的细节描述对象数据,细节描述对象数据detail也可以引用三角网模型的id,形成了二级链式引用。某水务公司关于井盖在数据库中的数据如下表1所示:

表1-水务公司的井盖数据表

使用常规的数据库读写流程,读出数据库表格中井盖的类型、半径、厚度,有四条井盖记录,创建三个圆柱形的细节描述对象数据detail:detail1:半径0.4,高0.2;detail2:半径0.5,高度025;detail3:半径0.6,高度0.3;创建三个圆柱形的细节描述对象数据对象。使用常规的数据库读写流程,读取数据库表格中的经度、纬度、海拔高度,创建四个参数化的地理实体对象:parameter1:链接detail1;parameter2:链接detail2;parameter3:链接detail1;parameter4:链接detail3。

在一个实施例中,本发明提供一种三维gis模型展示装置30,包括:展示对象确定模块31、展示细节分解模块32、地理坐标获取模块33、引用关系建立模块34和模型展示渲染模块35。

展示对象确定模块31获取三维gis数据,确定三维gis数据中的地理实体对象。展示细节分解模块32将地理实体对象的三维gis数据分解为组成此地理实体对象的一个或多个细节描述对象数据。地理坐标获取模块33获得地理实体对象的地理坐标信息。

引用关系建立模块34建立地理实体对象与组成此地理实体对象的一个或多个细节描述对象数据的引用关系。模型展示渲染模块35在进行三维展示时,基于与地理实体对象对应的引用关系、地理坐标信息建立此地理实体对象的三维实体模型。

引用关系建立模块34将细节描述对象数据按照key-value的模式进行封装,并存储封装后的细节描述对象数据;其中,一个细节描述对象数据属于一个或多个地理实体对象。引用关系建立模块34获取组成地理实体对象的一个或多个细节描述对象数据的key值的集合,建立与地理实体对象的id与key值的集合相对应的链式对应关系。

引用关系建立模块34将细节描述对象数据按照key-value的模式存储在k-v数据库中;其中,key为k-v数据库中的id,细节描述对象数据的value以bson形式进行结构化打包并存储在k-v数据库中。与链式对应关系数据的数据包含:id-list,id-list包含组成地理实体对象的一个或多个细节描述对象数据在k-v数据库中的id。

展示细节分解模块31判断地理实体对象是否能够完全被分解为预设的细节描述对象数据,如果是,则获得组成此地理实体对象的一个或多个预设的细节描述对象数据;如果否,则展示细节分解模块31采用建模工具绘制与地理实体对象不能被分解为预设的细节描述对象数据的部分相对应的三角网模型。展示细节分解模块31将此三角网模型作为新的细节描述对象数据或作为预设的细节描述对象数据的引用对象,并获得组成此地理实体对象的一个或多个预设的细节描述对象数据或新的细节描述对象数据。

模型展示渲染模块35在进行三维展示时,获取与地理实体对象相对应的id-list以及地理坐标信息。模型展示渲染模块35获取此id-list包含的一个或多个细节描述对象数据在k-v数据库中的id,基于id获取一个或多个细节描述对象数据在k-v数据库中的value。模型展示渲染模块35使用三维建模软件并基于value、地理坐标信息建立地理实体对象的三维模型并进行渲染,value包括几何形状、具体尺寸信息、三维网格、表面贴图等。

上述实施例中的三维gis模型展示方法和装置,确定三维gis数据中的地理实体对象,将地理实体对象的三维gis数据分解为一个或多个细节描述对象数据,并获得地理实体对象的地理坐标信息;建立地理实体对象与组成此地理实体对象的一个或多个细节描述对象数据的引用关系,基于与地理实体对象对应的引用关系、地理坐标信息建立此地理实体对象的三维实体模型;可以批量处理海量的gis描述型数据,处理后的数据以结构化形式存储,则具备良好扩充性,可以轻易地向前、向后兼容,可以轻松地实时转换为展示型数据,予以三维展示,也可以解析出原描述型数据的内容,用以作为gis空间分析的依据;和传统的gis数据叠加展示、矢量栅格化展示、手工建模展示等方式相比,大大降低了描述型gis数据的展示成本,提高了该数据的可还原性,降低了数据的存储量,而且保留了充分的升级空间。

可能以许多方式来实现本发明的方法和系统。例如,可通过软件、硬件、固件或者软件、硬件、固件的任何组合来实现本发明的方法和系统。用于方法的步骤的上述顺序仅是为了进行说明,本发明的方法的步骤不限于以上具体描述的顺序,除非以其它方式特别说明。此外,在一些实施例中,还可将本发明实施为记录在记录介质中的程序,这些程序包括用于实现根据本发明的方法的机器可读指令。因而,本发明还覆盖存储用于执行根据本发明的方法的程序的记录介质。

本发明的描述是为了示例和描述起见而给出的,而并不是无遗漏的或者将本发明限于所公开的形式。很多修改和变化对于本领域的普通技术人员而言是显然的。选择和描述实施例是为了更好说明本发明的原理和实际应用,并且使本领域的普通技术人员能够理解本发明从而设计适于特定用途的带有各种修改的各种实施例。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1