本发明涉及三维模型构建技术领域,特别涉及一种可以有效的解决基于地理信息中的地下管网数据的二、三维一体化管理,空间数据组织调度、三维管网自动构建与渲染等技术问题。通过利用二维管线数据自动创建三维模型,提升了二、三维一体化的管理水平,大大减少了三维管线数据维护的工作量,提高了管线数据的显示效果。通过对地下管网中的管点和管线采用动态调度方式,有效利用设备内存,支持海量管线数据的加载,提高数据加载速度;采用分页索引机制,快速进行管线数据的调度与显示,提高了对三维场景中的管网信息的访问效率,提升了海量地下综合管网的统一展示、管理和分析水平的一种综合管网的三维自动建模及调度渲染的方法。
背景技术:
城市地下空间是一个巨大而丰富的空间资源,城市地下空间可开发的资源量为可供开发的面积、合理开发深度与适当的可利用系数之积。《中国地下空间行业发展前景与投资战略规划分析前瞻》显示,2012年我国城市建设用地总面积为32.28万公顷,按照40%的可开发系数和30米的开发深度计算,可供合理开发的地下空间资源量就达到3873.60亿立方米。这是一笔很可观而又丰富的资源,若得到合理开发,那么将对扩大城市空间、实现城市集约化发展具有重要的意义。
随着我国一线城市地下空间的开发利用,地下浅层部分将会利用完毕,随着深层开挖技术和装备的逐步完善,为了综合利用地下空间资源,地下空间开发将逐步向深层发展。在地下空间深层化的同时,各空间层面分化趋势越来越强。这种分层面的地下空间,以人及为其服务的功能区为中心,人、车分流,市政管线、污水和垃圾的处理分置于不同的层次,各种地下交通也分层设置,以减少相互干扰,保证了地下空间利用的充分性和完整性。
开发地下空间是21世纪结构工程的重要发展趋势。就目前而言,开发城市地下空间可应用于:
1、交通设施:城市地下通道、城市地铁、隧道;
2、商业设施:地下商城、水下游乐馆;
3、市政公益管线设施:提高城市道路利用、保护地下设施稳定运转、为以后添加设施提供预留空间;
4、城市综合防灾建设:人民防空、抵御自然灾害等。
由此可见地下空间的利用对改善地面环境起着重要作用。在发展地下交通、降低城市大气污染的同时,还应提倡建设城市地下市政管线公用隧道,将自来水、排污管、供热管、电缆和通信线路纳入其中,可缩短路线长度达30%,还易于检查和修理,不影响地面土地的使用。有条件的城市还可发展地下垃圾处理系统,消除垃圾“围城”现象。
随着社会的发展和当前城市化水平的不断提高,基础建设发展迅猛,地下管网体系越来越大,管理的复杂程度也在逐年增加。地下管网也在原有基础上发生着变化:除原来的给排水网、电网、热力网、通讯线路外,增加了天然气管网、互联网等,地下管网变得越来越复杂;旧管网的更新,新管网的设计规划,这些都需要完善、详细的地下管网的各种信息;已形成的大量管网资料需要及时处理;而传统的手工制图,靠人工记忆的管理和人工统计、分析的手工管理方式效率低下,则很难适应这种快速发展的海量数据的要求,造成大量浪费并阻碍了维护效率和服务水平的进一步提高。而且由于基础建设的猛增,缺乏对地下管网的有效管理,形成了“城市管网的拉链”,造成了重复建设和资源浪费。在施工中,由于不了解地下管网的情况,盲目开工,造成燃气泄漏、挖断水管、通讯中断等破坏地下管网的事件时有发生,使经济建设和居民生活受到严重影响,并埋下不安全的隐患,因此加强对地下管网中的综合管线数据二、三维一体化组织与构建技术十分重要。
但是,现有的管网采用二维形式进行显示时,只有懂得相关技术的专业人员才能流利审阅,给普通大众带来审批的麻烦。而采用三维形式进行显示时主要通过对管网和管网附属设施进行三维符号化,使之更加直观地显示管网的连接和交叉情况。通过三维建模软件进行管网的三维建模,这种建模方法首先需要计算机辅助设计软件中导入管网实体的中心轴线,然后运用人机交互技术在三维软件中的点和线的三维渲染方法对管线生成三维模型,并对管线接口处做相应的处理,这种方式的不足之处在于管线要素的精确定位不强,需要花费大量的人工干预,建模速度较慢。不能方便查询管线要素的空间信息和属性信息。
同时,由于管网数据的来源不同、采集的方式不同、不同尺度、不同语义、不同数据质量、不同格式、不同坐标带来的影响,现有研究往往注重于数据格式的转换。因此,缺乏对地下管网统一的数据组织与管理,统一的表示模型,难以通过数据转换得到完整的信息。在对数据进行预处理的基础上,采用数据挖掘方法,通过在句法、语义以及模型层面上的对二、三维管网数据管理形成无缝集成,实时更新实现多源数据有效整合及各种规模的地下空间的三维管网场景的高效创建仍然是当前国际本领域的前沿课题和研究的重点。
目前,还没有一个完善的方法可以有效的解决基于地理信息中的地下管网数据的二、三维一体化管理,空间数据组织、地下三维管网的自动构建等技术问题。通过利用二维管线数据自动创建三维模型,提升了二、三维一体化的管理水平,大大减少了三维管线数据维护的工作量,提高了管线数据的显示效果。通过对对地下管网中的管点和管线进行组织化处理方便管线要素的查询与渲染,采用动态调度方式,有效利用设备内存,支持海量管线数据的加载,提高数据加载速度及显示效果;采用分页索引机制,快速进行管线数据的调度与显示;提高了对三维场景中的管网信息的访问效率,提升了地下多条不同属性的管网体系统一展示、管理和分析水平。二维管线自动渲染成三维模型,既保留传统二维属性信息,又直观显示三维效果。管件丰富,既可以自动从模型库中读取模型,又可以自动建立直通、弯头、变深弯头、三通、四通、井脖主体、方井等井室。为城市建设尤其是对未来智慧城市搭建中的地下管网空间信息的获取和构建方案上起到了重要的依据和在城市建设的快速发展带动了城市地下空间资源的大规模开发利用。推进了城市定向、有序的发展,并推进了城市空间的立体开发;充分开发利用地下空间资源的防护潜能,提高了城市综合防灾抗毁能力起到了一定辅助作用。可以为诸多领域的应用提供安全、可靠、准确、高效的数据服务。
技术实现要素:
为了解决现有技术中存在的技术难题,高效流畅地展示海量三维数据并在诸多领域中进行具有实际意义的二三维数据一体化,三维管网模型的自动构建海量数据发布、共享与应用。
本发明实施例提供一种综合管网的三维自动建模及调度渲染的方法,其中,包括如下步骤:
读取数据:对管网数据文件进行读取,打开管网数据源获取管网数据集、进而获取管网要素类集合;
创建图层:根据管网要素类集合创建管网图层集合;
裁剪调度:对场景中的管网数据进行遍历裁剪与数据调度;
管线自动建模:在三维场景渲染调度过程中根据管线的二维基本属性信息、渲染风格信息自动创建出三维管线模型;
管点自动建模:在三维场景渲染调度过程中根据管点的二维基本属性信息、渲染风格信息和相邻管线、管点信息自动创建出三维管点模型;
管网的自动构建:根据构建完成的各管线图层的管线与管点的模型,在场景中进行自动构成管网模型。
一种综合管网的三维自动建模及调度渲染的方法,其中, 所述创建图层:根据管网要素类集合创建管网图层集合;
其中,创建图层的具体步骤为:
数据预处理:读取管网数据块分页索引信息,计算管网数据块分页索引半径,将管网分页索引数据块中心坐标由源坐标系转换为项目坐标系;
创建管网要素分页索引:根据预处理后的管网数据块分页索引信息创建管网要素分页索引对象并将管网要素分页索引添加到管网要素图层根节点。
一种综合管网的三维自动建模及调度渲染的方法,其中,所述裁剪调度:对场景中的管网数据进行遍历裁剪与数据调度;
所述裁剪调度的具体步骤为:
裁剪遍历场景节点数据:遍历各个管网要素图层节点,判断当前管网要素图层节点是否被裁剪,若被裁剪则继续遍历下一个管网要素图层节点,若不被裁剪获得管网要素分页索引集合;
调度请求管网数据:裁剪遍历管网要素分页索引集合,请求管网要素分页数据;
裁剪遍历管网节点集合:遍历过程中判断管网节点是否为管点渲染节点,若为管点渲染节点则继续遍历,若非管点渲染节点则遍历管点模型,继续遍历并裁剪,裁剪遍历管点模型过程中创建含有绘制单元的管网模型,最终获得由管网模型构成的管网渲染节点集合;
裁剪遍历管网渲染节点集合:在遍历过程中判断管网渲染节点是否具有管网模型,若有管网模型则继续遍历模型节点,反之,则继续遍历管网渲染节点,最终得到管网的模型节点集合;
裁剪遍历模型节点集合:在遍历过程中获取管网模型的绘制单元集合,将模型绘制单元添加到渲染列表进行绘制。
一种综合管网的三维自动建模及调度渲染的方法,其中,所述调度请求管网数据:裁剪遍历管网要素分页索引集合,请求管网要素分页数据;
所述调度请求管网数据的具体步骤为:
获取分页数据:从管网数据库中获取管网分页数据;
创建要素数据集:根据管网分页数据创建要素数据集;
初始化要素数据集:对管网要素的基本属性信息和渲染风格信息进行初始化,遍历获取到的管网几何信息集合,根据管网几何信息创建管网渲染节点,获得管网节点集合。
一种综合管网的三维自动建模及调度渲染的方法,其中:所述裁剪遍历管网节点集合:遍历过程中判断管网节点是否为管点渲染节点,若为管点渲染节点则继续遍历,若非管点渲染节点则遍历管点模型,继续遍历并裁剪,裁剪遍历管点模型过程中创建含有绘制单元的管网模型,最终获得由管网模型构成的管网渲染节点集合;
所述裁剪遍历管网节点集合的具体步骤为:
创建模型对象:在对管网节点集合裁剪过程中,判断管网节点中是否含有模型对象,若判定为含有模型对象,则对模型对象进行有效性的检查,若判定为没有模型对象,则先创建模型对象,再对模型对象进行有效性的检查;
检查模型对象的有效性:对模型对象进行有效性的判断,若判定为有效模型,则赋予管网渲染节点模型,若判定为无效模型,则判定裁剪失败,结束裁剪。
一种综合管网的三维自动建模及调度渲染的方法,其中,所述管线自动建模:在三维场景渲染调度过程中根据管线的二维基本属性信息、渲染风格信息自动创建出三维管线模型;
所述管线自动建模的具体步骤为:
预处理管线基本信息:为使管线与管点无缝贴合,根据管线原始基本属性信息沿管径方向对管线长度进行缩放,获取更新后的管线基本属性信息;
计算起始点坐标:根据管线基本属性信息及坐标系转换信息,计算管线起始点源坐标下的坐标转换到项目坐标下的坐标;
创建管线并划分断面:初始化创建管线对象,根据管线类型将管线对象划分为若干断面组成的管段;
计算断面坐标:根据断面的尺寸,计算各断面顶点的局部坐标系坐标;
计算管线长度:根据各个管段的基本信息,提取所需的长度信息计算各断面管段的管段长度;
计算断面顶点局部坐标系坐标:遍历各管段的断面顶点,首先将管段顶点坐标转换到项目坐标系下,然后以某一顶点为局部坐标系原点,将所有顶点坐标转换到该坐标系下;
计算顶点的基本绘制信息:遍历断面各个顶点,计算顶点坐标、法向、纹理坐标、顶点索引绘制信息;
构建管线模型:根据断面的各个基本绘制信息,通过断面的顶点索引绘制信息,将各断面构建成管线模型。
一种综合管网的三维自动建模及调度渲染的方法,其中:所述管点自动建模:在三维场景渲染调度过程中根据管点的二维基本属性信息、渲染风格信息和相邻管线、管点信息自动创建出三维管点模型;
所述管点自动建模的具体步骤为:
附属物管点渲染:对含有附属物的管点,已知其管点内附属物路径信息,自动从数据库中读取附属物模型进行渲染;
非附属物管点渲染:对不含有附属物的管点,获取其相邻管点信息,判断当前管点的类型进行管点的自动渲染。
一种综合管网的三维自动建模及调度渲染的方法,其中:所述非附属物管点渲染包括:融合管线的管点渲染和普通管点渲染。
一种综合管网的三维自动建模及调度渲染的方法,其中,所述非附属物管点渲染:对不含有附属物的管点,获取其相邻管点信息,判断当前管点的类型进行管点的自动渲染;
所述非附属物管点渲染的具体步骤为:
融合管线的管点渲染:对含有融合管线属性的管点则需要单独创建一条管线与附属物连接渲染;
普通管点渲染:对不含有融合管线属性的管点,则根据该管点的相邻点信息渲染出不同的管点模型。
一种综合管网的三维自动建模及调度渲染的方法,其中,所述普通管点渲染:对不含有融合管线属性的管点,则根据该管点的相邻点信息渲染出不同的管点模型;
所述普通管点渲染的具体步骤为:
调整管点坐标Z:为达到渲染时可以无缝贴地,需要根据管点的高程属性信息调整管点Z坐标;
创建管段并划分断面:初始化创建管点的管段对象,根据管点类型将管段对象划分为若干断面;
计算断面坐标:根据断面的尺寸,计算各断面顶点的局部坐标系坐标;
计算管段长度:根据各个管段的基本信息,提取所需的长度信息计算各断面管段的管段长度;
计算断面顶点局部坐标系坐标:遍历各管段的断面顶点,首先将管段顶点坐标转换到项目坐标系下,然后以某一顶点为局部坐标系原点,将所有顶点坐标转换到该坐标系下;
计算顶点的基本绘制信息:遍历断面各个顶点,计算顶点坐标、法向、纹理坐标、顶点索引绘制信息;
构建管点模型:根据断面的各个基本绘制信息,通过断面的顶点索引绘制信息,将各断面构建成管点模型。
一种综合管网的三维自动建模及调度渲染的方法,其中,所述管线的属性信息包括:起始点物探点号、高程、管径。
一种综合管网的三维自动建模及调度渲染的方法,其中,所述渲染风格信息包括:管线内壁、外壁颜色/纹理,管壁厚度,渲染类型。
一种综合管网的三维自动建模及调度渲染的方法,其中,所述管线类型包括:圆管、方管。
一种综合管网的三维自动建模及调度渲染的方法,其中,所述管点的属性信息包括:物探点号,地面高程,碰撞高程,附属物名称。
一种综合管网的三维自动建模及调度渲染的方法,其中,所述管点的渲染风格信息包括:管点类别编码,附属物名称、附属物对应的模型名称,控制管点姿态的属性。
一种综合管网的三维自动建模及调度渲染的方法,其中,所述控制管点姿态的属性包括:是否跟随管径、是否贴地,是否跟随管线方向、是否沿z轴缩放、是否自动融合到管线、是否绕z轴旋转。
一种综合管网的三维自动建模及调度渲染的方法,其中,所述普通管点类型包括:端点、直通点、弯头、三通、四通、多通、变深井、圆柱体井、方井。
由此可见:
本发明实施例中的方法可以有效的解决基于地理信息中的地下管网数据的二、三维一体化管理,空间数据组织、地下三维管网的自动构建等技术问题。过利用二维管线数据自动创建三维模型,提升了二、三维一体化的管理水平,大大减少了三维管线数据维护的工作量,提高了管线数据的显示效果。通过对对地下管网中的管点和管线进行组织化处理方便管线要素的查询与渲染,采用动态调度方式,有效利用设备内存,支持海量管线数据的加载,提高数据加载速度及显示效果;采用分页索引机制,快速进行管线数据的调度与显示;提高了对三维场景中的管网信息的访问效率,提升了地下多条不同属性的管网体系统一展示、管理和分析水平。二维管线自动渲染成三维模型,既保留传统二维属性信息,又直观显示三维效果。管件丰富,既可以自动从模型库中读取模型,又可以自动建立直通、弯头、变深弯头、三通、四通、井脖主体、方井等井室。为城市建设尤其是对未来智慧城市搭建中的地下管网空间信息的获取和构建方案上起到了重要的依据和在城市建设的快速发展带动了城市地下空间资源的大规模开发利用。推进了城市定向、有序的发展,并推进了城市空间的立体开发;充分开发利用地下空间资源的防护潜能,提高了城市综合防灾抗毁能力起到了一定辅助作用。可以为诸多领域的应用提供安全、可靠、准确、高效的数据服务。
附图说明
图1为本发明的实施例1提供的一种综合管网的三维自动建模及调度渲染的方法的流程示意图;
图2为本发明的实施例提供的创建图层步骤的流程示意图;
图3为本发明的实施例提供的裁剪调度步骤的流程示意图;
图4为本发明的实施例提供的调度请求管网数据步骤流程示意图;
图5为本发明的实施例提供的裁剪遍历管网节点集合步骤的流程示意图;
图6为本发明的实施例提供的管线自动建模步骤的流程示意图;
图7为本发明的实施例提供的管点自动建模步骤的流程示意图;
图8为本发明的实施例提供的非附属物管点渲染步骤的流程示意图;
图9为本发明的实施例提供的普通管点渲染步骤的流程示意图。
具体实施方式
为了使本技术领域的人员更好地理解本发明方案,下面将结合附图以及具体实施例来详细说明本发明,在此本发明的示意性实施例以及说明用来解释本发明,但并不作为对本发明的限定。
实施例1:
图1为本实施例提供的一种综合管网的三维自动建模及调度渲染的方法的流程示意图。如图1所示,一种综合管网的三维自动建模及调度渲染的方法,包括如下步骤:
读取数据:对管网数据文件进行读取,打开管网数据源获取管网数据集、进而获取管网要素类集合;
创建图层:根据管网要素类集合创建管网图层集合;
裁剪调度:对场景中的管网数据进行遍历裁剪与数据调度;
管线自动建模:在三维场景渲染调度过程中根据管线的二维基本属性信息、渲染风格信息自动创建出三维管线模型;
管点自动建模:在三维场景渲染调度过程中根据管点的二维基本属性信息、渲染风格信息和相邻管线、管点信息自动创建出三维管点模型;
管网的自动构建:根据构建完成的各管线图层的管线与管点的模型,在场景中进行自动构成管网模型。
如图2所示,一种综合管网的三维自动建模及调度渲染的方法, 所述创建图层:根据管网要素类集合创建管网图层集合;
其中,创建图层的具体步骤为:
数据预处理:读取管网数据块分页索引信息,计算管网数据块分页索引半径,将管网分页索引数据块中心坐标由源坐标系转换为项目坐标系;
创建管网要素分页索引:根据预处理后的管网数据块分页索引信息创建管网要素分页索引对象并将管网要素分页索引添加到管网要素图层根节点。
如图3所示,一种综合管网的三维自动建模及调度渲染的方法,所述裁剪调度:对场景中的管网数据进行遍历裁剪与数据调度;
所述裁剪调度的具体步骤为:
裁剪遍历场景节点数据:遍历各个管网要素图层节点,判断当前管网要素图层节点是否被裁剪,若被裁剪则继续遍历下一个管网要素图层节点,若不被裁剪获得管网要素分页索引集合;
调度请求管网数据:裁剪遍历管网要素分页索引集合,请求管网要素分页数据;
裁剪遍历管网节点集合:遍历过程中判断管网节点是否为管点渲染节点,若为管点渲染节点则继续遍历,若非管点渲染节点则遍历管点模型,继续遍历并裁剪,裁剪遍历管点模型过程中创建含有绘制单元的管网模型,最终获得由管网模型构成的管网渲染节点集合;
裁剪遍历管网渲染节点集合:在遍历过程中判断管网渲染节点是否具有管网模型,若有管网模型则继续遍历模型节点,反之,则继续遍历管网渲染节点,最终得到管网的模型节点集合;
裁剪遍历模型节点集合:在遍历过程中获取管网模型的绘制单元集合,将模型绘制单元添加到渲染列表进行绘制。
如图4所示,一种综合管网的三维自动建模及调度渲染的方法,所述调度请求管网数据:裁剪遍历管网要素分页索引集合,请求管网要素分页数据;
所述调度请求管网数据的具体步骤为:
获取分页数据:从管网数据库中获取管网分页数据;
创建要素数据集:根据管网分页数据创建要素数据集;
初始化要素数据集:对管网要素的基本属性信息和渲染风格信息进行初始化,遍历获取到的管网几何信息集合,根据管网几何信息创建管网渲染节点,获得管网节点集合。
如图5所示,一种综合管网的三维自动建模及调度渲染的方法,所述裁剪遍历管网节点集合:遍历过程中判断管网节点是否为管点渲染节点,若为管点渲染节点则继续遍历,若非管点渲染节点则遍历管点模型,继续遍历并裁剪,裁剪遍历管点模型过程中创建含有绘制单元的管网模型,最终获得由管网模型构成的管网渲染节点集合;
所述裁剪遍历管网节点集合的具体步骤为:
创建模型对象:在对管网节点集合裁剪过程中,判断管网节点中是否含有模型对象,若判定为含有模型对象,则对模型对象进行有效性的检查,若判定为没有模型对象,则先创建模型对象,再对模型对象进行有效性的检查;
检查模型对象的有效性:对模型对象进行有效性的判断,若判定为有效模型,则赋予管网渲染节点模型,若判定为无效模型,则判定裁剪失败,结束裁剪。
如图6所示,一种综合管网的三维自动建模及调度渲染的方法,所述管线自动建模:在三维场景渲染调度过程中根据管线的二维基本属性信息、渲染风格信息自动创建出三维管线模型;
所述管线自动建模的具体步骤为:
预处理管线基本信息:为使管线与管点无缝贴合,根据管线原始基本属性信息沿管径方向对管线长度进行缩放,获取更新后的管线基本属性信息;
计算起始点坐标:根据管线基本属性信息及坐标系转换信息,计算管线起始点源坐标下的坐标转换到项目坐标下的坐标;
创建管线并划分断面:初始化创建管线对象,根据管线类型将管线对象划分为若干断面组成的管段;
计算断面坐标:根据断面的尺寸,计算各断面顶点的局部坐标系坐标;
计算管线长度:根据各个管段的基本信息,提取所需的长度信息计算各断面管段的管段长度;
计算断面顶点局部坐标系坐标:遍历各管段的断面顶点,首先将管段顶点坐标转换到项目坐标系下,然后以某一顶点为局部坐标系原点,将所有顶点坐标转换到该坐标系下;
计算顶点的基本绘制信息:遍历断面各个顶点,计算顶点坐标、法向、纹理坐标、顶点索引绘制信息;
构建管线模型:根据断面的各个基本绘制信息,通过断面的顶点索引绘制信息,将各断面构建成管线模型。
如图7所示,一种综合管网的三维自动建模及调度渲染的方法,所述所述管点自动建模:在三维场景渲染调度过程中根据管点的二维基本属性信息、渲染风格信息和相邻管线、管点信息自动创建出三维管点模型;
所述管点自动建模的具体步骤为:
附属物管点渲染:对含有附属物的管点,已知其管点内附属物路径信息,自动从数据库中读取附属物模型进行渲染;
非附属物管点渲染:对不含有附属物的管点,获取其相邻管点信息,判断当前管点的类型进行管点的自动渲染。
具体实施例中,所述非附属物管点渲染包括:融合管线的管点渲染和普通管点渲染。
如图8所示,一种综合管网的三维自动建模及调度渲染的方法,所述非附属物管点渲染:对不含有附属物的管点,获取其相邻管点信息,判断当前管点的类型进行管点的自动渲染;
所述非附属物管点渲染的具体步骤为:
融合管线的管点渲染:对含有融合管线属性的管点则需要单独创建一条管线与附属物连接渲染;
普通管点渲染:对不含有融合管线属性的管点,则根据该管点的相邻点信息渲染出不同的管点模型。
如图9所示,一种综合管网的三维自动建模及调度渲染的方法,所述普通管点渲染:对不含有融合管线属性的管点,则根据该管点的相邻点信息渲染出不同的管点模型;
所述普通管点渲染的具体步骤为:
调整管点坐标Z:为达到渲染时可以无缝贴地,需要根据管点的高程属性信息调整管点Z坐标;
创建管段并划分断面:初始化创建管点的管段对象,根据管点类型将管段对象划分为若干断面;
计算断面坐标:根据断面的尺寸,计算各断面顶点的局部坐标系坐标;
计算管段长度:根据各个管段的基本信息,提取所需的长度信息计算各断面管段的管段长度;
计算断面顶点局部坐标系坐标:遍历各管段的断面顶点,首先将管段顶点坐标转换到项目坐标系下,然后以某一顶点为局部坐标系原点,将所有顶点坐标转换到该坐标系下;
计算顶点的基本绘制信息:遍历断面各个顶点,计算顶点坐标、法向、纹理坐标、顶点索引绘制信息;
构建管点模型:根据断面的各个基本绘制信息,通过断面的顶点索引绘制信息,将各断面构建成管点模型。
具体实施例中,所述管线的属性信息包括:起始点物探点号、高程、管径。
具体实施例中,所述渲染风格信息包括:管线内壁、外壁颜色/纹理,管壁厚度,渲染类型。
具体实施例中,所述管线类型包括:圆管、方管。
具体实施例中,所述管点的属性信息包括:物探点号,地面高程,碰撞高程,附属物名称。
具体实施例中,所述管点的渲染风格信息包括:管点类别编码,附属物名称、附属物对应的模型名称,控制管点姿态的属性。
具体实施例中,所述控制管点姿态的属性包括:是否跟随管径、是否贴地,是否跟随管线方向、是否沿z轴缩放、是否自动融合到管线、是否绕z轴旋转。
具体实施例中,所述普通管点类型包括:端点、直通点、弯头、三通、四通、多通、变深井、圆柱体井、方井。
下面以一个更具体的一个细节方面的例子来对本技术进行详细描述。
采用本综合管网的调度与自动渲染方法可以对二维通讯管网数据、电力管网数据、给水管网数据、排水管网数据、燃气管网数据、热力管网数据、工业管网数据进行与三维自动建模和调度渲染。
首先,读取数据。读取某地区的二维通讯管网数据、电力管网数据、给水管网数据、排水管网数据、燃气管网数据、热力管网数据、工业管网数据入库后的管网数据文件,打开管网数据源获取管网数据集、进而获取通讯管网、电力管网、给水管网、排水管网、燃气管网、热力管网、工业管网要素类集合。
其次,创建图层。根据通讯管网、电力管网、给水管网、排水管网、燃气管网、热力管网、工业管网要素类集合创建通讯管网、电力管网、给水管网、排水管网、燃气管网、热力管网、工业管网图层集合。
再次,裁剪调度。在三维场景裁剪调度过程中,对通讯管网、电力管网、给水管网、排水管网、燃气管网、热力管网、工业管网图层数据分别进行遍历裁剪与数据调度。
具体实施例中,以电力管网为例。
进而,进行管线自动建模。在三维场景渲染调度过程中根据电力管线的二维基本属性信息、渲染风格信息自动创建出电力三维管线模型。
同时,进行管点自动建模。在三维场景渲染调度过程中根据电力管点的二维基本属性信息、渲染风格信息和相邻管线、管点信息自动创建出电力三维管点模型。
最后,自动构建管网。根据构建完成的通讯管网、电力管网、给水管网、排水管网、燃气管网、热力管网、工业管网图层的管线与管点的模型,在场景中进行自动构成管网模型。
在具体实施例中所述创建图层的步骤具体可为:
首先,对管网数据进行预处理。读取电力管网数据块渲染索引信息,包括渲染索引包围盒坐标信息;根据渲染索引包围盒坐标计算得到渲染索引半径及中心坐标;将管网渲染索引数据块中心坐标由TJ90源坐标系转换到WGS84项目坐标系下;
然后,创建管网要素分页索引。根据预处理后的电力管网数据块渲染索引信息创建电力管网要素分页索引对象并将电力管网要素分页索引添加到电力管网要素图层根节点。
在具体实施例中所述裁剪调度的步骤具体可为:
1)裁剪遍历场景节点数据:遍历电力管网要素图层节点,判断电力管网要素图层节点是否被裁剪,若被裁剪则继续遍历其他管网要素图层节点,若不被裁剪获得电力管网要素分页索引集合;
2)调度请求管网数据:裁剪遍历电力管网要素分页索引集合,请求电力管网要素块数据;
3)裁剪遍历管网节点集合:遍历过程中判断电力管网节点是否为电力管点渲染节点,若为电力管点渲染节点则继续遍历,若非电力管点渲染节点则遍历电力管点模型,继续遍历并裁剪,裁剪遍历电力管点模型过程中创建含有绘制单元的电力管网模型,最终获得由管电力网模型构成的电力管网渲染节点集合;
4)裁剪遍历电力管网渲染节点集合:在遍历过程中判断管电力网渲染节点是否具有电力管网模型,若有电力管网模型则继续遍历模型节点,反之,则继续遍历电力管网渲染节点,最终得到电力管网的模型节点集合;
5)裁剪遍历模型节点集合:在遍历过程中获取电力管网模型的绘制单元集合,将模型绘制单元添加到渲染场景树进行绘制。
所述调度请求管网数据的具体步骤为:从管网数据库中获取电力管网块数据,然后根据电力管网块数据创建电力要素块,对电力管网要素的基本属性信息和渲染风格信息进行初始化,遍历获取到的电力管网几何信息集合,根据电力管网几何信息创建电力管网渲染节点,获得电力管网节点集合。
其中,管网要素的基本属性信息包括起始点物探点号、高程、管径;管网要素的渲染风格信息包括管线内壁、外壁颜色/纹理,管壁厚度,渲染类型。
所述裁剪遍历管网节点集合的具体步骤为:
首先,在对电力管网节点集合裁剪过程中,判断电力管网节点中是否含有模型对象,若判定为含有模型对象,则对模型对象进行有效性的检查,若判定为没有模型对象,则先创建模型对象,再对模型对象进行有效性的检查;
然后,检查模型对象的有效性,对模型对象进行有效性的判断,若判定为有效模型,则赋予管网渲染节点模型,若判定为无效模型,则判定裁剪失败,结束裁剪。
在具体实施例中所述创建电力管线模型的步骤具体可为:
1)预处理电力管线基本信息:为使电力管线与管点无缝贴合,根据电力管线原始基本属性信息沿管径方向对电力管线长度进行缩放,获取更新后的电力管线基本属性信息;
其中,基本属性信息包括起始点物探点号、高程、管径。
2)起始点坐标转换:根据电力管线基本属性信息及坐标系转换信息,将电力管线起始点TJ90源坐标下的坐标转换到WGS84项目坐标下;
3)创建三维管线并划分断面:初始化创建三维管线对象,根据电力管线类型,如方形或圆形,将电力三维管线对象划分为若干断面组成的管段;
4)计算断面坐标:根据断面的宽、高、半径尺寸信息,计算各断面顶点以断面中心为坐标原点的局部坐标系下坐标;
5)计算管线长度:根据各个管段的起始点信息,提取所需的长度信息计算各断面管段的管段长度;
6)计算断面顶点局部坐标系坐标:遍历各管段的断面顶点,首先将管段顶点坐标转换到WGS84项目坐标系下,然后以某一顶点为局部坐标系原点,将所有顶点坐标转换到该坐标系下;
7)计算顶点的基本绘制信息:遍历断面各个顶点,计算顶点坐标位置、顶点法向向量、顶点纹理坐标、顶点索引绘制信息;
8)构建管线模型:根据断面顶点的坐标、法向、纹理基本绘制信息,通过断面顶点索引绘制信息,将各断面构建成管线模型。
在具体实施例中所述创建电力管点模型的步骤具体可为:
首先,判断电力管点是否具有附属物属性,对含有附属物的管点,已知其管点内附属物路径信息,自动从管网数据库文件中读取电力附属物模型进行渲染;
然后,对不含有附属物的电力管点,首先判断是否具有融合管线的属性,对含有融合管线属性的管点则需要单独创建一条管线与附属物连接渲染;
再次,对不含有融合管线属性的电力管点,则根据该管点的相邻点信息渲染出不同的管点模型,例如相邻点有且只有一个,则渲染出端点模型;相邻点有且只有两个,则渲染出直通点或弯头模型;相邻点有且只有三个,则渲染出三通模型;相邻点有且只有四个,则渲染出四通模型;相邻点有四个以上,则渲染出多通模型。
其中,创建普通电力管点模型的步骤具体可为:
1)调整普通电力管点Z坐标:为达到普通电力管点模型渲染时可以无缝贴地,需要根据普通电力管点的高程属性信息调整电力管点Z坐标;
2)创建管段并划分断面:初始化创建普通电力管点的三维管段对象,根据普通电力管点类型,例如方形管或圆形管,将管段对象划分为若干断面;
3)计算断面坐标:根据断面的宽、高、半径尺寸信息,计算各断面顶点以断面中心为坐标原点的局部坐标系下坐标;
4)计算管段长度:根据各个管段的起始点信息,提取所需的长度信息计算各断面管段的管段长度;
5)计算断面顶点局部坐标系坐标:遍历各管段的断面顶点,首先将管段顶点坐标转换到WGS84项目坐标系下,然后以某一顶点为局部坐标系原点,将所有顶点坐标转换到该坐标系下;
6)计算顶点的基本绘制信息:遍历断面各个顶点,计算顶点坐标位置、顶点法向向量、顶点纹理坐标、顶点索引绘制信息;
7)构建管点模型:根据断面顶点的坐标、法向、纹理基本绘制信息,通过断面顶点索引绘制信息,将各断面构建成管点模型。
前述的方法描述和示意图仅被提供作为示例性的示例且其不意在需要或隐含必须以所给出的顺序执行上述操作或各个方面的步骤。如本领域的技术人员将明白的,可以以任何顺序来执行在前述方面中的框的顺序。诸如“其后”、“然后”、“接下来”等之类的词并不意在限制操作或步骤的顺序;这些词仅用于引导读者遍历对方法的描述。此外,任何对权利要求元素的单数引用,例如,使用冠词“一”、“一个”或“该”不被解释为将该元素限制为单数。
结合本文中公开的方面描述的各种说明性的逻辑框、模块、电路和算法步骤均可以实现成电子硬件、计算机软件或其组合。为了清楚地表示硬件和软件之间的可交换性,上文对各种说明性的组件、框、模块、电路和步骤均围绕其功能进行了总体描述。至于这种功能是实现成硬件还是实现成软件,取决于特定的应用和对整个方法所施加的设计约束。熟练的技术人员可以针对每个特定的应用,以变通的方式来实现所描述的功能,但是,这种实现决策不应被解释为引起脱离本发明的保护范围。
由此可见:
本发明实施例中的方法可以有效的解决基于地理信息中的地下管网数据的二、三维一体化管理,空间数据组织、地下三维管网的自动构建等技术问题。过利用二维管线数据自动创建三维模型,提升了二、三维一体化的管理水平,大大减少了三维管线数据维护的工作量,提高了管线数据的显示效果。通过对对地下管网中的管点和管线进行组织化处理方便管线要素的查询与渲染,采用动态调度方式,有效利用设备内存,支持海量管线数据的加载,提高数据加载速度及显示效果;采用分页索引机制,快速进行管线数据的调度与显示;提高了对三维场景中的管网信息的访问效率,提升了地下多条不同属性的管网体系统一展示、管理和分析水平。二维管线自动渲染成三维模型,既保留传统二维属性信息,又直观显示三维效果。管件丰富,既可以自动从模型库中读取模型,又可以自动建立直通、弯头、变深弯头、三通、四通、井脖主体、方井等井室。为城市建设尤其是对未来智慧城市搭建中的地下管网空间信息的获取和构建方案上起到了重要的依据和在城市建设的快速发展带动了城市地下空间资源的大规模开发利用。推进了城市定向、有序的发展,并推进了城市空间的立体开发;充分开发利用地下空间资源的防护潜能,提高了城市综合防灾抗毁能力起到了一定辅助作用。可以为诸多领域的应用提供安全、可靠、准确、高效的数据服务。
提供所公开的方面的前述描述,以使本领域的任何技术人员能够实现或使用本发明。对于本领域技术人员来说,对这些方面的各种修改将是显而易见的,并且本文定义的总体原理也可以在不脱离本发明的精神和保护范围的情况下应用于其它实施例。因此,本发明不旨在受限于本文给出的方面,而是与符合与本文公开的原理和新颖特征相一致的最宽的范围。