本发明涉及点云数据处理,特别是一种基于python语言的点云数据切割方法。
背景技术:
1、按照相关标准,根据不同海域海洋环境须定期对海上风电场桩基进行水下冲刷检测,目前主流方式方法是采用多波束设备对桩基冲刷情况进行检测;在数据采集完成后,需要对点云数据进行切割,选取桩基一定范围内点云数据进行分析,而切割方法目前多采用cad内部插件人工进行逐个切割,该种方法耗时费力,效率底;因此,需要设计一种基于python语言的点云数据切割方法来解决上述问题。
技术实现思路
1、本发明所要解决的技术问题是提供一种基于python语言的点云数据切割方法,旨在解决现有技术的点云数据切割需要依赖cad插件进行切割,费时费力效率低的问题;具有可根据需要自主选择所需切割桩基范围,并将切割后数据独立保存至以各自桩基命名文件,便于后续处理,大幅提升了切割效率的特点。
2、为解决上述技术问题,本发明所采用的技术方案是:
3、一种基于python语言的点云数据切割方法,包括:
4、s1,数据文件准备:
5、包括桩基数据文件准备和点云数据文件准备;
6、s2,进行数据筛选清洗;
7、设定数据统计范围,将不符合统计范围的数据进行筛除;统计范围为不出现负值;
8、s3,先行读取待处理点云数据信息,按照点云数据信息大小均分为指定份数num;对每份点云数据信息进行切割处理。
9、优选地,步骤s1中,桩基数据文件准备包括:
10、文件转换为xlsx格式,包含桩基名称和平面坐标;
11、待切割的点云数据文件准备包括:
12、文件转换为xyz格式,包含平面坐标及高程信息;
13、上述文件按照指定格式放入程序文件夹内。
14、优选地,步骤s3中,对每份点云数据信息进行切割处理包括:
15、s301,读取桩基坐标信息,获取信息所有行数rows;
16、s302,创建循环语句1,按行依次遍历待处理点云数据,并将数据按空格区分平面坐标1及高程信息;
17、s303,在循环语句1中内嵌循环语句2,在循环语句2中按行遍历目标桩基信息,获取桩基平面坐标2,并将数据保留两位小数存储至临时列表中;
18、s304,获取目标桩基名称,并以此创建字符串;
19、s305,在循环语句2中创建if-1语句,比较平面坐标1与平面坐标2差的绝对值是否在桩基范围l内以内,若是则执行内嵌if-2语句;
20、s306,在if-2语句中使用距离公式判断平面坐标1与平面坐标2的距离是否小于l,距离公式如下:
21、;
22、式中,(x1,y1)和(x2,y2)是平面坐标1与平面坐标2的坐标位置;
23、若是,则以追加方式写入用桩基命名的xyz命名文件中。
24、优选地,一种基于python语言的点云数据切割程序,程序包括数据读取模块,用于读取桩基坐标信息,获取信息所有行数rows;
25、点云数据循环遍历执行模块,用于创建循环语句1,按行依次遍历待处理点云数据,并将数据按空格区分平面坐标1及高程信息;
26、桩基信息循环遍历执行模块,用于在循环语句1中内嵌循环语句2,在循环语句2中按行遍历目标桩基信息,获取桩基平面坐标2,并将数据保留两位小数存储至临时列表中;
27、字符串创建模块,用于获取目标桩基名称,并以此创建字符串;
28、判断执行模块,用于在循环语句2中创建if-1语句,比较平面坐标1与平面坐标2差的绝对值是否在桩基范围l内以内,若是则执行内嵌if-2语句;以及在if-2语句中使用距离公式判断平面坐标1与平面坐标2的距离是否小于l。
29、优选地,一种计算机设备,包括存储器和处理器,存储器和处理器之间互相通信连接,存储器中存储有计算机程序,处理器通过执行计算机程序,从而执行所述的一种基于python语言的点云数据切割方法。
30、优选地,一种计算机可读存储介质,计算机可读存储介质上存储有计算机程序,计算机程序用于使计算机执行所述的一种基于python语言的点云数据切割方法。
31、本发明的有益效果如下:
32、本发明提供了一种基于python语言的点云数据切割方法,该方法可以集成至计算机程序中自动执行,由计算机自动切割无需人工进行切割,大幅提升了作业效率;且可自主选择切割范围,适用于多种不同类型的桩基施工的作业使用;解决了现有技术的点云数据切割需要依赖cad插件进行切割,费时费力效率低的问题;具有可根据需要自主选择所需切割桩基范围,并将切割后数据独立保存至以各自桩基命名文件,便于后续处理,大幅提升了切割效率的特点。
1.一种基于python语言的点云数据切割方法,其特征在于,包括:
2.根据权利要求1所述的一种基于python语言的点云数据切割方法,其特征在于,步骤s1中,桩基数据文件准备包括:
3.根据权利要求1所述的一种基于python语言的点云数据切割方法,其特征在于,步骤s3中,对每份点云数据信息进行切割处理包括:
4.一种基于python语言的点云数据切割程序,其特征在于,程序包括数据读取模块,用于读取桩基坐标信息,获取信息所有行数rows;
5.一种计算机设备,其特征在于,包括存储器和处理器,存储器和处理器之间互相通信连接,存储器中存储有计算机程序,处理器通过执行计算机程序,从而执行权利要求3所述的一种基于python语言的点云数据切割方法。
6.一种计算机可读存储介质,其特征在于,计算机可读存储介质上存储有计算机程序,计算机程序用于使计算机执行权利要求3所述的一种基于python语言的点云数据切割方法。