CN107515952B - 点云数据存储、并行计算和实时检索的方法及其系统 - Google Patents
点云数据存储、并行计算和实时检索的方法及其系统 Download PDFInfo
- Publication number
- CN107515952B CN107515952B CN201710859626.1A CN201710859626A CN107515952B CN 107515952 B CN107515952 B CN 107515952B CN 201710859626 A CN201710859626 A CN 201710859626A CN 107515952 B CN107515952 B CN 107515952B
- Authority
- CN
- China
- Prior art keywords
- data
- point cloud
- cloud data
- area
- real
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 63
- 238000013500 data storage Methods 0.000 title claims abstract description 19
- 230000007246 mechanism Effects 0.000 claims abstract description 16
- 230000008569 process Effects 0.000 claims description 19
- 238000004891 communication Methods 0.000 claims description 17
- 238000000605 extraction Methods 0.000 claims description 5
- 238000000638 solvent extraction Methods 0.000 claims description 5
- 238000001914 filtration Methods 0.000 claims description 3
- 238000012545 processing Methods 0.000 abstract description 19
- 230000008901 benefit Effects 0.000 abstract description 4
- 230000011218 segmentation Effects 0.000 abstract description 4
- 238000005516 engineering process Methods 0.000 description 6
- 238000010586 diagram Methods 0.000 description 4
- 230000006870 function Effects 0.000 description 4
- 238000005259 measurement Methods 0.000 description 3
- 230000007547 defect Effects 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 230000000007 visual effect Effects 0.000 description 2
- 241000282693 Cercopithecidae Species 0.000 description 1
- 238000007792 addition Methods 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000013523 data management Methods 0.000 description 1
- 230000008676 import Effects 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 230000007774 longterm Effects 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012805 post-processing Methods 0.000 description 1
- 230000001105 regulatory effect Effects 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/14—Details of searching files based on file metadata
- G06F16/148—File search processing
- G06F16/152—File search processing using file content signatures, e.g. hash values
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/13—File access structures, e.g. distributed indices
- G06F16/137—Hash-based
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/18—File system types
- G06F16/182—Distributed file systems
- G06F16/1824—Distributed file systems implemented using Network-attached Storage [NAS] architecture
- G06F16/1827—Management specifically adapted to NAS
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/29—Geographical information databases
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Library & Information Science (AREA)
- Remote Sensing (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Processing Or Creating Images (AREA)
Abstract
本发明提供了一种点云数据存储、并行计算和实时检索的方法及其系统,它解决了现有技术对海量的点云数据处理不够精准等问题。包括以下步骤:S1:数据存储,包括从客户端读取点云数据并将点云数据写入Hadoop HDFS分布式文件系统中;S2:数据并行计算,包括通过数据划分模块将点云数据按照地理位置划分为若干子区域数据后将每个子区域数据传入Hadoop集群的计算节点以对点云数据进行信息抽取;S3:数据实时检索,包括把Hadoop集群的点云数据导入至HBase数据库中,并基于检索条件采用HBase Endpoint机制的空间数据检索方法在Hbase Region Server中进行并行检索。本发明具有以下优点:采用Hadoop架构对海量点云数据进行处理,实现基于地理位置的数据分割和并行处理等目的。
Description
技术领域
本发明涉及地理空间数据处理以及大数据处理技术,尤其涉及一种点云数据存储、并行计算和实时检索的方法及其系统。
背景技术
激光雷达技术可以快速获取高密集、高精度的激光点云数据,通过后期处理点云数据,能够建立精度为厘米级的三维立体模型。这种精细化技术已经应用于军事、民用各个层次,例如,无人驾驶、虚拟现实、建筑工程等。然而,由于这种技术采集的数据量巨大(通常为TB级),如何有效存储和管理这些海量数据、基于海量数据的快速处理及三维立体模型的建模,基于海量空间数据的实时检索还存在技术瓶颈,成为激光雷达技术广泛应用的一种障碍。
为了解决上述技术问题,人们进行了长期的探索,例如中国专利公开了一种基于摆动激光雷达的可变视野三维重建装置[申请号:CN201610444260.7],包括激光雷达摆动机构、机构运动控制模块和三维点云重建模块,其中:单线激光雷达为三维点云数据采集设备,激光雷达中心固定机构承受激光雷达重量并固定激光雷达中心,激光雷达摆动控制机构实现激光雷达视野范围的调节并带动其全向摆动,三者组成激光雷达摆动机构;机构运动控制模块控制激光雷达摆动机构的运动,并对激光雷达位姿进行实时测量;三维点云重建模块对多帧激光雷达测量数据进行拼接,重建空间三维点云。
上述方案能够通过对三维环境的测量与重建,根据需求对视野范围和点云分布进行调节,以实现对不同位置空间信息的重点测量,具有精度高、可靠性强、适应性好的特点,但是仍然存在部分不足,例如,无法有效存储和管理这些海量数据、基于海量数据的快速处理及三维立体模型的建模,也无法基于海量空间数据进行实时检索,前述的同样也是目前的技术瓶颈,成为激光雷达技术广泛应用的一种障碍。
此外,Hadoop是一种在互联网行业广泛使用的大数据架构,Hadoop非常适合存储和处理海量数据,具有高扩展、可伸缩性,HBase数据库提供了对Hadoop文件的实时检索能力,借助Hadoop能够解决前述对海量数据的实时检索过程中存在的技术问题。但是,虽然Hadoop在互联网行业已经广泛应用,但是Hadoop技术在地理信息系统行业的成功应用还不多,特别是在激光雷达领域,Hadoop处理激光雷达数据的主要困难在于:1.Hadoop典型应用为对文本信息的处理,对地理信息数据的处理应用还没有实现无缝集成。例如:无法实现基于地理位置的数据分割和并行处理;2.业内三维建模算法很多是通过c++、java以及Matlab编程语言实现。特别是Matlab因为包含很多成熟的图像处理、机器学习等数据建模和处理算法在本领域中被广泛使用。Hadoop Streaming虽然实现了Python、C++、Shell等不同编程语言对Hadoop集群数据的访问,但是无法实现Matlab对集群数据的访问;3.基于空间信息的检索不同于基于文本的检索,HBase目前没有支持空间实时检索的功能。
发明内容
本发明的目的是针对上述问题,提供一种方法简单,数据处理效率高的点云数据存储、并行计算和实时检索的方法;
本发明的另一目的是针对上述技术问题,提供一基于点云数据存储、并行计算和实时检索的方法的点云数据存储、并行计算和实时检索的系统。
为达到上述目的,本发明采用了下列技术方案:
一种点云数据存储、并行计算和实时检索的方法,其特征在于,包括以下步骤:
S1:数据存储,包括从客户端读取点云数据并将点云数据写入Hadoop HDFS分布式文件系统中;
S2:数据并行计算,包括通过数据划分模块将点云数据按照地理位置划分为若干子区域数据后将每个子区域数据传入Hadoop集群的计算节点以对点云数据进行信息抽取;
S3:数据实时检索,包括把Hadoop集群的点云数据导入至HBase数据库中,并基于检索条件采用HBase Endpoint机制的空间数据检索方法在Hbase Region Server中进行并行检索。
通过上述技术方案,能够实现基于地理位置的数据分割和并行处理,使HBase支持空间实时检索的功能,使Hadoop能够克服有效快速地处理激光雷达数据。
在上述的点云数据存储、并行计算和实时检索的方法中,在步骤S1中,每份点云数据文件写入Hadoop集群中的多个不同的数据节点,且每个数据节点对应有至少一个物理服务器。
在上述的点云数据存储、并行计算和实时检索的方法中,在步骤S2中,在进行数据并行计算的过程中,还执行以下步骤:
通过通信模块分发不同编程语言的代码到Hadoop集群的计算节点以用于信息提取;
所述的不同编程语言包括Python编程语言、C++编程语言、Shell编程语言、java编程语言和Matlab编程语言中的任意一种或多种语言的组合;且不同编程语言之间的进程通过采用二进制流数据格式的数据流接收模块进行通信。
在上述的点云数据存储、并行计算和实时检索的方法中,在步骤S2中,所述的数据划分模块为基于Map Reduce的数据划分模块,且数据划分模块的划分方法包括以下步骤:
S2.1:获取包括需要划分的区域和划分后子区域大小的划分请求,并根据划分请求计算请求区域和请求区域对应的子区域;
S2.2:根据点云数据文件名中包含的地理位置顶点坐标判断该区域是否和查询区域相交,若相交则选为候选文件,否则过滤该文件;
S2.3:使用Hadoop缺省的文本数据分片机制,把候选文件按行拆分为若干数据片,每个数据片传入一个Map,由Map对相应的数据片进行判断,如果数据片中对应的点在查询区域内,则进一步判断该点属于哪个子区域,对在查询区域内的点以(Key,Value)的输出格式进行输出,其中,
Key:为所在子区域的多边形定义;
Value:为点数据信息;
S2.4:使用Reduce把具有相同Key的点进行合并,以将在一个子区域的所有点合并到一个文件中。
在上述的点云数据存储、并行计算和实时检索的方法中,在步骤S3中,将Hadoop集群的点云数据导入至HBase数据库之前先采用GEOHASH算法将HBase数据库中的地图数据划分为若干小栅格,点云数据根据其地理位置信息存放至相应的小栅格内;
进行并行检索的方法包括:
S3.1:基于搜索区域生成该搜索区域覆盖的所有小栅格;
S3.2:计算步骤S3.1中获得的小栅格的GEOHASH码,从而生成待搜索区域的RowKey列表,使用RowKey列表获得候选行;
S3.3:对每个候选行中包含的点判断是否在搜索区域内,并返回在搜索区域中的点。
一种基于点云数据存储、并行计算和实时检索的方法的点云数据存储、并行计算和实时检索的系统,包括内置有Hadoop分布式架构的服务器和连接于服务器的客户端和激光雷达,所述的激光雷达包括有数据采集设备,所述的客户端包括输入模块和输出模块,所述的服务器包括数据存储器、程序存储器和运算器,其中,
数据采集设备,用于采集点云数据;
运算器,用于运行包括将点云数据按照地理位置划分为若干子区域数据的算术逻辑;
数据存储器,用于存储海量点云数据、运行算术逻辑时所需的数据和算术逻辑的运行结果,且地理位置临近的点保存在存储器中相近的磁盘空间中;
程序存储器,用于存储包括GEOHASH算法程序和Map Reduce计算程序的算术逻辑。
在上述的点云数据存储、并行计算和实时检索的系统中,所述的运算器包括多个计算节点,所述的每一个计算节点被配置为单独处理一个子区域数据。
在上述的点云数据存储、并行计算和实时检索的系统中,所述的数据存储器包括若干不同的数据节点,且每个数据节点对应有至少一个物理服务器,每份点云数据文件被写入到多个不同的数据节点中。
在上述的点云数据存储、并行计算和实时检索的系统中,所述的服务器还包括有通信模块,所述的通信模块连接于计算节点和/或数据节点。
在上述的点云数据存储、并行计算和实时检索的系统中,所述的服务器还连接有数据流接收模块,所述的数据流接收模块为二进制流数据格式,且用于不同编程语言间的进程通信。
本发明点云数据实时检索方法及其系统相较于现有技术具有以下优点:1.方法简单,实现了基于地理位置的数据分割、并行处理以及实时检索;2.通过基于Map Reduce的数据划分模块在Hadoop集群上实现对点云数据进行并行划分,从而缩短运行时间;3.划分后的多个子区域在不同的计算节点进行并行处理,提高处理效率;4、实现多种程序语言对Hadoop集群数据的访问;5、通过将地图划分为若干小栅格将地理位置临近的点云数据保存在相近的磁盘空间,提高检索效率;6、通过HBase Endpoint机制的空间数据检索方法进行并行检索,进一步保证了高效检索,同时使HBase支持空间实时检索功能。
附图说明
图1是本发明方法流程图;
图2是本发明数据存储框架图;
图3是本发明数据并行计算框架图;
图4是本发明数据划分方法流程图;
图5是本发明HBase数据库表结构;
图6是本发明检索方法流程图
图7是本发明的系统框图;
图8是本发明的Hadoop分布式架构的框架图。
附图标记:服务器1;数据存储器11;程序存储器12;运算器13;计算节点131;通信模块14;数据流接收模块15;数据节点111;客户端2;输入模块21;输出模块22;激光雷达3;数据采集设备31。
具体实施方式
以下采用本发明的优选实施例并结合附图,对本发明的技术方案作进一步的描述,但本发明并不限于这些实施例。
如图1所示,本发明点云数据存储、并行计算和实时检索的方法包括以下步骤:
如图2所示,S1:数据存储,包括从客户端2读取点云数据并将点云数据写入HadoopHDFS分布式文件系统中;
所属技术领域人员应当知道,Hadoop为一个分布式文件系统,Hadoop的框架通常具有以下两个设计:HDFS和MapReduce,其中,HDFS为海量的数据提供了存储,MapReduce为海量的数据提供了计算,而且,HDFS用于在Hadoop集群中存储大量的文件,能提供高吞吐量的数据访问,非常适合大规模数据集上的应用,MapReduce是一种编程模型,用于大规模数据集(大于1TB)的并行运算,Map:映射,Reduce:归约,MapReduce在本实施例中主要担任文件切分、任务调度和数据管理等功能。
其中,Hadoop集群同时有多个不同的数据节点111,在存储的过程中每份点云数据文件写入Hadoop集群中的多个不同的数据节点111(DataNode),且每个数据节点111对应有至少一个物理服务器,使不同的应用可以并行访问一份数据,且数据冗余可以保证数据的安全性。
如图3所示,步骤S2:数据并行计算,包括通过数据划分模块将点云数据按照地理位置划分为若干子区域数据后将每个子区域数据传入Hadoop集群的计算节点131以对点云数据进行信息抽取;
其中,在进行数据并行计算的过程中,还执行以下步骤:
通过通信模块14分发不同编程语言的代码到Hadoop集群的计算节点131用于信息提取;且不同编程语言包括Python编程语言、C++编程语言、Shell编程语言、java编程语言和Matlab编程语言中的任意一种或多种语言的组合。
这里的每个数据节点111可以同时运行多个Mapper(映射器),整个系统同时运行Mapper的个数取决于数据节点111的个数,以及每个数据节点111能同时运行Mapper的个数(由数据节点111总体资源量、Mapper占用的CPU、内存资源决定),对于一个Mapper运行过程包括:a、一个Hadoop Streaming数据流接收模块15用于不同编程语言之间的进程通信,使系统可以处理不受限制的数据格式,比如H5格式或TXT格式的数据,便于整个系统的扩展,该模块没有采用Hadoop Streaming默认的Text数据格式,而是二进制流数据格式,这样做的好处是Mapper可以处理不受限制的数据格式,比如H5格式或TXT格式的数据,使整个系统的扩展不受限制;b、接收的数据保存在Mapper所在数据节点的本地目录;c、通过通信模块14分发Matlab、C++程序或其他程序到数据节点111来处理接收到的数据,解决了现有技术无法实现Matlab对集群数据的访问的技术问题;d、处理完成的数据通过HDFS提供的数据上传接口传回HDFS文件系统。
如图4所示,在步骤S2中,数据划分模块为基于Map Reduce的数据划分模块,且数据划分模块的划分方法包括以下步骤:
S2.1:获取包括需要划分的区域和划分后子区域大小的划分请求,并根据划分请求计算请求区域和请求区域对应的子区域;划分请求中需要划分的区域以区域多边形顶点坐标的形式给出,划分请求和划分大小可以为:需要划分的区域:POLYGON((3975006949500,398000 6949500,398000 6950000,397500 6950000,397500 6949500)),划分猴子区域的大小500平方米,POLYGON:多边形,是一个计算机用语。
S2.2:根据点云数据文件名中包含的地理位置顶点坐标判断该区域是否和查询区域相交,若相交则选为候选文件,否则过滤该文件;
S2.3:使用Hadoop缺省的文本数据分片机制,把候选文件按行拆分为若干数据片,每个数据片传入一个Map,由Map对相应的数据片进行判断,如果数据片中对应的点在查询区域内,则进一步判断该点属于哪个子区域,对在查询区域内的点以(Key,Value)的输出格式进行输出,其中,
Key:为所在子区域的多边形定义,比如,POLYGON((397500 6949500,3980006949500,398000 6950000,397500 6950000,397500 6949500));
Value:为点数据信息;
S2.4:使用Reduce把具有相同Key的点进行合并,以将在一个子区域的所有点合并到一个文件中,该文件包含了子区域所有点的数据信息,生成的一个或多个文件保存处于Hadoop HDFS分布式文件系统中。
S3:数据实时检索,包括把Hadoop集群的点云数据导入至HBase数据库中,并基于检索条件采用HBase Endpoint机制的空间数据检索方法在Hbase Region Server中进行并行检索。
在步骤S3中,将Hadoop集群的点云数据导入至HBase数据库之前先采用GEOHASH算法将HBase数据库中的地图数据划分为若干小栅格,地图的每个小栅格的ID是一个唯一的字符串,下面以坐标(39.92324,116.3906)为例介绍一下GEOHASH的编码算法,首先将纬度范围(-90,90)平分成两个区间(-90,0)、(0,90),如果目标纬度位于前一个区间,则编码为0,否则编码为1。由于39.92324属于(0,90),所以取编码为1。然后再将(0,90)分成(0,45),(45,90)两个区间,而39.92324位于(0,45),所以编码为0。以此类推,直到精度符合要求为止,得到纬度编码为1011 1000 1100 0111 1001;用同样的方法得到经度编码。
该方法的特点是越相邻的小栅格,它们ID字符串会有更多位的公共前缀字符,利用前述的栅格ID生成规则,把Hadoop集群的数据导入HBase数据库中,HBase数据库表如图5所示,一行对应一个子区域,a、每行对应一个小区域(小栅格),RowKey(行键)为基于该区域的GEOHASH码;b、点云信息列簇,列簇中的一列保存一个点的信息。基于这种设计方法,地图上临近的保存在数据库相近的区域,可以提高检索效率。
进一步地,所属技术领域人员应当知道,hbase有两种辅助处理器,一种是Observer(观察者),类似于关系数据库的trigger(触发器),另外一种就是这里的EndPoint,类似于关系数据库的存储过程,如图6所示,采用HBase Endpoint机制的空间数据检索方法包括:S3.1:基于搜索区域生成该搜索区域覆盖的所有小栅格;
S3.2:计算步骤S3.1中获得的小栅格的GEOHASH码,从而生成待搜索区域的RowKey(行键)列表,使用RowKey列表获得候选行;
S3.3:对每个候选行中包含的点判断是否在搜索区域内,并返回在搜索区域中的点。
Region中保存有HBas数据的信息,RegionServer是HBase运行在每个工作节点上的服务器1,用于维护Region的状态,提供对于Region的管理和服务。
如图7所示,本实施例还公开了一种点云数据存储、并行计算和实时检索的系统,包括内置有Hadoop分布式架构的服务器1和连接于服务器1的客户端2和激光雷达3,激光雷达3包括有数据采集设备31,该数据采集设备31用于采集点云数据,客户端2包括输入模块21和输出模块22,输入模块21用于输入点云数据导入指令等,输出模块22用于输出检索结果等,服务器1包括数据存储器11、程序存储器12和运算器13,这里的运算器13用于运行包括将点云数据按照地理位置划分为若干子区域数据的算术逻辑;数据存储器11用于存储海量点云数据、运行算术逻辑时所需的数据和算术逻辑的运行结果,且地理位置临近的点保存在存储器中相近的磁盘空间内;程序存储器12用于存储包括GEOHASH算法程序和MapReduce计算程序的算术逻辑。
优选地,运算器13包括多个计算节点131,且每一个计算节点131被配置为单独处理一个子区域数据,提高并行处理的效率,数据存储器11包括若干不同的数据节点111,且每个数据节点111对应有至少一个物理服务器,每份点云数据文件被写入到多个不同的数据节点111中,以使不同的应用可以并行访问一份数据,同时保证数据的安全性。
进一步地,服务器1还包括有通信模块14,该通信模块14连接于计算节点131和/或数据节点111,通信模块14用于分发不同编程语言的代码到计算节点131和/或数据节点111,进一步地,服务器1还连接有数据流接收模块15,数据流接收模块15为二进制流数据格式,其用于不同编程语言间的进程通信。
具体地,如图8所示,本实施例的Hadoop分布式架构包括存储层和并行计算层,其中,并行计算层又包括点云数据实时检索模块和基于地理位置的信息并行提取模块,而基于地理位置的信息并行提取模块又包括有Marlab算法、C++算法、数据流接收模块和文件切分模块;存储层包括用于存储海量点云数据的HDFS文件系统。
本文中所描述的具体实施例仅仅是对本发明精神作举例说明。本发明所属技术领域的技术人员可以对所描述的具体实施例做各种各样的修改或补充或采用类似的方式替代,但并不会偏离本发明的精神或者超越所附权利要求书所定义的范围。
尽管本文较多地使用了服务器1;数据存储器11;程序存储器12;运算器13;计算节点131;通信模块14;数据流接收模块15;数据节点111;客户端2;输入模块21;输出模块22;激光雷达3;数据采集设备31等术语,但并不排除使用其它术语的可能性。使用这些术语仅仅是为了更方便地描述和解释本发明的本质;把它们解释成任何一种附加的限制都是与本发明精神相违背的。
Claims (9)
1.一种点云数据存储、并行计算和实时检索的方法,其特征在于,包括以下步骤:
S1:数据存储,包括从客户端(2)读取点云数据并将点云数据写入Hadoop HDFS分布式文件系统中;
S2:数据并行计算,包括通过数据划分模块将点云数据按照地理位置划分为若干子区域数据后将每个子区域数据传入Hadoop集群的计算节点(131)以对点云数据进行信息抽取;
S3:数据实时检索,包括,采用GEOHASH算法将HBase数据库中的地图数据划分为若干具有唯一ID字符串的小栅格,且越相邻的小栅格的ID字符串具有越多的公共前缀字符;点云数据根据其地理位置信息存放至相应的小栅格内;
利用前述的栅格ID生成规则,把Hadoop集群的点云数据导入至HBase数据库中,并基于检索条件采用HBase Endpoint机制的空间数据检索方法在Hbase Region Server中进行并行检索;
所述进行并行检索的方法包括:
S3.1:基于搜索区域生成该搜索区域覆盖的所有小栅格;
S3.2:计算步骤S3.1中获得的小栅格的GEOHASH码,从而生成待搜索区域的RowKey列表,使用RowKey列表获得候选行;
S3.3:对每个候选行中包含的点判断是否在搜索区域内,并返回在搜索区域中的点。
2.根据权利要求1所述的点云数据存储、并行计算和实时检索的方法,其特征在于,在步骤S1中,每份点云数据文件写入Hadoop集群中的多个不同的数据节点(111),且每个数据节点(111)对应有至少一个物理服务器。
3.根据权利要求1所述的点云数据存储、并行计算和实时检索的方法,其特征在于,在步骤S2中,在进行数据并行计算的过程中,还执行以下步骤:
通过通信模块(14)分发不同编程语言的代码到Hadoop集群的计算节点(131)用于信息提取;
所述的不同编程语言包括Python编程语言、C++编程语言、Shell编程语言、java编程语言和Matlab编程语言中的任意一种或多种语言的组合;且不同编程语言之间的进程通过采用二进制流数据格式的数据流接收模块(15)进行通信。
4.根据权利要求1所述的点云数据存储、并行计算和实时检索的方法,其特征在于,在步骤S2中,所述的数据划分模块为基于Map Reduce的数据划分模块,且数据划分模块的划分方法包括以下步骤:
S2.1:获取包括需要划分的区域和划分后子区域大小的划分请求,并根据划分请求计算请求区域和请求区域对应的子区域;
S2.2:根据点云数据文件名中包含的地理区域顶点坐标判断该区域是否和查询区域相交,若相交则选为候选文件,否则过滤该文件;
S2.3:使用Hadoop缺省的文本数据分片机制,把候选文件按行拆分为若干数据片,每个数据片传入一个Map,由Map对相应的数据片进行判断,如果数据片中对应的点在查询区域内,则进一步判断该点属于哪个子区域,对在查询区域内的点以(Key,Value)的输出格式进行输出,其中,
Key:为所在子区域的多边形定义;
Value:为点数据信息;
S2.4:使用Reduce把具有相同Key的点进行合并,以将在一个子区域的所有点合并到一个文件中。
5.一种基于权利要求1-4任意一项所述的点云数据存储、并行计算和实时检索的方法的点云数据存储、并行计算和实时检索的系统,其特征在于,包括内置有Hadoop分布式架构的服务器(1)和连接于服务器(1)的客户端(2)和激光雷达(3),所述的激光雷达(3)包括有数据采集设备(31),所述的客户端(2)包括输入模块(21)和输出模块(22),所述的服务器(1)包括数据存储器(11)、程序存储器(12)和运算器(13),其中,
数据采集设备(31),用于采集点云数据;
运算器(13),用于运行包括将点云数据按照地理位置划分为若干子区域数据的算术逻辑;
数据存储器(11),用于存储海量点云数据、运行算术逻辑时所需的数据和算术逻辑的运行结果,且地理位置临近的点保存在存储器中相近的磁盘空间中;
程序存储器(12),用于存储包括GEOHASH算法程序和Map Reduce计算程序的算术逻辑。
6.根据权利要求5所述的点云数据存储、并行计算和实时检索的系统,其特征在于,所述的运算器(13)包括多个计算节点(131),所述的每一个计算节点(131)被配置为单独处理一个子区域数据。
7.根据权利要求6任意一项所述的点云数据存储、并行计算和实时检索的系统,其特征在于,所述的数据存储器(11)包括若干不同的数据节点(111),且每个数据节点(111)对应有至少一个物理服务器,每份点云数据文件被写入到多个不同的数据节点(111)中。
8.根据权利要求7所述的点云数据存储、并行计算和实时检索的系统,其特征在于,所述的服务器(1)还包括有通信模块(14),所述的通信模块连接于计算节点(131)和/或数据节点(111)。
9.根据权利要求8所述的点云数据存储、并行计算和实时检索的系统,其特征在于,所述的服务器(1)还连接有数据流接收模块(15),所述的数据流接收模块(15)为二进制流数据格式,且用于不同编程语言间的进程通信。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710859626.1A CN107515952B (zh) | 2017-09-21 | 2017-09-21 | 点云数据存储、并行计算和实时检索的方法及其系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710859626.1A CN107515952B (zh) | 2017-09-21 | 2017-09-21 | 点云数据存储、并行计算和实时检索的方法及其系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107515952A CN107515952A (zh) | 2017-12-26 |
CN107515952B true CN107515952B (zh) | 2023-10-27 |
Family
ID=60726296
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710859626.1A Active CN107515952B (zh) | 2017-09-21 | 2017-09-21 | 点云数据存储、并行计算和实时检索的方法及其系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107515952B (zh) |
Families Citing this family (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108195855B (zh) * | 2017-12-27 | 2023-11-03 | 同方威视技术股份有限公司 | 安全检查系统及其方法 |
CN108804781B (zh) * | 2018-05-25 | 2022-06-14 | 武汉大学 | 流计算与传感网集成的地理过程近实时模拟方法 |
CN110909186B (zh) * | 2018-09-14 | 2023-08-22 | 中国科学院上海高等研究院 | 高光谱遥感数据存储、检索方法及系统、存储介质及终端 |
CN109783465B (zh) * | 2018-12-25 | 2023-09-08 | 吉林动画学院 | 一种云计算框架下海量三维模型集成系统 |
CN109710572B (zh) * | 2018-12-29 | 2021-02-02 | 北京赛思信安技术股份有限公司 | 一种基于HBase的文件分片方法 |
CN111782348B (zh) * | 2019-04-04 | 2024-09-20 | 北京沃东天骏信息技术有限公司 | 应用程序的处理方法、装置、系统和计算机可读存储介质 |
CN111797174A (zh) * | 2019-04-08 | 2020-10-20 | 华为技术有限公司 | 管理时空数据的方法和装置 |
CN110160539A (zh) * | 2019-05-28 | 2019-08-23 | 北京百度网讯科技有限公司 | 地图匹配方法、装置、计算设备和介质 |
CN110928878A (zh) * | 2019-11-19 | 2020-03-27 | 国网通用航空有限公司 | 基于hdfs的点云数据处理方法及装置 |
CN111597287B (zh) * | 2020-05-15 | 2023-09-29 | 阿波罗智能技术(北京)有限公司 | 地图生成方法、装置及设备 |
CN111693822B (zh) * | 2020-06-23 | 2022-04-12 | 西安重冶电控科技有限公司 | 一种基于云平台的电气设备线路故障检测系统 |
CN113553342A (zh) * | 2021-06-08 | 2021-10-26 | 深圳市综合交通设计研究院有限公司 | 一种高精度地图数据处理与结构化存储管理系统 |
CN115756841B (zh) * | 2022-11-15 | 2023-07-11 | 重庆数字城市科技有限公司 | 一种基于并行处理高效数据生成系统及方法 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102306180A (zh) * | 2011-08-29 | 2012-01-04 | 北京建筑工程学院 | 一种基于海量激光雷达栅格点云数据的建模方法 |
CN102567391A (zh) * | 2010-12-20 | 2012-07-11 | 中国移动通信集团广东有限公司 | 一种分类预测混合模型的建立方法及装置 |
CN103678520A (zh) * | 2013-11-29 | 2014-03-26 | 中国科学院计算技术研究所 | 一种基于云计算的多维区间查询方法及其系统 |
CN104376053A (zh) * | 2014-11-04 | 2015-02-25 | 南京信息工程大学 | 一种基于海量气象数据的存储与检索方法 |
CN106133756A (zh) * | 2014-03-27 | 2016-11-16 | 赫尔实验室有限公司 | 用于过滤、分割并且识别无约束环境中的对象的系统 |
CN106600570A (zh) * | 2016-12-07 | 2017-04-26 | 西南科技大学 | 一种基于云计算的海量点云滤波方法 |
CN106909644A (zh) * | 2017-02-21 | 2017-06-30 | 中国科学院电子学研究所 | 一种面向海量遥感影像的多级组织和索引方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9390556B2 (en) * | 2013-03-15 | 2016-07-12 | Teledyne Caris, Inc. | Systems and methods for generating a large scale polygonal mesh |
-
2017
- 2017-09-21 CN CN201710859626.1A patent/CN107515952B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102567391A (zh) * | 2010-12-20 | 2012-07-11 | 中国移动通信集团广东有限公司 | 一种分类预测混合模型的建立方法及装置 |
CN102306180A (zh) * | 2011-08-29 | 2012-01-04 | 北京建筑工程学院 | 一种基于海量激光雷达栅格点云数据的建模方法 |
CN103678520A (zh) * | 2013-11-29 | 2014-03-26 | 中国科学院计算技术研究所 | 一种基于云计算的多维区间查询方法及其系统 |
CN106133756A (zh) * | 2014-03-27 | 2016-11-16 | 赫尔实验室有限公司 | 用于过滤、分割并且识别无约束环境中的对象的系统 |
CN104376053A (zh) * | 2014-11-04 | 2015-02-25 | 南京信息工程大学 | 一种基于海量气象数据的存储与检索方法 |
CN106600570A (zh) * | 2016-12-07 | 2017-04-26 | 西南科技大学 | 一种基于云计算的海量点云滤波方法 |
CN106909644A (zh) * | 2017-02-21 | 2017-06-30 | 中国科学院电子学研究所 | 一种面向海量遥感影像的多级组织和索引方法 |
Non-Patent Citations (3)
Title |
---|
DGFIndex for smart grid: enhancing hive with a cost-effective multidimensional range index;Yue Liu 等;《PVLDB》;1496-1507 * |
Kalpa Gunaratna et al.A Study in Hadoop Streaming with Matlab for NMR Data Processing.《2010 IEEE Second International Conference on Cloud Computing Technology and Science》.2010,第786-789页. * |
八叉树索引的三维点云数据压缩算法;姚顽强 等;《测绘科学》;18-22 * |
Also Published As
Publication number | Publication date |
---|---|
CN107515952A (zh) | 2017-12-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107515952B (zh) | 点云数据存储、并行计算和实时检索的方法及其系统 | |
US10372705B2 (en) | Parallel querying of adjustable resolution geospatial database | |
CN112115198B (zh) | 一种城市遥感智能服务平台 | |
Wang et al. | Research and implementation on spatial data storage and operation based on Hadoop platform | |
US10262392B2 (en) | Distributed and parallelized visualization framework | |
US11210268B2 (en) | Scalable space-time density data fusion | |
CN108959352A (zh) | 基于时间和空间数据模型的时空数据处理平台及处理方法 | |
CN104809242A (zh) | 一种基于分布式结构的大数据聚类方法和装置 | |
CN104809244A (zh) | 一种大数据环境下的数据挖掘方法和装置 | |
Shi et al. | Deriving a minimum set of viewpoints for maximum coverage over any given digital elevation model data | |
CN104301354B (zh) | 一种基于云计算的空间类业务数据gis化服务的实现方法和系统 | |
Stojanovic et al. | High–performance computing in GIS: Techniques and applications | |
CN107679127A (zh) | 基于地理位置的点云信息并行提取方法及其系统 | |
Yang et al. | An efficient storage and service method for multi-source merging meteorological big data in cloud environment | |
Nguyen et al. | B-EagleV: visualization of big point cloud datasets in civil engineering using a distributed computing solution | |
Yan et al. | An improved coverage-oriented retrieval algorithm for large-area remote sensing data | |
Pektürk et al. | Performance-aware high-performance computing for remote sensing big data analytics | |
Rueda-Ruiz et al. | SPSLiDAR: towards a multi-purpose repository for large scale LiDAR datasets | |
CN107679126A (zh) | 激光三维点云数据存储和管理方法及其系统 | |
Tripathi et al. | A comparative analysis of conventional hadoop with proposed cloud enabled hadoop framework for spatial big data processing | |
Zhizhin et al. | Transparent data cube for spatiotemporal data mining and visualization | |
Rizki et al. | Spark-based in-memory DEM creation from 3D LiDAR point clouds | |
Yao et al. | LandQ v1: A GIS cluster-based management information system for arable land quality big data | |
Guo et al. | An Effective tile caching mechanism of UAV remote sensing map based on hilbert coding index | |
Warushavithana et al. | A framework for profiling spatial variability in the performance of classification models |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |