本发明涉及点云查询,具体涉及一种基于八叉树森林的点云空间属性联合并行查询方法。
背景技术:
1、点云数据是用海量的离散点坐标来表达空间对象的几何特征的数据形式。其特点就是数据量大。点云空间查询即给定屏幕上的几何图形或空间内的几何图形,查询图形内的点云;点云的属性查询即给定点云的属性查询条件,查询满足条件的点云;点云的空间属性联合查询即查询几何图形内满足属性查询条件的点云。
2、随着大规模三维数据采集技术的不断发展,三维激光扫描设备得到了广泛的应用。它能够对目标场景进行完整的点云坐标采集,在三维空间进行自动的高精度扫描,真实的描述目标场景的整体结构和形态特征,快速获取目标场景点云数据。在对点云进行查询检索、分析处理、渲染显示应用中,需要对点云进行空间与属性联合查询,然而现有的查询只是单独针对空间或者属性进行查询。
技术实现思路
1、针对现有技术存在的不足,本发明提出一种基于八叉树森林的点云空间属性联合并行查询方法,以解决现有技术中存在的只是单独针对空间或者属性进行查询的技术问题。
2、一种基于八叉树森林的点云空间属性联合并行查询方法,包括:计算查询主体的外接立方体,过滤点云八叉树中与所述外接立方体相交的目标八叉树;对所述目标八叉树进行空间查询,得到目标节点数组和目标点索引数组;对所述目标节点数组和所述目标点索引数组中的点进行属性过滤,得到目标点,并获取目标点对应的点云数据作为目标数据。
3、在一个实施例中,所以计算查询主体的外接立方体,过滤点云八叉树中与所述外接立方体相交的目标八叉树步骤,包括:根据点云数据构建八叉树,得到点云八叉树,所述点云数据包括点云的三维坐标和点云属性,所述点云八叉树包括根节点、中间节点、叶子节点;根据点云数据计算查询主体的外接立方体;获取与所述外接立方体相交的点云八叉树为目标八叉树。
4、在一个实施例中,所述根据点云数据计算查询主体的外接立方体步骤之前,还包括:判断点云查询方式,点云查询方式包括三维空间查询和屏幕查询。
5、在一个实施例中,所述根据点云数据计算查询主体的外接立方体步骤,包括:当所述点云查询方式为三维空间查询时,直接计算查询主体的外接立方体。
6、在一个实施例中,所述根据点云数据计算查询主体的外接立方体步骤,还包括:当所述点云查询方式为屏幕查询时,根据投影类型、屏幕视点坐标、视线方向以及远近裁剪距离,计算查询实体在远近裁剪面上的投影坐标;根据所述投影坐标,计算所述投影坐标的外接立方体。
7、在一个实施例中,对所述目标八叉树进行空间查询,得到目标节点数组和目标点索引数组步骤,包括:计算查询实体的外接包围盒和内接包围盒;依次筛选出所述目标八叉树的节点中与所述外接包围盒相交的节点作为待处理节点;依次筛选出所述待处理节点与所述内接包围盒相交的待处理节点作为目标节点,并将所述目标节点的点索引数组作为目标点索引数组。
8、在一个实施例中,依次筛选出所述目标八叉树的节点中与所述外接包围盒相交的节点作为待处理节点步骤之后,还包括:筛选出所述待处理节点与所述内接包围盒不相交的待处理节点中的叶子节点,作为目标叶子节点;判断所述目标叶子节点中的每一个点坐标是否位于查询实体的内部;若是,则将所述目标叶子节点作为目标节点,将所述目标节点的点索引数组作为目标点索引数组。
9、在一个实施例中,计算查询实体的外接包围盒和内接包围盒步骤,包括:当所述点云查询方式为三维空间查询时,计算查询实体的外接包围盒和内接包围盒。
10、在一个实施例中,计算查询实体的外接包围盒和内接包围盒步骤,包括:当所述点云查询方式为屏幕查询时,获取查询实体的外接包围盒和内接包围盒的屏幕坐标;根据所述屏幕坐标,计算查询实体的外接包围盒和内接包围盒。
11、在一个实施例中,对所述目标节点数组和所述目标点索引数组中的点进行属性过滤,得到目标点,并获取目标点对应的点云数据作为目标数据步骤,包括:判断所述目标节点数组和所述目标点索引数组中的点的属性是否符合预设值;若是,则将符合预设值的点作为目标点;获取所述目标点对应的点云数据作为目标数据,完成点云数据的空间和属性查询。
12、由上述技术方案可知,本发明的有益技术效果如下:
13、1.通过计算查询主体的外接立方体,过滤点云八叉树中与外接立方体相交的目标八叉树,同时对目标八叉树进行空间查询,得到目标节点数组和目标点索引数组,最后再对目标节点数组和目标点索引数组中的点进行属性过滤,得到目标点,并获取目标点对应的点云数据作为目标数据,从而能够实现对空间查询和属性过滤的联合处理,让属性过滤无须再次进行查询,直接基于空间查询结果进行,极大的简化了查询处理流程。
14、2.对目标八叉树进行空间查询,得到目标节点数组和目标点索引数组时,可以多个目标八叉树并行处理,从而提高查询的效率。
1.一种基于八叉树森林的点云空间属性联合并行查询方法,其特征在于,包括:
2.根据权利要求1所述的方法,其特征在于,所以计算查询主体的外接立方体,过滤点云八叉树中与所述外接立方体相交的目标八叉树步骤,包括:
3.根据权利要求2所述的方法,其特征在于,所述根据点云数据计算查询主体的外接立方体步骤之前,还包括:
4.根据权利要求3所述的方法,其特征在于,所述根据点云数据计算查询主体的外接立方体步骤,包括:
5.根据权利要求3所述的方法,其特征在于,所述根据点云数据计算查询主体的外接立方体步骤,还包括:
6.根据权利要求3所述的方法,其特征在于,对所述目标八叉树进行空间查询,得到目标节点数组和目标点索引数组步骤,包括:
7.根据权利要求6所述的方法,其特征在于,依次筛选出所述目标八叉树的节点中与所述外接包围盒相交的节点作为待处理节点步骤之后,还包括:
8.根据权利要求6所述的方法,其特征在于,计算查询实体的外接包围盒和内接包围盒步骤,包括:
9.根据权利要求6所述的方法,其特征在于,计算查询实体的外接包围盒和内接包围盒步骤,包括:
10.根据权利要求1所述的方法,其特征在于,对所述目标节点数组和所述目标点索引数组中的点进行属性过滤,得到目标点,并获取目标点对应的点云数据作为目标数据步骤,包括: