一种地下管网三维模型的生成方法及系统与流程

文档序号:16788484发布日期:2019-02-01 19:31阅读:401来源:国知局
一种地下管网三维模型的生成方法及系统与流程

本发明涉及地下管网管理技术领域,特别是涉及一种地下管网三维模型的生成方法及系统。



背景技术:

近年来,随着国内城市地下管网事故的频发,社会各界对城市地下管网的安全越来越关注,如何保障城市地下管网安全已经成为各级政府亟需解决的问题。与二维展示技术相比,三维仿真技术具有真实反映现实空间中物体的分布、位置、形状等特点,把它用于分布复杂、种类繁多的城市地下管网领域,将为保障城市地下管网的安全提供强有力的支撑。

目前国内外,地下管网三维仿真的数据来源都是通过测绘人员外业探测获取的二维管网数据。在地下管网三维模型生成时,除不同管类的纹理不同,埋设方式不同外,管线点样式也呈现多样化,如:圆井、方井、各种不同的设备、弯头、三通等等。地下管网三维模型的生成一般采用预生成的方式,即通过程序将地下管网三维模型提前生成好,然后在应用系统运行时直接加载调用;当有某地理区域的二维三维管网数据更新时,则采取将区域内原来所有管网三维模型数据删除,再将更新后的该区域全部二维三维管网数据重新进行预生成三维模型,然后在应用系统运行时重新加载调用,这种方式不仅效率低,不利于地下管网三维模型的更新,而且不能实现二维管网数据更新后,应用系统中对应的三维管网模型也能自动、实时的更新。因此,如何解决目前地下管网三维模型不能自动且实时更新的问题是本领域技术人员急需解决的问题。



技术实现要素:

本发明的目的是提供一种地下管网三维模型的生成方法及系统,以减少在地下管网三维模型生成时实时分析管网数据类型的复杂度,避免因为传统数据更新方式造成的管网三维模型数据与二维管网数据不一致的情况,实现地下管网三维模型自动、实时的更新。

为实现上述目的,本发明提供了一种地下管网三维模型的生成方法,包括:

获取二维管网数据;

根据所述二维管网数据,确定所述二维管网数据的空间参考;

根据所述空间参考,获取地球区域数据的原点位置;

按照所述原点位置和剖分尺寸,将所述地球区域数据划分成多个格子区域;

对每一所述格子区域进行唯一标识编码,获得瓦片编码;

根据所述瓦片编码,将所述二维管网数据生成对应的三维管网数据;

获取待绘制区域对应的多个格子区域,确定所述多个格子区域对应的多个瓦片编码,将所述多个瓦片编码构建成瓦片编码集合;

根据所述待绘制区域对应的瓦片编码集合,确定与该瓦片编码集合对应的待绘制的三维管网数据;

根据所述待绘制区域对应的瓦片编码集合和所述待绘制的三维管网数据,绘制地下管网三维模型;

获取待更新二维管网数据;

确定与所述待更新二维管网数据对应的瓦片编码;

确定与所述对应的瓦片编码对应的待更新三维管网数据;

根据所述待更新二维管网数据对应的瓦片编码和所述待更新三维管网数据,更新所述地下管网三维模型中对应该瓦片编码的数据,获得更新后的地下管网三维模型。

可选的,将所述二维管网数据生成对应的三维管网数据,具体包括:对所述二维管网数据进行空间参考设置、字段对应设置、管线纹理设置、井纹理设置、管线埋设方式设置、高程数据模型设置。

可选的,所述三维管网数据包括管线段数据、普通管线点数据、设备点数据、连接点数据和井数据;所述管线段数据包括管线段起始点位置、管线段终止点位置、管径以及埋设方式;所述普通管线点数据包括管线点位置;所述设备点数据包括设备点位置、设备点方向矢量点坐标和设备模型;所述连接点数据包括连接点位置和连接点方向;所述井数据包括井位置、井形状以及井埋设深度。

可选的,所述获取待更新的二维管网数据,具体包括:

实时获取操作数据;

确定所述操作数据对应的瓦片编码;

根据所述瓦片编码提取与所述瓦片编码对应的原二维管网数据;

将所述原二维管网数据替换为所述操作数据;

确定替换后的二维管网数据为待更新二维管网数据。

可选的,所述获取待更新的二维管网数据,具体包括:

获取探测数据;

确定所述探测数据对应的瓦片编码;

根据所述瓦片编码提取与所述瓦片编码对应的原二维管网数据;

合并所述探测数据和所述原二维管网数据;

确定合并后的二维管网数据为待更新二维管网数据。

本发明还提供了一种地下管网三维模型的生成系统,包括:

二维管网数据获取模块,用于获取二维管网数据;

空间参考设定模块,用于根据所述二维管网数据,确定所述二维管网数据的空间参考;

原点位置设定模块,用于根据所述空间参考,获取地球区域数据的原点位置;

区域划分模块,用于按照所述原点位置和剖分尺寸,将所述地球区域数据划分成多个格子区域;

编码模块,用于对每一所述格子区域进行唯一标识编码,获得瓦片编码;

三维管网数据生成模块,用于根据所述瓦片编码,将所述二维管网数据生成对应的三维管网数据;

编码读取模块,用于获取待绘制区域对应的多个格子区域,确定所述多个格子区域对应的多个瓦片编码,将所述多个瓦片编码构建成瓦片编码集合;

三维管网数据确定模块,用于根据所述待绘制区域对应的瓦片编码集合,确定与该瓦片编码集合对应的待绘制的三维管网数据;

绘制模块,用于根据所述待绘制区域对应的瓦片编码集合和所述待绘制的三维管网数据,绘制地下管网三维模型;

待更新二维管网数据获取模块,用于获取待更新二维管网数据;

编码确定模块,用于确定与待更新二维管网数据对应的瓦片编码;

待更新三维管网数据确定模块,用于确定与所述对应的瓦片编码对应的待更新三维管网数据;

模型更新模块,用于根据所述待更新二维管网数据对应的瓦片编码和所述待更新三维管网数据,更新所述地下管网三维模型中对应该瓦片编码的数据,获得更新后的地下管网三维模型。

根据本发明提供的具体实施例,本发明公开了以下技术效果:本发明提供的地下管网三维模型的生成系统和方法中根据二维管网数据空间参考、原点位置和剖分尺寸,将地球区域数据划分成多个格子区域,对每一所述格子区域进行唯一标识编码,获得瓦片编码,根据瓦片编码获取与二维管网数据相应的三维管网数据,将该三维管网数据作为绘制地下管网三维模型的数据源。由于,本申请中对于三维管网数据进行了相应区域编码,使每个格子区域具有唯一的瓦片编码,因此,在地下管网数据更新时,只要确定其所在格子区域的瓦片编码,即可单独更新该格子区域的地下管网数据模型,而且对于受影响的其他区域也能得到适应性的更新。这样就降低了地下管网三维模型生成时实时分析管网数据类型的复杂度。并且本发明是通过查询瓦片编码的方式获取与该瓦片编码对应的二维管网数据和三维管网数据,这样就避免了因为传统数据更新方式造成的管网三维模型数据与二维管网数据不一致的情况,实现了管网三维模型自动、实时的更新。对于格子区域内三维管网数据同样的管网子模型,可以采用复用的方式生成,减少了内存的消耗,提高了地下管网三维模型生成的效率。并且本发明的生成方法简单,易于理解,容易实现;能有效对复杂的城市地下管网进行实时、自动三维绘制,适合在城市地下管网三维仿真领域普及推广。

附图说明

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

图1为本发明提供的地下管网三维模型的生成方法的流程图;

图2为本发明提供的地下管网三维模型的生成系统结构框图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

本发明的目的是提供一种地下管网三维模型的生成方法及系统,以减少在地下管网三维模型生成时实时分析管网数据类型的复杂度,避免因为传统数据更新方式造成的管网三维模型数据与二维管网数据不一致的情况,实现地下管网三维模型自动、实时的更新。

为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本发明作进一步详细的说明。

如图1所示,本发明的地下管网三维模型的生成方法,包括:

步骤101:获取二维管网数据;

步骤102:根据二维管网数据,确定二维管网数据的空间参考;

步骤103:根据空间参考,获取地球区域数据的原点位置;

步骤104:按照原点位置和剖分尺寸,将地球区域数据划分成多个格子区域;

步骤105:对每一格子区域进行唯一标识编码,获得瓦片编码;

步骤106:根据瓦片编码,将二维管网数据生成对应的三维管网数据;

步骤107:获取待绘制区域对应的多个格子区域,确定多个格子区域对应的多个瓦片编码,将多个瓦片编码构建成瓦片编码集合;

步骤108:根据待绘制区域对应的瓦片编码集合,确定与该瓦片编码集合对应的待绘制的三维管网数据;

步骤109:根据待绘制区域对应的瓦片编码集合和待绘制的三维管网数据,绘制地下管网三维模型;

步骤110:获取待更新二维管网数据;

步骤111:确定与待更新二维管网数据对应的瓦片编码;

步骤112:确定与对应的瓦片编码对应的待更新三维管网数据;

步骤113:根据待更新二维管网数据对应的瓦片编码和待更新三维管网数据,更新所述地下管网三维模型中对应该瓦片编码的数据,获得更新后的地下管网三维模型。

本实施例中根据二维管网数据空间参考、原点位置和剖分尺寸,将地球区域数据划分成多个格子区域,对每一所述格子区域进行唯一标识编码,获得瓦片编码,根据瓦片编码获取与二维管网数据相应的三维管网数据,将该三维管网数据作为绘制地下管网三维模型的数据源。由于,本申请中对于三维管网数据进行了相应区域编码,使每个格子区域具有唯一的瓦片编码,因此,在地下管网数据更新时,只要确定其所在格子区域的瓦片编码,即可单独更新该格子区域的地下管网数据模型,而且对于受影响的其他区域也能得到适应性的更新。这样就降低了地下管网三维模型生成时实时分析管网数据类型的复杂度。并且本发明是通过查询瓦片编码的方式获取与该瓦片编码对应的二维管网数据和三维管网数据,这样就避免了因为传统数据更新方式造成的管网三维模型数据与二维管网数据不一致的情况,实现了管网三维模型自动、实时的更新。对于格子区域内三维管网数据同样的管网子模型,可以采用复用的方式生成,减少了内存的消耗,提高了地下管网三维模型生成的效率。

在本实施例中,与其他实施例不同的是将二维管网数据生成对应的三维管网数据的步骤具体包括:对二维管网数据进行空间参考设置、字段对应设置、管线纹理设置、井纹理设置、管线埋设方式设置、高程数据模型设置。其中,三维管网数据包括管线段数据、普通管线点数据、设备点数据、连接点数据和井数据;管线段数据包括管线段起始点位置、管线段终止点位置、管径以及埋设方式;普通管线点数据包括管线点位置;设备点数据包括设备点位置、设备点方向矢量点坐标和设备模型;连接点数据包括连接点位置和连接点方向;井数据包括井位置、井形状以及井埋设深度。在绘制阶段,根据瓦片编码对应的格子区域获取对应的三维管网数据,再根据设置的三维管网数据采用相匹配的模型绘制地下管网三维模型,这样减少了在地下管网三维模型生成时实时分析管网数据类型的复杂度,提高了地下管网三维模型绘制的效率。

当二维管网数据更新后,本发明的生成系统会按照生成方法自动对管网三维模型数据进行更新。针对地下管网三维模型的数据更新,进行以下说明:

本发明针对地下管网的特殊性,将地下管网三维模型更新分为两种类型:一种是基于更新前的二维管网数据的操作式实时更新,即在二维应用系统中通过对二维管网数据进行实时操作来更新,实时操作主要包括新增、删除、修改;另一种是针对某一区域重新进行管线探测后的实时更新。

基于更新前的二维管网数据的操作式实时更新,在本实施例中,与其他实施例不同的是获取待更新二维管网数据步骤具体包括:

实时获取操作数据;

确定操作数据对应的瓦片编码;

根据瓦片编码提取与瓦片编码对应的原二维管网数据;

将原二维管网数据替换为操作数据;

确定替换后的二维管网数据为待更新二维管网数据。

基于更新前的二维管网数据的操作式实时更新中待更新的数据包括新增数据、删除数据和修改数据,其中,(1)所述新增数据的更新步骤具体包括:获取新增管网数据的二维管网数据格子区域;确定二维管网数据格子区域对应的瓦片编码,根据瓦片编码更新对应的三维管网数据,根据更新后的三维管网数据修改地下管网三维模型的对应部分;如果新增数据影响到其他的管点数据,比如原有数据为二通,因为新增数据的起始点或者终止点为该管线点,那么该管点可能会变为三通,需要同时更新影响到的管点数据。(2)删除数据的更新步骤具体包括:获取待删除管网数据的对应的瓦片编码;删除瓦片编码对应的三维管网数据;根据删除后的三维管网数据,修改所述地下管网三维模型的对应部分;并将删除的数据进行记录,表示已经删除,同时修改与该管线段相连的管线点相关数据。(3)修改数据的更新步骤具体包括:获取修改后的管网数据对应的瓦片编码;获取地下管网三维模型中与该瓦片编码对应的原三维管网数据;将原三维管网数据替换为修改后的管网数据,修改地下管网三维模型的对应部分;同时修改影响到的管线点数据,且进行存储。

针对某一区域重新进行管线探测后的数据更新,在本实施例中,与其他实施例不同的是获取待更新的二维管网数据步骤具体包括:

获取探测数据;

确定探测数据对应的瓦片编码;

根据瓦片编码提取与瓦片编码对应的原二维管网数据;

合并探测数据和原二维管网数据;

确定合并后的二维管网数据为待更新二维管网数据。

在本实施例中,重新探测的管线数据(称为更新数据)相对于探测前的原管线数据(称为原始数据),其数据有四种类型:新增的数据、删除的数据、修改的数据、原有的数据。其中修改的数据又有两种类型,属性数据修改的数据和几何数据修改的数据,对于几何修改的数据实际等同于将被修改前的数据进行删除和将修改后的数据进行新增,因此将几何修改的数据分解为删除的数据和新增的数据。这样修改的数据只剩下属性修改的数据。因此更新数据相对于原始数据有以下四种类型:新增数据、删除数据、修改数据(仅指属性数据的修改)、原有数据。将这四种类型数据按照三维管网数据库存储的管网数据格子区域进行区域划分,并将划分后的数据进行记录,根据划分后的子区域对应的瓦片编码自动进行数据的更新。针对上述四种数据情况进行如下处理:(1)新增探测数据的更新步骤具体包括:获取新增探测数据的三维管网数据格子区域;获取三维管网数据格子区域对应的瓦片编码,根据瓦片编码对应的三维管网数据,修改地下管网三维模型的对应部分;(2)删除探测数据的更新:获取删除探测数据的对应的瓦片编码;删除瓦片编码对应的三维管网数据;根据删除后的三维管网数据,修改地下管网三维模型的对应部分;(3)修改探测数据更新:获取修改探测数据的对应的瓦片编码;将瓦片编码对应的原三维管网数据的属性修改为修改探测数据的属性。

本发明另一目的是提供了一种地下管网三维模型的生成系统,如图2所示,所述生成系统包括:

二维管网数据获取模块201,用于获取二维管网数据;

空间参考设定模块202,用于根据二维管网数据,确定二维管网数据的空间参考;

原点位置设定模块203,用于根据空间参考,获取地球区域数据的原点位置;

区域划分模块204,用于按照原点位置和剖分尺寸,将地球区域数据划分成多个格子区域;

编码模块205,用于对每一格子区域进行唯一标识编码,获得瓦片编码;

三维管网数据生成模块206,用于根据瓦片编码,将二维管网数据生成对应的三维管网数据;

编码读取模块207,用于获取待绘制区域对应的多个格子区域,确定多个格子区域对应的多个瓦片编码,将多个瓦片编码构建成瓦片编码集合;

三维管网数据确定模块208,用于根据待绘制区域对应的瓦片编码集合,确定与该瓦片编码集合对应的待绘制的三维管网数据;

绘制模块209,用于根据待绘制区域对应的瓦片编码集合和待绘制的三维管网数据,绘制地下管网三维模型;

待更新二维管网数据获取模块210,用于获取待更新二维管网数据;

编码确定模块211,用于确定与待更新二维管网数据对应的瓦片编码;

待更新三维管网数据确定模块212,用于确定与对应的瓦片编码对应的待更新三维管网数据;

模型更新模块213,用于根据待更新二维管网数据对应的瓦片编码和待更新三维管网数据,更新地下管网三维模型中对应该瓦片编码的数据,获得更新后的地下管网三维模型。

本实施例提供的地下管网三维生成系统通过上述多个模块实现地下管网三维模型的生成。对于数据的更新,本系统采用待更新二维管网数据获取模块获取待更新二维管网数据,编码确定模块确定与待更新二维管网数据对应的瓦片编码,待更新三维管网数据确定模块确定与对应的瓦片编码对应的待更新三维管网数据,模型更新模块根据待更新二维管网数据对应的瓦片编码和待更新三维管网数据,更新地下管网三维模型中对应该瓦片编码的数据,获得更新后的地下管网三维模型。本系统中的绘制模块是利用软件OpenScenGraph或者软件directX根据实时获取到的三维管网数据实时绘制相应的管线段和管线点模型,最终形成地下管网三维模型。实现了实时获取数据,实时生成模型,实时更新模型的功能。

在本实施例中,作为一种可选的实施方式,三维管网数据包括管线段数据、普通管线点数据、设备点数据、连接点数据和井数据;管线段数据包括管线段起始点位置、管线段终止点位置、管径以及埋设方式;普通管线点数据包括管线点位置和埋设方式;设备点数据包括设备点位置、设备点方向矢量点坐标和设备模型;连接点数据包括连接点位置和连接点方向;井数据包括井位置、井形状以及井埋设深度。在绘制阶段,根据瓦片编码对应的格子区域获取对应的三维管网数据,再根据设置的三维管网数据采用相匹配的模型绘制地下管网三维模型,这样减少了在地下管网三维模型生成时实时分析管网数据类型的复杂度,提高了地下管网三维模型绘制的效率。

为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合具体实施方式对本发明作进一步详细的说明。

在本实施例的地下管网三维模型的生成系统中,二维管网数据获取模块201获取的二维管网数据通过空间参考设定模块202确定二维管网数据的空间参考,再由原点位置设定模块203获取地球区域数据的原点位置,区域划分模块204按照原点位置和剖分尺寸,将地球区域数据划分成多个格子区域,编码模块205对每一格子区域进行唯一标识编码,获得瓦片编码,三维管网数据生成模块206对二维管网数据对应的空间参考、字段对应关系、管线段纹理、井纹理、管线点设备模型以及数字高程模型等进行数据设置,数据设置完毕后,生成三维管网数据;编码读取模块207获取待绘制区域对应的多个格子区域,确定多个格子区域对应的多个瓦片编码,将多个瓦片编码构建成瓦片编码集合,三维管网数据确定模块208根据待绘制区域对应的瓦片编码集合,确定与该瓦片编码集合对应的待绘制的三维管网数据,绘制模块209根据待绘制区域对应的瓦片编码集合和待绘制的三维管网数据,绘制地下管网三维模型。实现了地下管网三维模型的实时、自动绘制。具体的,本实施例中采用软件OpenScenGraph或软件directX进行绘制,三维管网数据以json数据包的形式存储,并且json数据包按照瓦片编码对应的格子区域进行划分,使json数据包包含了多个不同类型的json子数据包。根据绘制模块209发送的所需绘制区域的瓦片编码到编码读取模块207,三维管网数据确定模块208根据编码读取模块207读取的瓦片编码确定对应的json子数据包;然后解析json子数据包,获取生成管线段、管线点、设备模型、井、二通等的相关数据以及对应的纹理,最后组织成最终绘制所需要的数据格式,如.osg格式或者.x文件,使用软件OpenScenGraph或软件directX进行绘制。

本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的系统而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。

本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处。综上所述,本说明书内容不应理解为对本发明的限制。

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