基于体对象的管网模型参数化建模及高效显示方法与流程

文档序号:27425102发布日期:2021-11-17 19:32阅读:161来源:国知局
基于体对象的管网模型参数化建模及高效显示方法与流程

1.本发明涉及三维模型构建领域,特别涉及一种采用体对象的方式描述管网实际建设情况,更加准确并贴合实际;根据管点和管线的几何位置信息、属性信息和关联信息进行参数化建模,将几何体对象生成三维模型并进行共享,减少数据量,提升读取效率;对管点和管线创建三维空间索引,提高空间体查询的速度;对管线创建两级分页索引,一级采用三维分页索引,二级采用合并主干管线的二维分页索引,支持管线在场景中二三维显示的快速转换;支持显示控制脚本对场景管点和管线的显示情况进行设置,实现特定高度和距离时管点和管线的二维显示、三维显示和不显示以及各种显示状态的设置的基于体对象的管网模型参数化建模及高效显示方法


背景技术:

2.参数化建模是在20世纪80年代末逐渐占据主导地位的一种计算机辅助设计方法,是参数化设计的重要过程。在参数化建模环境里,零件是由特征组成的。特征可以由正空间或负空间构成。正空间特征是指真实存在的块(例如,突出的凸台),负空间特征是指切除或减去的部分。
3.参数化建模技术在辅助建筑设计上的应用越来越广泛,其发展时间短暂,发展速度却令人叹为观止,目前在建或已建成的各种形态各异的建筑或多或少都有参数化软件的设计辅助。在各种常用的参数化辅助设计软件当中,rhinoceros和grasshopper组成的参数化设计平台是目前最为流行、使用得最为广泛的一套设计平台,这主要得益于rhinoceros建模软件强大的造型能力和grasshopper独特的可视化编程建模方式。目前,国内在相关技术上的水平相对落后,许多大型项目需要国外相关团队的参与才能顺利完成。
4.目前尚未有一种可实现采用体对象的方式描述管网实际建设情况,更加准确并贴合实际;根据管点和管线的几何位置信息、属性信息和关联信息进行参数化建模,将几何体对象生成三维模型并进行共享,减少数据量,提升读取效率;对管点和管线创建三维空间索引,提高空间体查询的速度;对管点创建三维分页索引时采用聚类的方式计算三维分页索引编码,提高渲染时读取分页索引的效率;对管线创建两级分页索引,一级采用三维分页索引,二级采用合并主干管线的二维分页索引,支持管线在场景中二三维显示的快速转换;支持显示控制脚本对场景管点和管线的显示情况进行设置,实现特定高度和距离时管点和管线的二维显示、三维显示和不显示以及各种显示状态的设置基于体对象的管网模型参数化建模及高效显示方法。


技术实现要素:

5.本发明实施例提供基于体对象的管网模型参数化建模及高效显示方法,本发明方法可实现采用体对象的方式描述管网实际建设情况,更加准确并贴合实际;根据管点和管线的几何位置信息、属性信息和关联信息进行参数化建模,将几何体对象生成三维模型并进行共享,减少数据量,提升读取效率;对管点和管线创建三维空间索引,提高空间体查询
的速度;对管点创建三维分页索引时采用聚类的方式计算三维分页索引编码,提高渲染时读取分页索引的效率;对管线创建两级分页索引,一级采用三维分页索引,二级采用合并主干管线的二维分页索引,支持管线在场景中二三维显示的快速转换;支持显示控制脚本对场景管点和管线的显示情况进行设置,实现特定高度和距离时管点和管线的二维显示、三维显示和不显示以及各种显示状态的设置。
6.本发明提供基于体对象的管网模型参数化建模及高效显示方法,其中该方法包括如下步骤:
7.构建和存储管网几何体对象:创建管网数据集,根据管点的连通性信息和管线的管径信息确定并构建基础部件几何体对象,读取管点和管线的属性信息构建管点几何体对象和管线几何体对象并存储在管点要素类和管线要素类中,将内、外壁纹理存储在纹理库中;
8.创建三维空间索引及空间体查询:根据管点几何体对象的范围和空间参考信息计算管点三维空间索引网格编码并进行存储;根据管线几何体对象的范围和空间参考信息计算管线三维空间索引网格编码集合并进行存储;绘制查询几何体确定三维空间关系类型,获取查询几何体的三维空间索引网格,根据查询几何体的三维空间索引网格集合和三维空间关系类型构建查询语句筛选几何体对象,将筛选出的几何体对象进行三维空间关系判断;
9.创建三维分页索引:根据管点要素类中管点几何体对象的中心点位置聚类计算管点三维分页索引网格编码;根据管线要素类中所有管线几何体对象的范围和空间参考信息计算管线一级分页索引网格编码并进行存储;对主干管线进行合并处理,将管径信息相同的主干管线上的多个管线几何体,计算合并后的二维管线几何对象的分页索引网格编码;
10.基于显示控制脚本的二三维一体化分级显示:创建显示控制脚本并设置二三维一体化分级显示参数,对二维管点几何对象和二维管线几何对象进行调度,根据显示控制脚本对调度后的二维管点几何对象和二维管线几何对象进行显示、隐藏;对三维管点几何体对象和三维管线几何体对象进行调度,根据几何体对象参数构建三维模型,根据显示控制脚本对三维管点模型和三维管线模型进行显示、隐藏。
11.本发明提供基于体对象的管网模型参数化建模及高效显示方法,其中所述构建和存储管网几何体对象包括如下步骤:
12.创建管网数据集:对管网数据集进行创建;
13.构建基础部件几何体对象:根据部件中心点几何位置,关联部件几何位置和尺寸进行组合从而构建基础部件几何体对象;
14.构建和存储管点几何体对象:根据管点的连通性信息确定管点基础部件几何体对象类别,根据管点的几何位置、关联管线的管径信息和高程信息、关联管点的高程信息构建管点基础部件几何体对象,读取管点的附属物信息、特征信息、管线类别信息、内、外壁纹理信息、内、外壁颜色信息构建管点几何体对象并存储在管点要素类中;
15.构建和存储管线几何体对象:根据管线的管径信息确定管线基础部件几何体对象类别,根据管线的起始点几何位置和终止点几何位置构建管线基础部件几何体对象,读取管线的流向信息、管线类别信息、内、外壁纹理信息、内、外壁颜色信息构建管线几何体对象并存储在管线要素类中;
16.存储纹理库:对管点几何体对象和管线几何体对象的内、外壁纹理进行存储至纹理库中。
17.本发明提供基于体对象的管网模型参数化建模及高效显示方法,其中所述创建三维空间索引及空间体查询包括如下步骤:
18.创建三维空间索引:根据管点要素类中所有管点几何体对象的范围和空间参考信息计算管点三维空间索引网格编码并进行存储;根据管线要素类中所有管线几何体对象的范围和空间参考信息计算管线三维空间索引网格编码集合并进行存储;
19.空间体查询:绘制查询几何体确定三维空间关系类型,获取查询几何体的三维空间索引网格;根据查询几何体的三维空间索引网格集合和三维空间关系类型构建查询语句筛选几何体对象;将筛选出的几何体对象进行三维空间关系判断。
20.本发明提供基于体对象的管网模型参数化建模及高效显示方法,其中所述创建三维空间索引包括如下步骤:
21.创建管点三维空间索引:根据管点要素类中所有管点几何体对象的范围确定管点三维空间索引网格值lsp,
[0022][0023]
其中,gj为管点几何体存储的柱体几何体对象集合和方体几何体对象集合的所有管径值,min为最小值,max为最大值,n为所有的管点几何体存储的柱体几何体对象集合的个数和方体几何体对象集合的个数总和;
[0024]
根据空间参考信息确定管点三维空间索引的起始点(csx,cspy,cspz)和管点三维空间索引网格值lsp计算管点三维空间索引网格编码(bspx,bspy,bspz),
[0025][0026][0027][0028]
其中,x、y、z为管点几何体的中心点几何坐标,cspx,cspy,cspz为网格起始点坐标,lsp为网格值;
[0029]
每个管点几何体有且仅有一个三维空间索引网格编码,对管点几何体的空间索引网格编码信息和几何位置信息进行存储;
[0030]
创建管线三维空间索引:根据管线要素类中所有管线几何体对象的范围确定管线三维空间索引网格值lsl,
[0031]
lsl=(avg(lengthx)+avg(lengthy)+avg(lengthz))
×2[0032]
其中,lengthx、lengthy、lengthz为管线几何体在x、y、z方向上的长度,avg为平均值;
[0033]
根据空间参考信息确定管线三维空间索引的起始点(cslx,csly,cslz)和管线三维空间索引网格值lsl计算管线三维空间索引网格编码集合{bslx,bsly,bslz};
[0034]
每个管线几何体的三维空间索引网格编码集合有一个或者多个,对管线几何体的三维空间索引网格编码集合信息和外包范围几何位置信息进行存储。
[0035]
本发明提供基于体对象的管网模型参数化建模及高效显示方法,其中所述空间体查询包括如下步骤:
[0036]
获取查询几何体的三维空间索引网格:绘制查询几何体确定三维空间关系类型,根据查询几何体的外包范围和管点三维空间索引的起始点位置、网格尺寸确定查询几何体所覆盖的管点三维空间索引网格集合,根据查询几何体的外包范围和管线三维空间索引的起始点位置、网格尺寸确定查询几何体所覆盖的管线三维空间索引网格集合;
[0037]
筛选几何体对象:根据查询几何体的管点三维空间索引网格集合和三维空间关系类型构建查询语句对管点要素类进行查询,初步筛选出管点几何体对象;根据查询几何体的管线三维空间索引网格集合和三维空间关系类型构建查询语句对管线要素类进行查询,初步筛选出管线几何体对象;
[0038]
三维空间关系判断:将筛选出的管点几何体对象和查询几何体进行三维空间关系判断,将判定为是的管点几何体对象集合加入查询结果集合中;将筛选出的管线几何体对象和查询几何体进行三维空间关系判断,将判定为是的管线几何体对象加入查询结果集合中。
[0039]
本发明提供基于体对象的管网模型参数化建模及高效显示方法,其中所述创建三维分页索引包括如下步骤:
[0040]
创建管点三维分页索引:根据管点要素类中管点几何体对象的中心点位置聚类计算管点三维分页索引网格编码;
[0041]
创建管线一级分页索引:根据管线要素类中所有管线几何体对象的范围确定管线一级分页索引网格值lrl,
[0042][0043]
其中,x、y、z为管线几何体中心点的几何位置坐标,n为管线几何体的个数,
[0044]
根据空间参考确定管线一级分页索引的起始点(crlx,crly,crlz),和管线一级分页索引网格值lrl计算管线一级分页索引网格编码brl1;
[0045][0046]
其中,x、y、z为管线几何体中心点的几何位置坐标,crlx,crly,crlz为管线一级分页索引的起始点位置,lrl为管线一级分页索引网格值;
[0047]
每个管线几何体有且仅有一个一级分页索引网格编码,对管线几何体的一级分页索引网格编码信息,几何位置信息和属性信息进行存储;
[0048]
创建管线二级分页索引:对主干管线进行合并处理,将管径信息相同的主干管线上的多个管线几何体对象生成一个新的二维管线几何对象。合并后二维管线几何对象用于分页索引计算和快速渲染,不存储在管线要素类中。根据管线一级分页索引的起始点(crlx,crly)和管线一级分页索引网格值lrl,计算合并后的二维管线几何对象的分页索引
网格编码brl2;
[0049][0050]
其中,x、y为合并后二维管线几何对象中心点的位置坐标,crlx,crly为管线一级分页索引的起始点位置,lrl为管线一级分页索引网格值;
[0051]
对管线几何体的二级分页索引网格编码信息和合并后二维管线几何位置信息进行存储。
[0052]
本发明提供基于体对象的管网模型参数化建模及高效显示方法,其中所述创建管点三维分页索引包括如下步骤:
[0053]
聚类:先随机选取n个管点几何体对象作为初始的种子聚类中心;然后计算每个管点几何体对象中心点位置与各个种子聚类中心之间的距离,把每个管点几何体对象与其距离最近的聚类中心进行匹配构成一个聚类,将聚类结束后的各个聚类中心根据聚类中现有的管点几何体对象进行重新计算至条件满足终止;其中n代表数值,n的范围值在1-50;
[0054]
计算管点几何体的三维分页索引网格编码:聚类结束后,对管点几何体的三维分页索引网格编码进行计算,根据聚类确定管线分页索引网格值lrp,
[0055][0056]
其中,distance为每个聚类的聚类中心之间的距离,n为聚类数值,
[0057]
根据空间参考确定管点三维分页索引的起始点(crpx,crpy,crpz),和管线分页索引网格值lrp计算管点三维分页索引网格编码brp;
[0058][0059]
其中,x、y、z为管点几何体所属聚类的聚类中心的几何位置坐标,crpx,crpy,crpz为网格起始点位置,lrp为网格值;
[0060]
每个管点几何体有且仅有一个三维分页索引网格编码,对管点几何体的三维分页索引网格编码信息,几何位置信息和属性信息进行存储。
[0061]
本发明提供基于体对象的管网模型参数化建模及高效显示方法,其中所述基于显示控制脚本的二三维一体化分级显示包括如下步骤:
[0062]
脚本编辑:创建显示控制脚本,在显示控制脚本中对二维管点几何对象、二维管线几何对象、三维管点几何体对象、三维管线几何体对象进行一体化分级显示,设置二三维一体化分级显示参数;
[0063]
二维几何对象显示:对二维管点几何对象和二维管线几何对象进行调度,根据显示控制脚本对调度后的二维管点几何对象和二维管线几何对象进行显示、隐藏;
[0064]
三维模型显示:对三维管点几何体对象和三维管线几何体对象进行调度,根据几何体对象参数构建三维模型,根据显示控制脚本对三维管点模型和三维管线模型进行显示、隐藏。
[0065]
本发明提供基于体对象的管网模型参数化建模及高效显示方法,其中所述二维几何对象显示包括如下步骤:
[0066]
二维几何对象调度:获取管点三维分页索引、管线一级分页索引和管线二级分页索引,生成管点几何体对象集合、管线几何体对象集合和合并后的二维管线几何对象集合,构建二维管点几何对象、主干管网的二维管线几何对象和分支管网的二维管线几何对象;
[0067]
根据控制参数过滤显示:根据显示控制脚本实现指定距离和高度时主干管网二维管线几何对象的显示和分支管网二维管线几何对象的隐藏,根据显示控制脚本需求实现指定距离和高度特定管点中附属物信息、特征信息的二维管点几何对象的显示、隐藏。
[0068]
本发明提供基于体对象的管网模型参数化建模及高效显示方法,其中所述三维模型显示包括如下步骤:
[0069]
几何体对象调度:获取管点三维分页索引、管线一级分页索引和管线二级分页索引,生成管点几何体对象集合和管线几何体对象集合;
[0070]
根据几何体对象参数构建三维模型:从管点几何体对象集合和管线几何体对象集合中提取出基础部件几何体对象,将柱体几何体对象、方体几何体对象和井盖几何体对象进行三角化处理构建柱体三维模型、方体三维模型和井盖三维模型,将连通体几何体对象进行仿射变换处理构建成不同矩阵变化的柱体三维模型集合和方体三维模型集合,将井室几何体对象进行仿射变换处理构建成不同矩阵变化的柱体三维模型集合、方体三维模型集合和井盖三维模型集合,将排管几何体对象进行仿射变换处理构建成不同矩阵变化的柱体三维模型集合,将管点几何体对象集合和管线几何体对象集合进行仿射变换处理构建成不同矩阵变化的柱体三维模型集合、方体三维模型集合和井盖三维模型集合;
[0071]
根据控制参数过滤显示:根据显示控制脚本实现指定距离和高度时三维管点模型的显示、隐藏,根据显示控制脚本实现指定距离和高度时三维管线模型的显示、隐藏。
[0072]
本发明提供基于体对象的管网模型参数化建模及高效显示方法,其中:所述管网几何体对象包括:管点几何体对象和管线几何体对象;所述管点几何体对象是由连通体几何体对象或井室几何体对象构成;所述连通体几何体对象是依据实际管网探测数据由柱体几何体对象、方体几何体对象集合而成;所述井室几何体对象是依据实际管网探测数据由柱体几何体对象、方体几何体对象、井盖几何体对象集合而成;所述管线几何体对象是由柱体几何体对象、方体几何体对象、排管几何体对象择一构成;所述排管几何体对象是依据实际管网探测数据由多个柱体几何体对象集合而成;所述管网数据集包括:空间参考信息、管点要素类、管线要素类、纹理库,其中管点要素类用于存储管点几何体对象,其中管线要素类用于存储管线几何体对象;所述基础部件几何体对象包括:柱体几何体对象、方体几何体对象、井盖几何体对象、连通体几何体对象、井室几何体对象和排管几何体对象;所述管线三维空间索引网格编码集合{bslx,bsly,bslz}对管线几何体外包范围所覆盖的三维空间网格进行方体几何体对象构建,方体几何体对象与管线几何体对象进行三维空间相交关系判断,判定为相交时,记录该方体几何体对象;判定为不相交时则构建下一个方体几何体对象并为之判断至最后一个管线几何体外包范围所覆盖的三维空间网格为止,并将判定为相交的方体几何体对象所在三维空间网格的网格编码存储至管线三维空间索引网格编码集合{bslx,bsly,bslz}中;所述查询几何体包括二维几何对象或三维几何体对象;所述聚类中现有的管点几何体对象进行重新计算终止条件为:判定管点几何体对象不再被重新分配给不同的聚类中;判定聚类中心不再发生位置变化;判断管点几何体对象到所属聚类的聚类中心距离的误差平方和局部最小三个条件之一;所述管线几何体包括一级分页索引网格
编码或管线几何体包括一级分页索引网格编码和二级分页索引网格编码;所述二三维一体化分级显示参数包括:二三维一体化分级显示设置的依据、指定高度和距离时管点和管线的显示状态、管点和管线二维几何对象的符号化和三维模型的符号化。
[0073]
由此可见:
[0074]
本发明实施例中的基于体对象的管网模型参数化建模及高效显示方法:可实现采用体对象的方式描述管网实际建设情况,更加准确并贴合实际;根据管点和管线的几何位置信息、属性信息和关联信息进行参数化建模,将几何体对象生成三维模型并进行共享,减少数据量,提升读取效率;对管点和管线创建三维空间索引,提高空间体查询的速度;对管点创建三维分页索引时采用聚类的方式计算三维分页索引编码,提高渲染时读取分页索引的效率;对管线创建两级分页索引,一级采用三维分页索引,二级采用合并主干管线的二维分页索引,支持管线在场景中二三维显示的快速转换;支持显示控制脚本对场景管点和管线的显示情况进行设置,实现特定高度和距离时管点和管线的二维显示、三维显示和不显示以及各种显示状态的设置。
附图说明
[0075]
图1为本发明的实施例提供的基于体对象的管网模型参数化建模及高效显示方法的整体流程示意图;
[0076]
图2为本发明的实施例提供的基于体对象的管网模型参数化建模及高效显示方法中构建和存储管网几何体对象步骤的流程示意图;
[0077]
图3为本发明的实施例提供的基于体对象的管网模型参数化建模及高效显示方法中创建三维空间索引及空间体查询步骤的流程示意图;
[0078]
图4为本发明的实施例提供的基于体对象的管网模型参数化建模及高效显示方法中创建三维空间索引步骤的流程示意图;
[0079]
图5为本发明的实施例提供的基于体对象的管网模型参数化建模及高效显示方法中空间体查询步骤的流程示意图;
[0080]
图6为本发明的实施例提供的基于体对象的管网模型参数化建模及高效显示方法中创建三维分页索引步骤的流程示意图;
[0081]
图7为本发明的实施例提供的基于体对象的管网模型参数化建模及高效显示方法中创建管点三维分页索引步骤的流程示意图;
[0082]
图8为本发明的实施例提供的基于体对象的管网模型参数化建模及高效显示方法中基于显示控制脚本的二三维一体化分级显示步骤的流程示意图;
[0083]
图9为本发明的实施例提供的基于体对象的管网模型参数化建模及高效显示方法中二维几何对象显示步骤的流程示意图;
[0084]
图10为本发明的实施例提供的基于体对象的管网模型参数化建模及高效显示方法中三维模型显示步骤的流程示意图。
具体实施方式
[0085]
为了使本技术领域的人员更好地理解本发明方案,下面将结合附图以及具体实施例来详细说明本发明,在此本发明的示意性实施例以及说明用来解释本发明,但并不作为
对本发明的限定。
[0086]
实施例1:
[0087]
图1为基于体对象的管网模型参数化建模及高效显示方法,如图1所示,该方法包括如下步骤:构建和存储管网几何体对象:创建管网数据集,根据管点的连通性信息和管线的管径信息确定并构建基础部件几何体对象,读取管点和管线的属性信息构建管点几何体对象和管线几何体对象并存储在管点要素类和管线要素类中,将内、外壁纹理存储在纹理库中;
[0088]
创建三维空间索引及空间体查询:根据管点几何体对象的范围和空间参考信息计算管点三维空间索引网格编码并进行存储;根据管线几何体对象的范围和空间参考信息计算管线三维空间索引网格编码集合并进行存储;绘制查询几何体确定三维空间关系类型,获取查询几何体的三维空间索引网格,根据查询几何体的三维空间索引网格集合和三维空间关系类型构建查询语句筛选几何体对象,将筛选出的几何体对象进行三维空间关系判断;
[0089]
创建三维分页索引:根据管点要素类中管点几何体对象的中心点位置聚类计算管点三维分页索引网格编码;根据管线要素类中所有管线几何体对象的范围和空间参考信息计算管线一级分页索引网格编码并进行存储;对主干管线进行合并处理,将管径信息相同的主干管线上的多个管线几何体,计算合并后的二维管线几何对象的分页索引网格编码;
[0090]
基于显示控制脚本的二三维一体化分级显示:创建显示控制脚本并设置二三维一体化分级显示参数,对二维管点几何对象和二维管线几何对象进行调度,根据显示控制脚本对调度后的二维管点几何对象和二维管线几何对象进行显示、隐藏;对三维管点几何体对象和三维管线几何体对象进行调度,根据几何体对象参数构建三维模型,根据显示控制脚本对三维管点模型和三维管线模型进行显示、隐藏。
[0091]
如图2所示,基于体对象的管网模型参数化建模及高效显示方法,所述构建和存储管网几何体对象包括如下步骤:
[0092]
创建管网数据集:对管网数据集进行创建;
[0093]
构建基础部件几何体对象:根据部件中心点几何位置,关联部件几何位置和尺寸进行组合从而构建基础部件几何体对象;
[0094]
构建和存储管点几何体对象:根据管点的连通性信息确定管点基础部件几何体对象类别,根据管点的几何位置、关联管线的管径信息和高程信息、关联管点的高程信息构建管点基础部件几何体对象,读取管点的附属物信息、特征信息、管线类别信息、内、外壁纹理信息、内、外壁颜色信息构建管点几何体对象并存储在管点要素类中;
[0095]
构建和存储管线几何体对象:根据管线的管径信息确定管线基础部件几何体对象类别,根据管线的起始点几何位置和终止点几何位置构建管线基础部件几何体对象,读取管线的流向信息、管线类别信息、内、外壁纹理信息、内、外壁颜色信息构建管线几何体对象并存储在管线要素类中;
[0096]
存储纹理库:对管点几何体对象和管线几何体对象的内、外壁纹理进行存储至纹理库中。
[0097]
如图3所示,基于体对象的管网模型参数化建模及高效显示方法,所述创建三维空间索引及空间体查询包括如下步骤:
[0098]
创建三维空间索引:根据管点要素类中所有管点几何体对象的范围和空间参考信息计算管点三维空间索引网格编码并进行存储;根据管线要素类中所有管线几何体对象的范围和空间参考信息计算管线三维空间索引网格编码集合并进行存储;
[0099]
空间体查询:绘制查询几何体确定三维空间关系类型,获取查询几何体的三维空间索引网格;根据查询几何体的三维空间索引网格集合和三维空间关系类型构建查询语句筛选几何体对象;将筛选出的几何体对象进行三维空间关系判断。
[0100]
如图4所示,基于体对象的管网模型参数化建模及高效显示方法,所述创建三维空间索引包括如下步骤:
[0101]
创建管点三维空间索引:根据管点要素类中所有管点几何体对象的范围确定管点三维空间索引网格值lsp,
[0102][0103]
其中,gj为管点几何体存储的柱体几何体对象集合和方体几何体对象集合的所有管径值,min为最小值,max为最大值,n为所有的管点几何体存储的柱体几何体对象集合的个数和方体几何体对象集合的个数总和;
[0104]
根据空间参考信息确定管点三维空间索引的起始点(csx,cspy,cspz)和管点三维空间索引网格值lsp计算管点三维空间索引网格编码(bspx,bspy,bspz),
[0105][0106][0107][0108]
其中,x、y、z为管点几何体的中心点几何坐标,cspx,cspy,cspz为网格起始点坐标,lsp为网格值;
[0109]
每个管点几何体有且仅有一个三维空间索引网格编码,对管点几何体的空间索引网格编码信息和几何位置信息进行存储;
[0110]
创建管线三维空间索引:根据管线要素类中所有管线几何体对象的范围确定管线三维空间索引网格值lsl,
[0111]
lsl=(avg(lengthx)+avg(lengthy)+avg(lengthz))
×2[0112]
其中,lengthx、lengthy、lengthz为管线几何体在x、y、z方向上的长度,avg为平均值;
[0113]
根据空间参考信息确定管线三维空间索引的起始点(cslx,csly,cslz)和管线三维空间索引网格值lsl计算管线三维空间索引网格编码集合{bslx,bsly,bslz};
[0114]
每个管线几何体的三维空间索引网格编码集合有一个或者多个,对管线几何体的三维空间索引网格编码集合信息和外包范围几何位置信息进行存储。
[0115]
如图5所示,基于体对象的管网模型参数化建模及高效显示方法,所述空间体查询包括如下步骤:
[0116]
获取查询几何体的三维空间索引网格:绘制查询几何体确定三维空间关系类型,
根据查询几何体的外包范围和管点三维空间索引的起始点位置、网格尺寸确定查询几何体所覆盖的管点三维空间索引网格集合,根据查询几何体的外包范围和管线三维空间索引的起始点位置、网格尺寸确定查询几何体所覆盖的管线三维空间索引网格集合;
[0117]
筛选几何体对象:根据查询几何体的管点三维空间索引网格集合和三维空间关系类型构建查询语句对管点要素类进行查询,初步筛选出管点几何体对象;根据查询几何体的管线三维空间索引网格集合和三维空间关系类型构建查询语句对管线要素类进行查询,初步筛选出管线几何体对象;
[0118]
三维空间关系判断:将筛选出的管点几何体对象和查询几何体进行三维空间关系判断,将判定为是的管点几何体对象集合加入查询结果集合中;将筛选出的管线几何体对象和查询几何体进行三维空间关系判断,将判定为是的管线几何体对象加入查询结果集合中。
[0119]
如图6所示,基于体对象的管网模型参数化建模及高效显示方法,所述创建三维分页索引包括如下步骤:
[0120]
创建管点三维分页索引:根据管点要素类中管点几何体对象的中心点位置聚类计算管点三维分页索引网格编码;
[0121]
创建管线一级分页索引:根据管线要素类中所有管线几何体对象的范围确定管线一级分页索引网格值lrl,
[0122][0123]
其中,x、y、z为管线几何体中心点的几何位置坐标,n为管线几何体的个数,
[0124]
根据空间参考确定管线一级分页索引的起始点(crlx,crly,crlz),和管线一级分页索引网格值lrl计算管线一级分页索引网格编码brl1;
[0125][0126]
其中,x、y、z为管线几何体中心点的几何位置坐标,crlx,crly,crlz为管线一级分页索引的起始点位置,lrl为管线一级分页索引网格值;
[0127]
每个管线几何体有且仅有一个一级分页索引网格编码,对管线几何体的一级分页索引网格编码信息,几何位置信息和属性信息进行存储;
[0128]
创建管线二级分页索引:对主干管线进行合并处理,将管径信息相同的主干管线上的多个管线几何体对象生成一个新的二维管线几何对象。合并后二维管线几何对象用于分页索引计算和快速渲染,不存储在管线要素类中。根据管线一级分页索引的起始点(crlx,crly)和管线一级分页索引网格值lrl,计算合并后的二维管线几何对象的分页索引网格编码brl2;
[0129][0130]
其中,x、y为合并后二维管线几何对象中心点的位置坐标,crlx,crly为管线一级分页索引的起始点位置,lrl为管线一级分页索引网格值;
[0131]
对管线几何体的二级分页索引网格编码信息和合并后二维管线几何位置信息进行存储。
[0132]
如图7所示,基于体对象的管网模型参数化建模及高效显示方法,所述创建管点三维分页索引包括如下步骤:
[0133]
聚类:先随机选取n个管点几何体对象作为初始的种子聚类中心;然后计算每个管点几何体对象中心点位置与各个种子聚类中心之间的距离,把每个管点几何体对象与其距离最近的聚类中心进行匹配构成一个聚类,将聚类结束后的各个聚类中心根据聚类中现有的管点几何体对象进行重新计算至条件满足终止;其中n代表数值,n的范围值在1-50;
[0134]
计算管点几何体的三维分页索引网格编码:聚类结束后,对管点几何体的三维分页索引网格编码进行计算,根据聚类确定管线分页索引网格值lrp,
[0135][0136]
其中,distance为每个聚类的聚类中心之间的距离,n为聚类数值,
[0137]
根据空间参考确定管点三维分页索引的起始点(crpx,crpy,crpz),和管线分页索引网格值lrp计算管点三维分页索引网格编码brp;
[0138][0139]
其中,x、y、z为管点几何体所属聚类的聚类中心的几何位置坐标,crpx,crpy,crpz为网格起始点位置,lrp为网格值;
[0140]
每个管点几何体有且仅有一个三维分页索引网格编码,对管点几何体的三维分页索引网格编码信息,几何位置信息和属性信息进行存储。
[0141]
如图8所示,基于体对象的管网模型参数化建模及高效显示方法,所述基于显示控制脚本的二三维一体化分级显示包括如下步骤:
[0142]
脚本编辑:创建显示控制脚本,在显示控制脚本中对二维管点几何对象、二维管线几何对象、三维管点几何体对象、三维管线几何体对象进行一体化分级显示,设置二三维一体化分级显示参数;
[0143]
二维几何对象显示:对二维管点几何对象和二维管线几何对象进行调度,根据显示控制脚本对调度后的二维管点几何对象和二维管线几何对象进行显示、隐藏;
[0144]
三维模型显示:对三维管点几何体对象和三维管线几何体对象进行调度,根据几何体对象参数构建三维模型,根据显示控制脚本对三维管点模型和三维管线模型进行显示、隐藏。
[0145]
如图9所示,基于体对象的管网模型参数化建模及高效显示方法,所述二维几何对象显示包括如下步骤:
[0146]
二维几何对象调度:获取管点三维分页索引、管线一级分页索引和管线二级分页索引,生成管点几何体对象集合、管线几何体对象集合和合并后的二维管线几何对象集合,构建二维管点几何对象、主干管网的二维管线几何对象和分支管网的二维管线几何对象;
[0147]
根据控制参数过滤显示:根据显示控制脚本实现指定距离和高度时主干管网二维管线几何对象的显示和分支管网二维管线几何对象的隐藏,根据显示控制脚本需求实现指
定距离和高度特定管点中附属物信息、特征信息的二维管点几何对象的显示、隐藏。
[0148]
如图10所示,基于体对象的管网模型参数化建模及高效显示方法,所述三维模型显示包括如下步骤:
[0149]
几何体对象调度:获取管点三维分页索引、管线一级分页索引和管线二级分页索引,生成管点几何体对象集合和管线几何体对象集合;
[0150]
根据几何体对象参数构建三维模型:从管点几何体对象集合和管线几何体对象集合中提取出基础部件几何体对象,将柱体几何体对象、方体几何体对象和井盖几何体对象进行三角化处理构建柱体三维模型、方体三维模型和井盖三维模型,将连通体几何体对象进行仿射变换处理构建成不同矩阵变化的柱体三维模型集合和方体三维模型集合,将井室几何体对象进行仿射变换处理构建成不同矩阵变化的柱体三维模型集合、方体三维模型集合和井盖三维模型集合,将排管几何体对象进行仿射变换处理构建成不同矩阵变化的柱体三维模型集合,将管点几何体对象集合和管线几何体对象集合进行仿射变换处理构建成不同矩阵变化的柱体三维模型集合、方体三维模型集合和井盖三维模型集合;
[0151]
根据控制参数过滤显示:根据显示控制脚本实现指定距离和高度时三维管点模型的显示、隐藏,根据显示控制脚本实现指定距离和高度时三维管线模型的显示、隐藏。
[0152]
具体实施案例中:所述管网几何体对象包括:管点几何体对象和管线几何体对象;所述管点几何体对象是由连通体几何体对象或井室几何体对象构成;所述连通体几何体对象是依据实际管网探测数据由柱体几何体对象、方体几何体对象集合而成;所述井室几何体对象是依据实际管网探测数据由柱体几何体对象、方体几何体对象、井盖几何体对象集合而成;所述管线几何体对象是由柱体几何体对象、方体几何体对象、排管几何体对象择一构成;所述排管几何体对象是依据实际管网探测数据由多个柱体几何体对象集合而成;所述管网数据集包括:空间参考信息、管点要素类、管线要素类、纹理库,其中管点要素类用于存储管点几何体对象,其中管线要素类用于存储管线几何体对象;所述基础部件几何体对象包括:柱体几何体对象、方体几何体对象、井盖几何体对象、连通体几何体对象、井室几何体对象和排管几何体对象;所述管线三维空间索引网格编码集合{bslx,bsly,bslz}对管线几何体外包范围所覆盖的三维空间网格进行方体几何体对象构建,方体几何体对象与管线几何体对象进行三维空间相交关系判断,判定为相交时,记录该方体几何体对象;判定为不相交时则构建下一个方体几何体对象并为之判断至最后一个管线几何体外包范围所覆盖的三维空间网格为止,并将判定为相交的方体几何体对象所在三维空间网格的网格编码存储至管线三维空间索引网格编码集合{bslx,bsly,bslz}中;所述查询几何体包括二维几何对象或三维几何体对象;所述聚类中现有的管点几何体对象进行重新计算终止条件为:判定管点几何体对象不再被重新分配给不同的聚类中;判定聚类中心不再发生位置变化;判断管点几何体对象到所属聚类的聚类中心距离的误差平方和局部最小三个条件之一;所述管线几何体包括一级分页索引网格编码或管线几何体包括一级分页索引网格编码和二级分页索引网格编码;所述二三维一体化分级显示参数包括:二三维一体化分级显示设置的依据、指定高度和距离时管点和管线的显示状态、管点和管线二维几何对象的符号化和三维模型的符号化。
[0153]
由此可见:本发明实施例中的基于体对象的管网模型参数化建模及高效显示方法:可实现采用体对象的方式描述管网实际建设情况,更加准确并贴合实际;根据管点和管
线的几何位置信息、属性信息和关联信息进行参数化建模,将几何体对象生成三维模型并进行共享,减少数据量,提升读取效率;对管点和管线创建三维空间索引,提高空间体查询的速度;对管点创建三维分页索引时采用聚类的方式计算三维分页索引编码,提高渲染时读取分页索引的效率;对管线创建两级分页索引,一级采用三维分页索引,二级采用合并主干管线的二维分页索引,支持管线在场景中二三维显示的快速转换;支持显示控制脚本对场景管点和管线的显示情况进行设置,实现特定高度和距离时管点和管线的二维显示、三维显示和不显示以及各种显示状态的设置。
[0154]
下面以一个具体实施案例进行说明:
[0155]
采用本管网模型参数化建模与高效显示方法可以对通讯管网数据、电力管网数据、给水管网数据、排水管网数据、燃气管网数据、热力管网数据、工业管网数据进行基于体对象的参数化建模和高效显示。
[0156]
具体实施例中,以电力管网为例。
[0157]
首先,构建和存储管网几何体对象。采集某地区的电力管网探测数据,创建电力管网数据集,构建基础部件几何体对象,构建电力管点几何体对象并存储在电力管点要素类中,构建电力管线几何体对象并存储在电力管线要素类中,将内、外壁纹理存储在纹理库中。
[0158]
其次,创建三维空间索引及空间体查询。计算电力管点三维空间索引网格编码并进行存储;计算电力管线三维空间索引网格编码集合并进行存储;绘制查询几何体确定三维空间关系类型,构建查询语句筛选几何体对象,将筛选出的几何体对象进行三维空间关系判断。
[0159]
再次,创建三维分页索引。计算电力管点三维分页索引网格编码;计算电力管线一级分页索引网格编码并进行存储;计算合并后的二维电力管线几何对象的分页索引网格编码并进行存储。
[0160]
最后,基于显示控制脚本的二三维一体化分级显示。创建显示控制脚本并设置二三维一体化分级显示参数,对二维管点几何对象和二维管线几何对象进行调度、显示、隐藏;对三维管点几何体对象和三维管线几何体对象进行调度,构建三维模型进行显示、隐藏。
[0161]
在具体实施例中所述构建和存储管网几何体对象的步骤具体可为:
[0162]
1)创建管网数据集:存储外业采集的电力管网数据的空间参考信息,创建电力管点要素类、电力管线要素类和纹理库。
[0163]
2)构建管点基础部件几何体对象:根据电力管点的关联管线的管径信息确定并构建柱体几何体对象和方体几何体对象,根据电力管点的井盖信息确定并构建井盖几何体对象,根据电力管点的连通性信息、中心点几何位置、高程信息和关联管线的另一端电力管点的几何位置和高程信息将柱体几何体对象和方体几何体对象进行组合成连通体几何体对象,根据电缆井信息将柱体几何体对象、方体几何体对象和井盖几何体对象组合成井室几何体对象。
[0164]
3)构建管线基础部件几何体对象:根据电力管线的管径信息、几何位置信息确定并构建柱体几何体对象和方体几何体对象,根据电缆排管信息将柱体几何体对象进行组合成排管几何体对象。
[0165]
4)构建和存储管点几何体对象:在构建好的电力管点的连通体几何体对象或井室几何体对象的基础上,读取电力管点的附属物信息、特征信息、内、外壁纹理信息、内、外壁颜色信息构建管点几何体对象并存储在管点要素类中。
[0166]
5)构建和存储管线几何体对象:在构建好的电力管线的连柱体几何体对象、方体几何体对象、排管几何体对象选择其一的基础上,读取管线的流向信息、管线类别信息、内、外壁纹理信息、内、外壁颜色信息构建管线几何体对象并存储在管线要素类中。
[0167]
6)存储纹理库:将管点几何体对象和管线几何体对象的内、外壁纹理存储至纹理库中。
[0168]
在具体实施例中所述创建三维空间索引及空间体查询的步骤具体可为:
[0169]
1)创建管点三维空间索引:根据电力管点要素类中所有电力管点几何体对象的范围确定管点三维空间索引网格值lsp,
[0170][0171]
其中,gj为电力管点几何体存储的柱体几何体对象集合和方体几何体对象集合的所有管径值,min为最小值,max为最大值,n为所有的电力管点几何体存储的柱体几何体对象集合的个数和方体几何体对象集合的个数总和;
[0172]
根据空间参考信息确定电力管点三维空间索引的起始点(csx,cspy,cspz)和电力管点三维空间索引网格值lsp计算电力管点三维空间索引网格编码(bspx,bspy,bspz),
[0173][0174][0175][0176]
其中,x、y、z为电力管点几何体的中心点几何坐标,cspx,cspy,cspz为网格起始点坐标,lsp为网格值;
[0177]
每个电力管点几何体有且仅有一个三维空间索引网格编码,对电力管点几何体的空间索引网格编码信息和几何位置信息进行存储。
[0178]
2)创建管线三维空间索引:根据电力管线要素类中所有电力管线几何体对象的范围确定管线三维空间索引网格值lsl,
[0179]
lsl=(avg(lengthx)+avg(lengthy)+avg(lengthz))
×2[0180]
其中,lengthx、lengthy、lengthz为管线几何体在x、y、z方向上的长度,avg为平均值;
[0181]
对电力管线几何体外包范围所覆盖的三维空间网格进行方体几何体对象构建,方体几何体对象与电力管线几何体对象进行三维空间相交关系判断,判定为相交时,记录该方体几何体对象;判定为不相交时则构建下一个方体几何体对象并为之判断至最后一个管线几何体外包范围所覆盖的三维空间网格为止,根据空间参考信息确定管线三维空间索引的起始点(cslx,csly,cslz)和管线三维空间索引网格值lsl,计算判定为相交的方体几何体对象所在三维空间网格的网格编码并存储至管线三维空间索引网格编码集合{bslx,
bsly,bslz}中;
[0182]
每个电力管线几何体的三维空间索引网格编码集合有一个或者多个,对管线几何体的三维空间索引网格编码集合信息和外包范围几何位置信息进行存储。
[0183]
3)绘制查询几何体:根据实际生产需求绘制查询几何体,可以是二维几何对象,也可以是三维几何体对象,确定三维空间关系类型。
[0184]
4)获取查询几何体的管点三维空间索引网格:根据查询几何体的外包范围和电力管点三维空间索引的起始点位置、网格尺寸确定查询几何体所覆盖的电力管点三维空间索引网格集合。
[0185]
5)获取查询几何体的管线三维空间索引网格:根据查询几何体的外包范围和电力管线三维空间索引的起始点位置、网格尺寸确定查询几何体所覆盖的电力管线三维空间索引网格集合。
[0186]
6)筛选管点几何体对象:根据查询几何体的管点三维空间索引网格集合和三维空间关系类型构建查询语句对管点要素类进行查询,初步筛选出电力管点几何体对象。
[0187]
7)筛选管线几何体对象:根据查询几何体的管线三维空间索引网格集合和三维空间关系类型构建查询语句对管线要素类进行查询,初步筛选出电力管线几何体对象。
[0188]
8)三维空间关系判断:将筛选出的电力管点几何体对象和查询几何体进行三维空间关系判断,将判定为是的电力管点几何体对象集合加入查询结果集合中;将筛选出的电力管线几何体对象和查询几何体进行三维空间关系判断,将判定为是的电力管线几何体对象加入查询结果集合中。
[0189]
在具体实施例中所述创建三维分页索引的步骤具体可为:
[0190]
1)管点几何体对象聚类:打开电力管点要素类,先随机选取n个管点几何体对象作为初始的种子聚类中心;然后计算每个电力管点几何体对象中心点位置与各个种子聚类中心之间的距离,把每个电力管点几何体对象与其距离最近的聚类中心进行匹配构成一个聚类,将聚类结束后的各个聚类中心根据聚类中现有的电力管点几何体对象进行重新计算至满足三个条件之一时终止;其中n代表数值,n的范围值在1-50,其中三个条件为判定管点几何体对象不再被重新分配给不同的聚类中,判定聚类中心不再发生位置变化和判断管点几何体对象到所属聚类的聚类中心距离的误差平方和局部最小。
[0191]
2)创建管点三维分页索引:聚类结束后,对电力管点几何体的三维分页索引网格编码进行计算,根据聚类确定管线分页索引网格值lrp,
[0192][0193]
其中,distance为每个聚类的聚类中心之间的距离,n为聚类数值,
[0194]
根据空间参考确定管点三维分页索引的起始点(crpx,crpy,crpz),和管线分页索引网格值lrp计算管点三维分页索引网格编码brp;
[0195][0196]
其中,x、y、z为电力管点几何体所属聚类的聚类中心的几何位置坐标,crpx,crpy,crpz为网格起始点位置,lrp为网格值;
[0197]
每个电力管点几何体有且仅有一个三维分页索引网格编码,对电力管点几何体的三维分页索引网格编码信息,几何位置信息和属性信息进行存储。
[0198]
3)创建管线一级分页索引:打开电力管线要素类,根据所有电力管线几何体对象的范围确定管线一级分页索引网格值lrl,
[0199][0200]
其中,x、y、z为电力管线几何体中心点的几何位置坐标,n为电力管线几何体的个数,
[0201]
根据空间参考确定管线一级分页索引的起始点(crlx,crly,crlz),和管线一级分页索引网格值lrl计算管线一级分页索引网格编码brl1;
[0202][0203]
其中,x、y、z为电力管线几何体中心点的几何位置坐标,crlx,crly,crlz为管线一级分页索引的起始点位置,lrl为管线一级分页索引网格值;
[0204]
每个电力管线几何体有且仅有一个一级分页索引网格编码,对电力管线几何体的一级分页索引网格编码信息,几何位置信息和属性信息进行存储。
[0205]
4)主干管线合并处理:结合实际生产过程中的电力管网所处的道路信息,将管径信息相同的主干电力管线上的多个电力管线几何体对象生成一个新的二维电力管线几何对象,合并后电力二维管线几何对象用于分页索引计算和快速渲染,不存储在管线要素类中。
[0206]
5)创建管线二级分页索引:根据管线一级分页索引的起始点(crlx,crly)和管线一级分页索引网格值lrl,计算合并后的二维电力管线几何对象的分页索引网格编码brl2;
[0207][0208]
其中,x、y为合并后二维电力管线几何对象中心点的位置坐标,crlx,crly为管线一级分页索引的起始点位置,lrl为管线一级分页索引网格值;
[0209]
对电力管线几何体的二级分页索引网格编码信息和合并后二维管线几何位置信息进行存储。
[0210]
在具体实施例中所述基于显示控制脚本的二三维一体化分级显示的步骤具体可为:
[0211]
1)脚本编辑:创建显示控制脚本,设置二三维一体化分级显示参数,其中二三维一体化分级显示参数包括二三维一体化分级显示设置的依据、指定高度和距离时管点和管线的显示状态、管点和管线二维几何对象的符号化和三维模型的符号化。
[0212]
2)二维几何对象调度:获取电力管点三维分页索引、电力管线一级分页索引和电力管线二级分页索引,生成电力管点几何体对象集合、电力管线几何体对象集合和合并后的二维电力管线几何对象集合,构建二维管点几何对象、主干管网的二维管线几何对象和分支管网的二维管线几何对象。
[0213]
3)二维几何对象过滤显示:根据显示控制脚本实现指定距离和高度时主干管网二维管线几何对象的显示和分支管网二维管线几何对象的隐藏,根据显示控制脚本需求实现指定距离和高度特定管点中附属物信息、特征信息的二维管点几何对象的显示、隐藏。
[0214]
4)三维几何体对象调度:获取电力管点三维分页索引、电力管线一级分页索引和电力管线二级分页索引,生成电力管点几何体对象集合和电力管线几何体对象集合。
[0215]
5)根据几何体对象参数构建三维模型:从管点几何体对象集合和管线几何体对象集合中提取出基础部件几何体对象,将柱体几何体对象、方体几何体对象和井盖几何体对象进行三角化处理构建柱体三维模型、方体三维模型和井盖三维模型,将连通体几何体对象进行仿射变换处理构建成不同矩阵变化的柱体三维模型集合和方体三维模型集合,将井室几何体对象进行仿射变换处理构建成不同矩阵变化的柱体三维模型集合、方体三维模型集合和井盖三维模型集合,将排管几何体对象进行仿射变换处理构建成不同矩阵变化的柱体三维模型集合,将管点几何体对象集合和管线几何体对象集合进行仿射变换处理构建成不同矩阵变化的柱体三维模型集合、方体三维模型集合和井盖三维模型集合。
[0216]
6)三维模型过滤显示:根据显示控制脚本实现指定距离和高度时三维管点模型的显示、隐藏,根据显示控制脚本实现指定距离和高度时三维管线模型的显示、隐藏。
[0217]
虽然通过实施例描绘了本发明实施例,本领域普通技术人员知道,本发明有许多变形和变化而不脱离本发明的精神,希望所附的权利要求包括这些变形和变化而不脱离本发明的精神。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1