A method for managing massive point cloud data
Through technical means such as LOD slicing, category management, permission control, tile indexing and large file storage, massive point cloud data are efficiently managed and screened, solving the problem of low loading and rendering efficiency of massive point cloud data in the existing technology, and achieving the effect of efficient query, rendering and multifunction integration.
Patent Information
- Application Number
- CN202111412449.5
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2021-11-25
- Publication Date
- 2025-07-01
- Estimated Expiration
- 2041-11-25
AI Technical Summary
The existing technology is difficult to efficiently load, render and manage massive point cloud data, and lacks customized and multifunctional integration.
Technical means such as LOD slicing, category management, permission control, tile indexing and large file storage are used to efficiently manage and filter massive point cloud data. The specific steps include LOD slices of point cloud data, unified assignment of point cloud categories and colors, setting permissions based on the operation and maintenance management unit, establishing tile indexes, and storing the data in large files.
It realizes efficient query, rendering and loading of massive point cloud data, supports loading requests for different point cloud types, supports custom colors and comparison and loading display of different data versions, supports data management permission control of different users, and realizes customized and multifunctional integration.
Smart Images

Figure CN114116721B_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to the technical field of point cloud data processing, and more specifically, to a method for managing a large amount of point cloud data. Background Art
[0002] Point cloud data refers to a set of vectors in a three-dimensional coordinate system, including various information such as position, orientation / angle, distance, time, intensity, etc. The same planar coordinates of point cloud data can correspond to several different elevation values, which is conducive to representing detailed information and terrain / features with drastic changes. Point cloud data has measurability, and three-dimensional coordinates, distance, azimuth angle, surface normal vector can be directly obtained on the point cloud, and the surface area, volume, etc. of the target expressed by the point cloud can also be calculated.
[0003] With the gradual maturity of lidar technology, the three-dimensional model made by three-dimensional lidar technology has high accuracy, wide application range, less fieldwork, and saves time and effort. It plays an important role in building outline extraction, feature point detection, and three-dimensional reconstruction. And combined with oblique photography technology, feature extraction is more convenient and the degree of data visualization is higher. Point cloud data is applicable to various aspects such as resource exploration, urban planning, agricultural development, water conservancy projects, environmental monitoring, mine surveying, tunnel surveying, highway road surveying, cable monitoring, and deep-sea ocean surveying. However, in the face of a large amount of discrete point cloud data, there is currently no good solution for its efficient rendering and loading, lacking customization and multi-functional integration.
[0004] Therefore, how to efficiently load a large amount of point cloud data according to categories, regions, and versions is an urgent problem to be solved in various industry applications. Summary of the Invention
[0005] In view of this, the present invention provides a method for managing a large amount of point cloud data, which can efficiently manage, screen, and display a large amount of point cloud data according to specified point cloud categories, permission regions, and data versions.
[0006] To achieve the above object, the present invention adopts the following technical solutions:
[0007] A method for managing a large amount of point cloud data, comprising the following steps:
[0008] Performing LOD slicing on the point cloud data to be processed;
[0009] Uniformly assigning the category and corresponding color RGB of the point cloud data in each tile;
[0010] According to the operation and maintenance management unit information of the point cloud data, assigning corresponding viewing and editing permissions to each tile;
[0011] Build index information for each tile and store the index information in the form of a database table;
[0012] Divide the point cloud data of the same area and the same version according to tiles and store them in several files not less than 30M.
[0013] As can be seen from the above technical solutions, compared with the prior art, the present invention discloses a method for managing massive point cloud data. Through the processing of 5 steps including inputting point cloud las data, point cloud category correspondence table (supporting unified management and configuration of different data sources), point cloud management permission information (supporting unified management of regions and data versions), LOD slicing, category management, permission control, tile indexing, and large file storage, the processing results consist of tile indexes in the database table and hash file point cloud slice data, supporting efficient query, rendering and loading of massive point cloud data, supporting loading requests for different types of point cloud data, supporting customizing the RGB values of the color of point clouds, supporting comparison and loading display of different data versions, and supporting different data management permissions for different users. It efficiently manages, filters, and displays massive point cloud data, realizing the integration of customization and multi-functionality.
[0014] Further, in the above method for managing massive point cloud data, the LOD slicing of the point cloud data to be processed includes:
[0015] Extract a certain number of points from the point cloud data to be processed, calculate the bounding box of the selected points and the center point coordinates of the bounding box, and calculate the average distance from all points to the center point;
[0016] Compare the proximity between the average distance value and the resolutions at each zoom level, and use the zoom level corresponding to the resolution closest to the average distance as the maximum zoom level of the point cloud data to be processed;
[0017] Chunk the point cloud data to different extents according to the maximum zoom level, and determine the data range corresponding to each tile to be sliced;
[0018] According to the data range corresponding to the tiles to be sliced obtained and the set non-slicing types, obtain the point cloud data that needs to be sliced and processed within each tile.
[0019] Further, in the above method for managing massive point cloud data, the chunking of the point cloud data to different extents according to the maximum zoom level includes:
[0020] If the maximum zoom level is between 0 and 8, perform quadtree chunking on the point cloud data according to global longitude and latitude; if the maximum zoom level is greater than 8, perform octree chunking on the basis of the tiles at the 8th zoom level.
[0021] After quadtree block processing or octree block processing, the zoom level and row and column numbers to which each tile belongs are obtained;
[0022] Name the tiles according to the zoom level and row and column numbers to obtain a unique tile number corresponding to each tile.
[0023] Furthermore, in the above method for managing a large amount of point cloud data, the relationship between the zoom level and the resolution is shown by the following formula:
[0024] r n = 360 / 2 ^ (n + 1) * r / 256;
[0025] Where n represents the level; r n is the tile resolution corresponding to the nth zoom level; r is the radius of the earth, in meters.
[0026] Furthermore, in the above method for managing a large amount of point cloud data, the calculation formula for the row and column numbers of each tile is as follows:
[0027] c xy = (int)(x + 180) / r n ;
[0028] r xy = (int)(y + 90) / r n ;
[0029] Where x and y represent the tile coordinates; c xy is the column number where the tile is located; r xy is the row number where the tile is located.
[0030] Furthermore, in the above method for managing a large amount of point cloud data, the non - slicing type is set according to requirements, and its types at least include noise points or ground points.
[0031] Furthermore, in the above method for managing a large amount of point cloud data, the index information of the tile includes: unique encoding, tile number, data version number, operation and maintenance management unit encoding, tile file path name, and data storage offset value. BRIEF DESCRIPTION OF THE DRAWINGS
[0032] In order to more clearly illustrate the technical solutions in the embodiments of the present invention or the prior art, the following will briefly introduce the drawings required for use in the description of the embodiments or the prior art. Obviously, the drawings in the following description are only the embodiments of the present invention. For those of ordinary skill in the art, without creative efforts, other drawings can also be obtained according to the provided drawings.
[0033] Figure 1 The attached drawing is a flowchart of the method for managing a large amount of point cloud data provided by the present invention. Detailed implementation manners
[0034] Next, the technical solutions in the embodiments of the present invention will be clearly and completely described in conjunction with the accompanying drawings in the embodiments of the present invention. Obviously, the described embodiments are only a part of the embodiments of the present invention, rather than all the embodiments. All other embodiments obtained by those of ordinary skill in the art based on the embodiments of the present invention without creative efforts shall fall within the protection scope of the present invention.
[0035] As Figure 1 shown, an embodiment of the present invention discloses a method for managing a large amount of point cloud data, including the following steps:
[0036] S1. Perform LOD slicing on the point cloud data to be processed;
[0037] S2. Uniformly assign the category and corresponding color RGB of the point cloud data in each tile;
[0038] S3. Assign corresponding viewing and editing permissions to each tile according to the operation and maintenance management unit information of the point cloud data;
[0039] S4. Establish index information for each tile and store the index information in the form of a database table;
[0040] S5. Divide the point cloud data of the same area and the same version according to tiles and store them in several files not less than 30M.
[0041] Next, the above steps will be described in detail.
[0042] S1. LOD slicing.
[0043] Perform vertical thinning classification and horizontal tile division on the point cloud data in the input LAS file. Specifically as follows:
[0044] S11. Extract a certain number of points from the point cloud data to be processed, calculate the bounding box of the selected points and the center point coordinates of the bounding box, and calculate the average distance from all points to the center point. For the selection of the number of data points of the point cloud data, it can be 100,000 or 50,000. In this embodiment, 50,000 points are selected.
[0045] S12. Compare the proximity between the average distance value and the resolutions at each zoom level, and use the zoom level corresponding to the resolution closest to the average distance as the maximum zoom level of the point cloud data to be processed.
[0046] Each zoom level corresponds to a resolution. If the average distance is closest to the resolution at a certain zoom level, it is determined that the point cloud data belongs to that zoom level.
[0047] When dividing tiles: The globe at level 0 is divided into 2 tiles, with a tile size of 180° * 180°. The radius of a level 1 tile is half of that of level 0, with a tile size of 90° * 90°. The radius of a level 2 tile is half of that of level 2, with a tile size of 45° * 45°...... and so on. The corresponding relationship between the tile zoom level and the resolution is shown by the following formula:
[0048] r n = 360 / 2 ^ (n + 1) * r / 256;
[0049] Among them, n represents the level; r n is the tile resolution corresponding to level n; r is the radius of the earth, in meters. The calculation formula for the row and column numbers of a certain tile coordinate point (x, y) in the tile at level n is as follows:
[0050] c xy = (int)(x + 180) / r n ;
[0051] r xy = (int)(y + 90) / r n ;
[0052] Among them, c xy is the column number where the xy point is located; r xy is the row number where the xy point is located.
[0053] S13. Perform different degrees of block division on the point cloud data according to the maximum zoom level, and determine the data range corresponding to each tile to be cut.
[0054] If the maximum zoom level is between 0 - 8 levels, perform quadtree block division on the point cloud data according to the global longitude and latitude; if the maximum zoom level is greater than 8 levels, perform octree block division on the basis of the tiles at the 8 - level zoom level;
[0055] After quadtree block division or octree block division, obtain the zoom level and row and column numbers of each tile;
[0056] Name the tiles according to the zoom level and row and column numbers to obtain a unique tile number corresponding to each tile.
[0057] S14. According to the data range corresponding to the tiles to be cut obtained and the set non - slicing types, obtain the point cloud data that needs to be sliced in each tile.
[0058] When performing point cloud slicing, the categories of non - slicing can be set as needed, such as categories like noise points, ground points, other points, etc. Here, it can be customized according to different user requirements.
[0059] S2. Category management: Uniformly set point cloud category values and corresponding color RGB values to facilitate unified management of different source data and subsequent data loading and display.
[0060] According to the point cloud category correspondence table, the point cloud data in the tile is uniformly assigned categories and color RGB values to obtain point cloud tile data. Unified assignment facilitates unified management of point cloud data from different sources. When the subsequent data is loaded and displayed, point cloud data can also be filtered and selected according to the category value, supporting flexible configuration of categories and colors when loading and displaying data.
[0061] S3. Permission management: Based on the operation and maintenance management unit information of the point cloud data, the tile data is controlled by permissions, and the data can be browsed, managed and operated according to permissions.
[0062] Different users have different viewing and editing permissions for point cloud data. Different operation and maintenance management units are identified for each tile. Users can associate operation and maintenance units to achieve different management permission control for the same tile data.
[0063] S4, tile index: establish tile index and store index information in database table to support efficient and fast query retrieval and positioning of point cloud tile data.
[0064] Tile index information includes unique code, tile number (consisting of level, row number, column number), data version number, operation and maintenance management unit code, tile file path name, and data storage offset value. The index information is stored in the form of a database table to facilitate fast query, positioning, and acquisition of tile data.
[0065] S5. Large file storage: Point cloud data of the same version in the same area are divided into tiles and stored in several large files to avoid frequent IO (Input / Output) operations.
[0066] Tile data is stored in several large files (no more than 30MB) to avoid frequent IO read operations caused by small files and improve the efficiency of data file reading. When loading and displaying data, the background tile data is read as needed. If each tile is stored in a separate small file, the data content of the small file will be frequently requested when displaying the data, resulting in frequent IO read operations. If the required data is placed in a large file, the frequent file reading and transmission is reduced.
[0067] When a point cloud data loading request is made, the tile data level, row number, and column number are calculated according to the data range to obtain the tile number. Combined with the user's permissions and the selected data version, the tile data file is queried through the database table, and the compressed point cloud tile data is dynamically generated according to the user's selected point cloud data type and the configured point cloud RGB value.
[0068] In the embodiments of the present invention, in view of the need for efficient loading of massive point cloud data, a combination of multiple methods such as LOD slicing, category management, permission control, tile indexing, and large file storage is adopted to achieve efficient rendering of massive point cloud data, supporting users to efficiently manage, filter, and display massive point cloud data according to point cloud categories, permission areas, and data versions, and having good applicability in multi-functional integration.
[0069] The various embodiments in this specification are described in a progressive manner. Each embodiment focuses on the differences from other embodiments. For the same or similar parts among the various embodiments, reference can be made to each other. For the devices disclosed in the embodiments, since they correspond to the methods disclosed in the embodiments, the description is relatively simple, and reference can be made to the description in the method part for the relevant parts.
[0070] The above description of the disclosed embodiments enables those skilled in the art to implement or use the present invention. Various modifications to these embodiments will be obvious to those skilled in the art. The general principles defined herein can be implemented in other embodiments without departing from the spirit or scope of the present invention. Therefore, the present invention will not be limited to these embodiments shown herein, but will be accorded the widest scope consistent with the principles and novel features disclosed herein.
Claims
1. A method for managing massive point cloud data, characterized in that, It includes the following steps: Perform LOD slicing on the point cloud data to be processed; Uniformly assign the category and corresponding color RGB of the point cloud data in each tile; According to the operation and maintenance management unit information of the point cloud data, assign corresponding viewing and editing permissions to each tile; Establish index information for each tile and store the index information in the form of a database table; Divide the point cloud data of the same area and the same version according to tiles and store them in several files not less than 30M; The performing LOD slicing on the point cloud data to be processed includes: Extract a certain number of points from the point cloud data to be processed, calculate the bounding box of the selected points and the center point coordinates of the bounding box, and calculate the average distance from all points to the center point; Compare the proximity between the average distance value and the resolution at each zoom level, and use the zoom level corresponding to the resolution closest to the average distance as the maximum zoom level of the point cloud data to be processed; Perform different degrees of block division on the point cloud data according to the maximum zoom level, and determine the data range corresponding to each tile to be sliced; According to the data range corresponding to the tiles to be sliced obtained and the set non-slicing types, obtain the point cloud data that needs to be sliced in each tile; The relationship between the zoom level and the resolution is shown in the following formula: r n =360 / 2^(n+1)*r / 256; where n represents the level; r n is the tile resolution corresponding to the n-level zoom level; r is the radius of the earth, in meters.
2. The method for managing a large amount of point cloud data according to claim 1, wherein The performing different degrees of block division on the point cloud data according to the maximum zoom level includes: If the maximum zoom level is between 0 and 8 levels, perform quadtree block division on the point cloud data according to the global longitude and latitude; if the maximum zoom level is greater than 8 levels, perform octree block division on the basis of the tiles at the 8th zoom level; After quadtree block division or octree block division, obtain the zoom level and row and column numbers to which each tile belongs; Name the tiles according to the zoom level and row and column numbers to obtain a unique tile number corresponding to each tile.
3. A method for managing a large amount of point cloud data according to claim 1, characterized in that, The calculation formula for the row and column numbers of each tile is as follows: c xy =(int)(x + 180) / r n ; r xy =(int)(y + 90) / r n ; Among them, x and y represent tile coordinates; c xy is the column number where the tile is located; r xy is the row number where the tile is located.
4. A method for managing a large amount of point cloud data according to claim 1, characterized in that The non-slicing types are set according to requirements, and the types at least include noise points or ground points.
5. A method for managing a large amount of point cloud data according to claim 1, characterized in that, The index information of the tile includes: unique code, tile number, data version number, operation and maintenance management unit code, tile file path name, and data storage offset value.
Citation Information
Patent Citations
Three-dimensional point cloud compression storage method and system based on spatial-temporal data fusion
CN108009979A
Global index-based point cloud slice processing method
CN112907752A