一种电网信息模型GIM转换为点云的方法与流程

文档序号:24072407发布日期:2021-02-26 15:55阅读:555来源:国知局
一种电网信息模型GIM转换为点云的方法与流程
一种电网信息模型gim转换为点云的方法
技术领域
[0001]
本发明涉及输变电工程三维模型可视化领域,具体为一种电网信息模型gim转换为点云的方法。


背景技术:

[0002]
为满足输变电工程三维设计的需要,统一模型构架和数据交互格式,实现工程全生命周期的数据共享,现有的输变电工程三维设计模型交互规范规定了输变电工程设计阶段三维模型文件的架构、存储结构等数据交互要求,并适用于110(66)kv及以上电压等级输变电工程的三维设计。在该规范下,输变电工程三维设计模型的标准格式为*.gim。
[0003]
由于gim(grid information model,电网信息模型)代表输变电工程的三维设计模型,三维激光点云模型代表输变电工程现场实景,因此现有研究常通过融合应用gim模型和三维激光点云模型以实现输变电工程的质量管控和进度监测,且这些应用常涉及gim模型和三维激光点云模型间的匹配和比对分析问题,但因gim模型和三维激光点云模型数据结构各不相同,缺乏共性特征,所以难以直接对二者进行匹配或比对分析。


技术实现要素:

[0004]
为解决现有技术中存在的问题,本发明目的是提供一种电网信息模型gim转换为点云的方法,本发明能够有效地将电网信息模型gim转化为多种格式的点云文件,为gim模型提供了另一种三维可视化方法,能够使gim模型和三维激光点云模型直接进行匹配或比对分析。
[0005]
为达到上述目的,本发明采用如下技术方案:
[0006]
一种电网信息模型gim转换为点云的方法,包括如下步骤:
[0007]
s1,逐级读取gim模型中的cbm文件、dev文件、phm文件和fam文件,获取经纬度、海拔和变换矩阵信息;
[0008]
s2,解析phm文件中的mod文件或stl文件,将mod文件对应模型信息或stl文件对应模型信息转换至点云模型;
[0009]
s3,通过各级系统中cbm文件、dev文件和phm文件中的经纬度坐标和变换矩阵将s2中所得点云模型转换至同一参考坐标系下,构建得到pcd格式的完整工程点云模型;
[0010]
s4,将pcd格式的完整工程点云模型转换为txt、xyz或las格式的点云文件。
[0011]
优选的,所述s1包括如下步骤:
[0012]
s1-1,读取入口文件project.cbm,获取一级cbm文件名;
[0013]
s1-2,获取一级cbm文件下的所有二级cbm文件,存入二级cbm文件队列;
[0014]
s1-3,顺次取出二级cbm文件队列中的每个二级cbm文件,获取二级cbm文件下的所有三级cbm文件,存入三级cbm文件队列;
[0015]
s1-4,顺次取出三级cbm文件队列中的每个三级cbm文件,获取三级cbm文件下的所有四级cbm文件,存入四级cbm文件队列;
[0016]
s1-5,顺次取出四级cbm文件队列中的每个四级cbm文件,获取四级cbm文件下的所有五级子设备cbm文件,并记录五级子设备cbm文件中的经纬度和海拔信息;
[0017]
s1-6,获取每个五级cbm文件中的dev文件和fam文件,并记录变换矩阵t1;
[0018]
s1-7,读取每个五级cbm文件对应的dev文件,获取dev文件中的phm文件,并记录变换矩阵t2;
[0019]
s1-8,读取phm文件,获取phm文件中的mod文件或stl文件,并记录变换矩阵t3。
[0020]
优选的,所述s2包括如下步骤:
[0021]
s2-1,判断s1-8中所读取文件的类型,若为mod文件,进行s2-2至s2-3;若为stl文件,进行s2-4至s2-5;
[0022]
s2-2,解析mod文件,获得模型信息;
[0023]
s2-3,根据模型信息对模型进行填充;
[0024]
s2-4,解析stl文件,获取所有三角面片的顶点信息;
[0025]
s2-5,将stl文件中的所有三角面片以均匀点集填充。
[0026]
优选的,s2-2中,模型信息包括模型类型、模型形状、模型尺寸和节点信息;若是模型形状和尺寸信息,则对模型表面以均匀点云填充;若为节点信息,则节点间以均匀分布在同一直线上的点云填充。
[0027]
优选的,所述模型形状包括长方体、球体和圆柱体,所述模型尺寸包括长方体的长、宽和高,球体的球半径以及圆柱体的高和底面半径。
[0028]
优选的,所述s3包括如下步骤:
[0029]
s3-1,将在s1-5中读取的第一座杆塔的经纬度和海拔信息作为点云模型坐标系的原点;
[0030]
s3-2,将其余设备的经纬度和海拔信息参照第一个设备计算其平移矩阵;利用平移矩阵将各设备点云平移至点云坐标系下获得点云;
[0031]
s3-3,将各设备点云中的每个点q
i
,参照读取的对应变换矩阵t1、变换矩阵t2和变换矩阵t3,移动至点q
i
的正确位置,获得最终点云;
[0032]
s3-4,在完成所有子设备点云的位置转换后,将完整点云和各子设备点云保存为pcd格式。
[0033]
优选的,平移矩阵t(t
x
,t
y
,t
z
)的计算公式如下:
[0034][0035]
其中,a、b分别为地球经线截面的半长轴和半短轴,b
c
为其余设备的纬度信息,b
o
为第一个设备的纬度信息,l
c
为其余设备的经度信息,l
o
为第一个设备的经度信息,h
c
为其余
设备的海拔信息,h
o
为第一个设备的海拔信息,函数sgn()如下:
[0036][0037]
利用平移矩阵t(t
x
,t
y
,t
z
),将各设备点云p平移至点云坐标系下获得点云q,计算公式如下:
[0038][0039]
式中,q
x
,q
y
,q
z
分别为点云q中点q的三维坐标,p
x
,p
y
,p
z
分别为点云p中点p的三维坐标;
[0040]
终点云s计算公式如下:
[0041]
s=t1t2t3q
[0042]
式中s为点云s中的坐标点,q为点云q中的坐标点。
[0043]
优选的,在s1-5中,将读取的第一座杆塔的经纬度和海拔信息转化为点云模型坐标系的原点。
[0044]
优选的,s4中,将pcd格式的完整工程点云模型转换为txt、xyz或las格式的点云文件时,转换内容包括转换内容包括点云模型坐标系下的整体点云和构成整体点云的各子设备点云。
[0045]
优选的,所述s4包括如下过程:
[0046]
将pcd格式转换为txt格式点云文件,在txt格式点云文件中的每一行写入各点的x坐标、y坐标和z坐标,坐标之间以空格分隔;转换内容包括点云模型坐标系下的整体点云和构成整体点云的各子设备点云;
[0047]
将pcd格式转换为xyz格式点云文件,在xyz格式点云文件中的每一行依次写入各点的x坐标、y坐标、z坐标、x方向法向量、y方向法向量和z方向法向量,各值之间以空格分隔;转换内容包括点云模型坐标系下的整体点云和构成整体点云的各子设备点云;
[0048]
将pcd格式转换为las格式点云文件,利用liblas库函数创建las格式点云文件,写入信息包括分类号和三维坐标和颜色信息,分类号信息由las规范确定;转换内容包括点云模型坐标系下的整体点云和构成整体点云的各子设备点云。
[0049]
本发明具有如下有益效果:
[0050]
本发明首先通过逐级读取gim模型中的cbm、dev、phm和fam文件,获取相关信息;然后解析mod、stl文件,实现mod或stl模型至点云模型的转换;再通过各级系统中cbm、dev和phm文件中的经纬度坐标和变换矩阵将所得点云转换至同一参考坐标系下,构建完整工程点云模型,并以pcd点云文件格式保存;最后将pcd格式点云文件向txt、xyz和las等格式点云文件转换。本发明为电网信息模型gim提供了以点云形式展示的方法,为gim模型和三维激光点云模型间的匹配和比对分析提供了数据基础,促进了bim技术和三维激光点云技术在输变电工程建设领域的融合应用。因此本发明解决了由于两种模型文件数据结构不同等原因,通常不能直接应用于模型间的匹配和比对分析等问题,也实现了gim模型的另一种可
视化方法
---
点云形式,并提供了向多种格式点云文件转换的方法,本发明的方法以点云的形式高精度展现gim模型,具备自动化程度高的优点,促进了三维激光点云技术和bim技术在输变电工程建设领域的融合应用,为输变电工程的质量管控和进度监测提供了基础数据。
附图说明
[0051]
图1为本发明电网信息模型gim转换为点云的方法的流程。
[0052]
图2为本发明中gim标准文件数据结构图。
[0053]
图3为本发明步骤(1)实现流程图。
[0054]
图4为本发明中杆塔mod模型转化为点云模型图。
[0055]
图5为本发明中绝缘子串stl模型转化为点云模型图。
[0056]
图6(a)为本发明中整个架空输电线路工程的gim模型转化为点云模型图(整段线路俯视图);
[0057]
图6(b)为本发明中整个架空输电线路工程的gim模型转化为点云模型图(一档距的线路图)。
具体实施方式
[0058]
下面结合附图对本发明的具体实施例进行详细说明。
[0059]
参照图1,本发明提出的一种电网信息模型gim转换为点云的方法,包括以下步骤:
[0060]
(1)逐级读取gim模型中的cbm文件、dev文件、phm文件和fam文件,获取经纬度、海拔、变换矩阵信息和各级设备的相应属性信息;
[0061]
(2)解析phm文件中的mod文件或stl文件,完成mod或stl模型至点云模型的转换工作;
[0062]
(3)通过各级系统中cbm文件、dev文件和phm文件中的经纬度坐标和变换矩阵,将步骤(2)中所得点云模型转换至同一参考坐标系下,构建pcd格式的完整工程点云模型;
[0063]
(4)将pcd格式点云文件向txt、xyz或las格式点云文件转换。
[0064]
其中,所述步骤(1)包括如下步骤:
[0065]
1-1)读取入口文件“project.cbm”,获取其中一级cbm文件名;
[0066]
1-2)获取一级cbm文件下的所有二级cbm文件,存入二级cbm文件队列,并读取fam文件获取属性信息;
[0067]
1-3)顺次取出二级cbm文件队列中的每个二级cbm文件,获取其下的所有三级cbm文件,存入三级cbm文件队列,并读取fam文件获取属性信息;
[0068]
1-4)顺次取出三级cbm文件队列中的每个三级cbm文件,获取其下的所有四级cbm文件,存入四级cbm文件队列,并读取fam文件获取属性信息;
[0069]
1-5)顺次取出四级cbm文件队列中的每个四级cbm文件,获取其下的所有五级子设备cbm文件,并记录其中的经纬度和海拔信息;
[0070]
1-6)获取每个五级cbm文件中的dev文件和fam文件,并记录其中的变换矩阵t1;
[0071]
1-7)读取每个五级cbm文件对应的dev文件,获取其中的phm文件,并记录其中的变换矩阵t2;
[0072]
1-8)读取phm文件,获取其中的mod文件或stl文件,并记录其中的变换矩阵t3。
[0073]
所述步骤(2)包括如下步骤:
[0074]
2-1)判断步骤1-8)中所读取文件的类型,若为mod文件,进行步骤2-2)至步骤2-3),若为stl文件,进行步骤2-4)至步骤2-5);
[0075]
2-2)解析mod文件,获得模型信息,模型信息包括模型类型、模型形状、模型尺寸和节点信息;
[0076]
2-3)根据上述模型形状、模型尺寸和节点信息构建点云模型;
[0077]
2-4)解析stl文件,获取所有三角面片的顶点信息;
[0078]
2-5)将stl文件中的所有三角面片以均匀点集填充,构建点云模型;
[0079]
所述步骤(3)包括如下步骤:
[0080]
3-1)将在步骤1-5)中读取的第一座杆塔的经纬度和海拔信息作为点云模型坐标系的原点;
[0081]
3-2)将其余设备的经纬度和海拔信息参照第一个设备计算其平移矩阵t(t
x
,t
y
,t
z
),平移矩阵t(t
x
,t
y
,t
z
)的计算公式如下:
[0082][0083][0084]
t
z
=h
c-h
o
[0085]
其中,a、b分别为地球经线截面(椭圆)的半长轴和半短轴,b
c
为其余设备的纬度信息,b
o
为第一个设备的纬度信息,l
c
为其余设备的经度信息,l
o
为第一个设备的经度信息,h
c
为其余设备的海拔信息,h
o
为第一个设备的海拔信息,函数sgn()如下:
[0086][0087]
利用平移矩阵t(t
x
,t
y
,t
z
),将各设备点云p平移至点云坐标系下获得点云q,计算公式如下:
[0088][0089]
式中,q
x
,q
y
,q
z
分别为点云q中点q的三维坐标,p
x
,p
y
,p
z
分别为点云p中点p的三维坐标;
[0090]
3-3)将各设备点云q中的每个点q
i
,i=1...n,参照在步骤(1)中读取的对应变换矩阵t1、变换矩阵t2和变换矩阵t3,移动至点q
i
,i=1...n正确位置,获得最终点云s,计算公
式如下:
[0091]
s=t1t2t3q
[0092]
式中s为点云s中的坐标点,q为点云q中的坐标点。
[0093]
3-4)在完成所有子设备点云的位置转换后,将完整点云和各子设备点云以pcd格式保存。
[0094]
所述步骤(4)包括如下步骤:
[0095]
4-1)将pcd格式转换为txt格式点云文件,即创建txt文件,并在txt文件中的每一行写入各点的x,y和z坐标,坐标之间以空格分隔;转换内容包括点云模型坐标系下的整体点云和构成整体点云的各子设备点云;
[0096]
4-2)将pcd格式转换为xyz格式点云文件,即在xyz文件中的每一行依次写入各点的x坐标,y坐标,z坐标,x方向法向量,y方向法向量和z方向法向量,且各值之间以空格分隔;转换内容包括点云模型坐标系下的整体点云和构成整体点云的各子设备点云;
[0097]
4-3)将pcd格式转换为las格式点云文件,创建las格式点云文件时借助liblas库函数,写入信息包括分类号,三维坐标和颜色信息,其中分类号信息由美国摄影测量及遥感协会制定的las规范确定,如电力线分类号为14,杆塔设备分类号为15;转换内容包括点云模型坐标系下的整体点云和构成整体点云的各子设备点云。
[0098]
本发明在逐级读取gim模型的cbm、dev、phm和fam文件中的所有数据信息后,将mod模型或stl模型以表面点云填充的方式转化成点云模型,然后将读取的第一座杆塔的经纬度和海拔信息作为坐标原点,其他设备则以此原点为基准,全部以点云的形式转换至此坐标系下,再将整体点云和各子设备点云以pcd格式保存,最后将pcd格式点云分别转化为txt,xyz和las格式。
[0099]
实施例
[0100]
如图1所示,本实施例的电网信息模型gim转换为点云的方法,包括以下步骤:
[0101]
(1)逐级读取gim模型中的cbm文件、dev文件、phm文件和fam文件(gim模型的数据结构如图2所示),获取其中的经纬度、海拔、变换矩阵信息和各级设备的相应属性信息;步骤(1)包括如下步骤(流程如图3所示):
[0102]
1-1)读取入口文件“project.cbm”,获取入口文件“project.cbm”中一级cbm文件名;
[0103]
1-2)获取一级cbm文件下的所有二级cbm文件,存入二级cbm文件队列,并读取fam文件获取属性信息;
[0104]
1-3)顺次取出二级cbm文件队列中的每个二级cbm文件,获取其下的所有三级cbm文件,存入三级cbm文件队列,并读取fam文件获取属性信息;
[0105]
1-4)顺次取出三级cbm文件队列中的每个三级cbm文件,获取其下的所有四级cbm文件,存入四级cbm文件队列,并读取fam文件获取属性信息;
[0106]
1-5)顺次取出四级cbm文件队列中的每个四级cbm文件,获取其下的所有五级子设备cbm文件,并记录其中的经纬度和海拔信息;
[0107]
1-6)获取每个五级cbm文件中的dev文件和fam文件,并记录其中的变换矩阵t1;
[0108]
1-7)读取每个五级cbm文件对应的dev文件,获取其中的phm文件,并记录其中的变换矩阵t2;
[0109]
1-8)读取phm文件,获取其中的mod或stl文件,并记录其中的变换矩阵t3。
[0110]
(2)解析mod文件、stl文件,完成mod、stl模型至点云模型的转换工作,步骤(2)包括如下步骤:
[0111]
2-1)判断步骤1-8)中所读取文件的类型,若为mod文件,进行步骤2-2)至步骤2-3),若为stl文件,进行步骤2-4)至步骤2-5);
[0112]
2-2)解析mod文件,获得模型信息,模型信息包括模型类型、模型形状(如长方体、球体圆柱体)、模型尺寸(如长方体的长宽高、球半径以及圆柱体的底面半径和高)和节点信息;
[0113]
2-3)若给出的是模型形状和尺寸信息,则对模型表面以均匀点云填充;若给出的为节点信息,则节点间以均匀分布在同一直线上的点云填充,如图4所示,为一杆塔的mod模型转化为点云模型;
[0114]
2-4)解析stl文件,获取所有三角面片的顶点信息;
[0115]
2-5)将stl文件中的所有三角面片以均匀点集填充,如图5所示,为一绝缘子串的stl模型转化为点云模型;
[0116]
(3)通过各级系统中cbm文件、dev文件和phm文件中的经纬度坐标和变换矩阵将步骤(2)中所得点云转换至同一参考坐标系下,构建完整工程点云模型;步骤(3)具体包括如下步骤:
[0117]
3-1)将在步骤1-5)中读取的第一座杆塔的经纬度和海拔信息作为点云模型坐标系的原点;
[0118]
3-2)将其余设备的经纬度和海拔信息参照第一个设备计算其平移矩阵t(t
x
,t
y
,t
z
),平移矩阵t(t
x
,t
y
,t
z
)计算公式如下:
[0119][0120][0121]
t
z
=h
c-h
o
[0122]
其中,、b分别为地球经线截面(椭圆)的半长轴和半短轴,b
c
为其余设备的纬度信息,b
o
为第一个设备的纬度信息,l
c
为其余设备的经度信息,l
o
为第一个设备的经度信息,h
c
为其余设备的海拔信息,h
o
为第一个设备的海拔信息,函数sgn()如下:
[0123][0124]
利用平移矩阵t,将各设备点云p平移至点云坐标系下获得点云q,计算公式如下:
[0125][0126]
式中,q
x
,q
y
,q
z
分别为点云q中点q的三维坐标,p
x
,p
y
,p
z
分别为点云p中点p的三维坐标;
[0127]
3-3)将各设备点云q中的每个点q
i
,i=1...n,参照在步骤(1)中读取的对应变换矩阵t1、变换矩阵t2和变换矩阵t3,移动至点q
i
,i=1...n正确位置,获得最终点云s,计算公式如下:
[0128]
s=t1t2t3q
[0129]
式中s为点云s中的坐标点,q为点云q中的坐标点。
[0130]
3-4)在完成所有子设备点云的位置转换后,将完整点云(以架空输电线路工程为例,如图6(a)和图6(b)所示,其中图6(a)为整段线路俯视图,图6(b)为一档距的线路图)和各子设备点云以pcd格式保存。
[0131]
(4)将pcd格式点云文件向txt、xyz或las格式点云文件转换;步骤(4)包括如下步骤:
[0132]
4-1)将pcd格式转换为txt格式点云文件,即创建txt文件,并在txt文件中的每一行写入各点的x,y和z坐标,坐标之间以空格分隔;转换内容包括点云模型坐标系下的整体点云和构成整体点云的各子设备点云;
[0133]
4-2)将pcd格式转换为xyz格式点云文件,即在xyz文件中的每一行依次写入各点的x坐标,y坐标,z坐标,x方向法向量,y方向法向量和z方向法向量,且各值之间以空格分隔;转换内容包括点云模型坐标系下的整体点云和构成整体点云的各子设备点云;
[0134]
4-3)将pcd格式转换为las格式点云文件,创建las格式点云文件时借助liblas库函数,写入信息包括分类号,三维坐标和颜色信息,其中分类号信息由美国摄影测量及遥感协会制定的las规范确定,如电力线分类号为14,杆塔设备分类号为15;转换内容包括点云模型坐标系下的整体点云和构成整体点云的各子设备点云。
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1