Point cloud data access method, device, storage medium and electronic device

By building a distribution coordinate system and dividing access levels in point cloud data processing, the problem of low access efficiency of large-scale point cloud data in traditional technology is solved, and the convenience and efficiency of users' rapid positioning and accessing data is achieved.

CN119271678BActive Publication Date: 2025-03-21ZHEJIANG LAB

Patent Information

Application Number
CN202411802722.9
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2024-12-09
Publication Date
2025-03-21
Estimated Expiration
2044-12-09

AI Technical Summary

Technical Problem

Traditional point cloud data processing and visualization technologies are difficult to meet users' access needs when facing large-scale data, resulting in high latency and slow response, which in turn affects users' fast positioning and accessing required data.

Method used

By obtaining data from the preset point cloud warehouse and building a distribution coordinate system based on point cloud properties, the access level is determined from large to small according to the region division scale, the distribution area is divided for each level and stored, and the target level is determined in response to user selection operations to quickly locate data.

Benefits of technology

It improves users' access efficiency to large-scale point cloud data. Through hierarchical division and distributed regional storage, users can quickly locate and access required data, significantly improving access convenience and efficiency.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119271678B_ABST
    Figure CN119271678B_ABST
Patent Text Reader

Abstract

This specification discloses a method, device, storage medium and electronic device for accessing point cloud data. The method includes: acquiring point cloud data from a preset point cloud warehouse, and constructing a distribution coordinate system of point cloud data based on at least two attribute dimensions; determining a number of access levels in order of area division scales from large to small; for each access level, determining the distribution areas corresponding to each point cloud data under the access level in the distribution coordinate system according to the attribute values ​​of each point cloud data under each attribute dimension and the area division scale corresponding to the access level, and storing each point cloud data; in response to the selection operation performed by the user on the access level, determining the target access level, and determining the point cloud data that the user needs to access in each point cloud distribution area under the target access level. This solution effectively improves the convenience and access efficiency of users accessing point cloud data.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to the field of computer technology, and in particular to a method, device, storage medium and electronic device for accessing point cloud data. Background Art

[0002] With the rapid development of big data and cloud computing technologies, the scale and complexity of data are increasing. Point cloud data is a data set consisting of a large number of points, each of which corresponds to location information and other attribute information such as density, intensity, quality, etc. The visualization of point cloud data can provide intuitive data support for scientific research.

[0003] However, traditional point cloud data processing and visualization technologies face huge challenges. As the amount of data increases, traditional data storage and management methods are unable to meet users' access needs in terms of performance. Especially when users access large-scale point cloud data, problems such as high latency and slow response often occur, making it difficult for users to quickly locate the point cloud data they need to access, resulting in low access efficiency.

[0004] Therefore, how to improve the access efficiency of users when accessing large-scale point cloud data is an urgent problem to be solved. Summary of the invention

[0005] This specification provides a method, device, storage medium and electronic device for accessing point cloud data to partially solve the above-mentioned problems existing in the prior art.

[0006] This manual adopts the following technical solutions:

[0007] This manual provides a method for accessing point cloud data, including:

[0008] Acquire point cloud data from a preset point cloud warehouse, and construct a distribution coordinate system of the point cloud data in the at least two attribute dimensions corresponding to the point cloud attributes contained in the point cloud data;

[0009] Determine different access levels to point cloud data in descending order of regional division scales;

[0010] For each access level, according to the attribute values ​​of each point cloud data in the at least two attribute dimensions and the regional division scale corresponding to the access level, the distribution areas corresponding to the each point cloud data at the access level are determined in the distribution coordinate system, wherein each distribution area at the access level contains a number of distribution areas at the next access level;

[0011] Based on each distribution area under each access level, storing each point cloud data;

[0012] In response to a selection operation performed by a user on an access level, a target access level is determined, and point cloud data that the user needs to access is determined in each point cloud distribution area under the target access level.

[0013] Optionally, based on each distribution area under each access level, the point cloud data are stored, specifically including:

[0014] For each distribution area, determine the distribution areas under the next access level contained in the distribution area as the areas to be sampled, and determine the data sampling ratio corresponding to the distribution area according to the area division scale corresponding to the access level and the area division scale corresponding to the next access level;

[0015] According to the sampling ratio, point cloud data is collected from the area to be sampled, and the collected point cloud data is stored in at least one data table corresponding to the distribution area.

[0016] Optionally, for each data table, a specified number of point cloud data are stored in the data table;

[0017] According to the sampling ratio, collecting point cloud data from the area to be sampled, and storing the collected point cloud data in at least one data table corresponding to the distribution area, specifically including:

[0018] Determining whether the amount of collected point cloud data is greater than the specified amount;

[0019] If so, the point cloud data greater than the specified number is stored in another data table.

[0020] Optionally, in response to the user selecting an access level, determining a target access level specifically includes:

[0021] In response to a click operation performed by the user on a zoom / unzoom button, determining a hierarchical zoom action;

[0022] According to the hierarchical zoom action, the current access level is updated to obtain the target access level, wherein if the hierarchical zoom action is a zoom-out action, the upper access level of the current access level is used as the target access level, and if the hierarchical zoom action is a zoom-in action, the lower access level of the current access level is used as the target access level.

[0023] Optionally, in response to the user selecting an access level, determining a target access level specifically includes:

[0024] In response to a scrolling operation performed by the user on the zoom wheel, determining a zoom factor of the access level;

[0025] According to the zoom ratio, the current access level is updated to obtain the target access level.

[0026] Optionally, determining and returning the point cloud data that the user needs to access in each point cloud distribution area under the target access level specifically includes:

[0027] In response to a translation operation performed by the user at the target access level, determining a visible range within the target access level;

[0028] The point cloud data that the user needs to access is determined in each point cloud distribution area within the visible range.

[0029] Optionally, the method further comprises:

[0030] The determined point cloud data that the user needs to access is sent to the client, so that the client renders the received point cloud data to obtain a data chart, and displays the data chart.

[0031] This specification provides a device for accessing point cloud data, including:

[0032] An acquisition module, used to acquire point cloud data from a preset point cloud warehouse, and construct a distribution coordinate system of the point cloud data in the at least two attribute dimensions corresponding to the point cloud attributes contained in the point cloud data;

[0033] Determine the modules and determine the different access levels to the point cloud data in the order of regional division scale from large to small;

[0034] A partitioning module, for determining, for each access level, in the distribution coordinate system, the distribution areas corresponding to the point cloud data at the access level according to the attribute values ​​of the point cloud data at the at least two attribute dimensions and the area partitioning scale corresponding to the access level, wherein each distribution area at the access level includes a plurality of distribution areas at the next access level;

[0035] A storage module, used for storing each point cloud data based on each distribution area under each access level;

[0036] The access module is used to determine a target access level in response to a selection operation performed by a user on an access level, and to determine point cloud data that the user needs to access in each point cloud distribution area under the target access level.

[0037] This specification provides a computer-readable storage medium, which stores a computer program. When the computer program is executed by a processor, the above-mentioned point cloud data access method is implemented.

[0038] This specification provides an electronic device, including a memory, a processor, and a computer program stored in the memory and executable on the processor, wherein the processor implements the above-mentioned method for accessing point cloud data when executing the program.

[0039] At least one of the above technical solutions adopted in this specification can achieve the following beneficial effects:

[0040] In the point cloud data access method provided in the present specification, point cloud data is obtained from a preset point cloud warehouse, and a distribution coordinate system of the point cloud data is constructed based on each attribute dimension; a number of access levels are determined in order of area division scales from large to small; for each access level, the distribution areas corresponding to each point cloud data under the access level are determined in the distribution coordinate system according to the attribute values ​​of each point cloud data under each attribute dimension and the area division scale corresponding to the access level, and each point cloud data is stored; in response to the selection operation performed by the user on the access level, the target access level is determined, and the point cloud data that the user needs to access is determined in each point cloud distribution area under the target access level.

[0041] From the above method, it can be seen that this solution can divide regions of different scales in the distribution coordinate system under at least two attribute dimensions based on different access levels and store point cloud data, so that the number of storage areas increases with the access level, and the data granularity also increases accordingly. In this way, the user can determine the scale of the distribution area by selecting the access level, and then quickly and accurately locate the area to be accessed and access the point cloud data in the selected access level. Compared with the method in which the user directly searches for the target point cloud data in the massive point cloud data, this solution greatly improves the convenience and access efficiency of users when accessing point cloud data. BRIEF DESCRIPTION OF THE DRAWINGS

[0042] The drawings described herein are used to provide a further understanding of this specification and constitute a part of this specification. The illustrative embodiments and descriptions of this specification are used to explain this specification and do not constitute an improper limitation on this specification. In the drawings:

[0043] Figure 1 A flowchart of a method for accessing point cloud data provided in this specification;

[0044] Figure 2 A schematic diagram of the architecture of a data access system provided in this specification;

[0045] Figure 3 A schematic diagram of a point cloud data access device provided in this specification;

[0046] Figure 4 A method corresponding to the Figure 1 Schematic diagram of electronic equipment. DETAILED DESCRIPTION

[0047] In order to make the purpose, technical solutions and advantages of this specification more clear, the technical solutions of this specification will be clearly and completely described below in combination with the specific embodiments of this specification and the corresponding drawings. Obviously, the described embodiments are only part of the embodiments of this specification, not all of them. Based on the embodiments in this specification, all other embodiments obtained by ordinary technicians in this field without creative work are within the scope of protection of this specification.

[0048] The technical solutions provided by the embodiments of this specification are described in detail below in conjunction with the accompanying drawings.

[0049] Figure 1 The following is a flowchart of a method for accessing point cloud data provided in this specification, comprising the following steps:

[0050] S101: acquiring point cloud data from a preset point cloud warehouse, and constructing a distribution coordinate system of the point cloud data in the at least two attribute dimensions corresponding to point cloud attributes contained in the point cloud data.

[0051] The present invention mainly stores point cloud data in a hierarchical manner. By dividing the point cloud data into multiple levels, each level contains data of different granularities, so as to optimize data management and query efficiency, and ensure that when the user performs visualization operations, the data of the corresponding level can be dynamically loaded and rendered according to the user's needs and operation scope, reducing the burden of data transmission and processing, thereby achieving efficient rendering and dynamic operation of millions of points without sacrificing performance.

[0052] In this specification, the execution subject for implementing a method for accessing point cloud data may be a designated device such as a server. For ease of description, the following will only take the server as an example of the execution subject to illustrate a method for accessing point cloud data provided in this specification.

[0053] The server can obtain point cloud data from a preset point cloud warehouse. For each point cloud data, the point cloud data contains the attribute values ​​of the point cloud corresponding to the point cloud data in different attribute dimensions. The above attribute dimensions may include: laser reflection intensity, temperature, volume information, mass, Young's modulus, thermal conductivity, position, and classification probability, etc. This specification does not specifically limit this.

[0054] After that, the server can determine at least two attribute dimensions from each attribute dimension as the target attribute dimensions, and construct a distribution coordinate system of the point cloud data in at least two attribute dimensions based on each target attribute dimension. Among them, the server can only select two attribute dimensions from them, and use these two attribute dimensions as the X-axis and Y-axis of the distribution coordinate system, thereby constructing a two-dimensional distribution coordinate system. Of course, the server can also select three attribute dimensions from them, and use these two or three attribute dimensions as the X-axis, Y-axis and Z-axis of the distribution coordinate system, thereby constructing a three-dimensional distribution coordinate system.

[0055] In actual applications, the server can select the target attribute dimensions according to specific business needs. For example, for mechanical processing business, users are often more concerned about the volume information and Young's modulus of mechanical parts. Therefore, the server can use these two attribute dimensions as target attribute dimensions and construct a distribution coordinate system.

[0056] S102: Determine different access levels to the point cloud data in descending order of regional division scales;

[0057] S103: For each access level, according to the attribute values ​​of each point cloud data in the at least two attribute dimensions and the area division scale corresponding to the access level, determine the distribution areas corresponding to the each point cloud data at the access level in the distribution coordinate system, wherein each distribution area under the access level contains a specified number of distribution areas under the next access level.

[0058] The server can divide the distribution area of ​​the point cloud data at different access levels according to different area division scales, and determine the different access levels of the point cloud data in the distribution coordinate system in the order of area division scales from large to small, that is, the higher the access level, the smaller the area division scale, and the more areas included in the access level.

[0059] In practical applications, the area division scale or the number of access levels can be set according to actual conditions. For ease of description, the following will take the four access levels corresponding to the four area division scales as an example to illustrate the area division methods under different access levels.

[0060] For example, when four area division scales are preset, they correspond to four levels of access hierarchy in order from large to small. The server can determine the overall range of the distribution area based on the maximum and minimum attribute values ​​of the point cloud data under the target attribute dimension.

[0061] Taking the two-dimensional distribution coordinate system as an example, the maximum value of the attribute value can be rounded up and recorded as and , round down the minimum value and record them as and .

[0062] For the first level of access, the server can , , and The area formed in the distribution coordinate system is used as the distribution area under the first level of access hierarchy;

[0063] For the second level of access, the server can , , and The area formed in the distribution coordinate system is further divided into 4×4 = 16 areas, and these 16 distribution areas are used as the distribution areas under the second level access level;

[0064] For the third access level, the server can , , and The area formed in the distribution coordinate system is further divided into 16×16 = 256 areas, and these 256 distribution areas are used as the distribution areas under the third level access hierarchy;

[0065] For the fourth access level, the server can , , and The area formed in the distribution coordinate system is further divided into 32×32=1024 areas, and these 1024 distribution areas are used as distribution areas under the fourth access level.

[0066] Among them, for each access level, each distribution area under the access level contains several distribution areas under its next access level, and the number of distribution areas under the next access level included can be determined according to the area division scale corresponding to the access level and the area division scale corresponding to the next access level.

[0067] For example, the regional division scale of the second-level access level is 4×4, while the regional division scale corresponding to the third-level access level is 16×16. The regional division scale corresponding to the third-level access level is 16 times the regional division scale corresponding to the second-level access level. Therefore, for each distribution area under the second-level access level, the distribution area contains 16 data areas under the third-level access level.

[0068] S104: storing the point cloud data based on the distribution areas under each access level.

[0069] The server can store the point cloud data based on the distribution areas under each access level, wherein, for each access level, the total number of point cloud data stored in the distribution areas under the next access level contained therein is a specified multiple of the number of point cloud data stored in the distribution areas under the access level, and the specified multiple can be determined based on the ratio between the area division scale corresponding to the access level and the area division scale corresponding to the next access level.

[0070] Specifically, for the distribution area under each access level except the last access level, the server can determine the distribution areas under the next access level contained in the distribution area as the areas to be sampled, and determine the data sampling ratio corresponding to the distribution area according to the area division scale corresponding to the access level and the area division scale corresponding to the next access level, and then collect point cloud data from the area to be sampled according to the sampling ratio, and store the collected point cloud data in at least one data table corresponding to the distribution area.

[0071] For each data table, a specified number of point cloud data are stored in the data table. If the number of collected point cloud data is greater than the specified number, the server can store the point cloud data greater than the specified number in another data table.

[0072] In an embodiment provided in this specification, the above-mentioned specified number can be set to 1000, that is, the storage limit of each data table is 1000 data. For areas with more than 1000 data, the system will use multiple tables for storage to ensure data integrity and query efficiency. This step also includes creating a relationship table between areas and table names, recording the number, table name and coordinate range of each area, providing a basis for subsequent fast data retrieval.

[0073] Taking the four access levels recorded in steps S102 to S103 as an example, for the fourth access level, the server will , , and The range of the composition is divided into 32×32 = 1024 blocks, and the point cloud data in each block is stored in a data table with an upper limit of 1000 data. If it exceeds 1000, this area is stored in multiple data tables until all the data in this area is stored. And these 1024 blocks of areas and the corresponding table names are stored in another table. The fourth-level table contains a "area-table name" relationship table Table4 (including area number, table name and area range , , , ) and the data tables corresponding to each area (i.e. Table4-1, Table4-2, ..., Table4-N).

[0074] For the third access level, the server will , , and The range is divided into 16×16 = 256 areas. Each third-level area contains 4 fourth-level areas. According to Table4, the table name of the fourth-level table corresponding to each area in the third-level area can be queried. 1 / 4 of the data is sampled from these fourth-level tables to generate the corresponding third-level table. If it exceeds 1,000, this area is stored in multiple tables until all the sampled data in this area is stored. The third-level table contains a "area-table name" relationship table Table3 (including area number, table name and area range , , , ) and the data tables corresponding to each area (i.e. Table3-1, Table3-2, ..., Table3-N).

[0075] For the second level of access, the server will , , and The range is divided into 4×4=16 areas. Each secondary area contains 4 tertiary areas. According to Table3, the table name of the corresponding tertiary table for each area in the secondary area can be queried. 1 / 16 of the data is sampled from these tertiary tables to generate the corresponding secondary table. If it exceeds 1,000, this area is stored in multiple tables until all the sampled data in this area is stored. The secondary table contains a "area-table name" relationship table Table2 (including the area number, table name, and area range , , , ) and the data tables corresponding to each area (i.e. Table2-1, Table2-2, ..., Table2-N).

[0076] For the first level of access, the corresponding distribution area is , , and The range of components consists of all secondary regions, sampling 1 / 16 of the data from the secondary table to generate the corresponding primary table, namely Table1.

[0077] According to the above method, hierarchical storage of data is completed. When it is necessary to query the point cloud data of a specific area, the corresponding hierarchical table can be quickly located according to the coordinate range, thereby reducing the amount of queried data and improving query efficiency.

[0078] S105: In response to the selection operation performed by the user on the access level, a target access level is determined, and point cloud data that the user needs to access is determined in each point cloud distribution area under the target access level.

[0079] In actual applications, users can determine the target access level by performing a selection operation on the access level on the client (such as the Web client). The server can then determine the point cloud data that the user needs to access in each point cloud distribution area under the target access level and return it to the client for rendering.

[0080] In actual applications, the Web side can use ECharts to render a two-dimensional scatter plot. When the page is initialized, set the current level to 1, query all data from the first-level table and render it. Users can zoom in and out through the zoom buttons provided on the page, or use the mouse wheel to zoom freely. The system will adjust the level according to the user's zoom operation, and query data from the corresponding level table again, and process the translation operation, keeping the current level unchanged, and querying the data in the corresponding level table according to the new coordinate range.

[0081] In this process, the server can determine the hierarchical zoom action in response to the user's click operation on the zoom / zoom button, and update the current access level according to the hierarchical zoom action to obtain the target access level. If the hierarchical zoom action is a zoom-out action, the previous access level of the current access level is used as the target access level, and if the hierarchical zoom action is a zoom-in action, the next access level of the current access level is used as the target access level.

[0082] Taking the four access levels recorded in steps S102 to S103 as an example, when the zoom button provided by the client page is used to zoom in and out, the zoom level is adjusted according to a fixed zoom level, and the zoom level ranges from 1 to 4, which is consistent with the database table level. The processing logic is as follows:

[0083] If the current access level is 1, zooming in is supported but zooming out is not supported. Click the Zoom In button, the level is set to 2, and the current scatter plot is taken as the center. The coordinates of the X-axis and Y-axis are set to 1 / 4 of the coordinate range before zooming in, and the new X-axis and Y-axis coordinate ranges are obtained. , , and It is sent to the query service together with the new number of levels Zoom. The query service searches the secondary table based on Zoom, locates the corresponding table by the coordinate range, and returns the data that meets the coordinate range from the table.

[0084] If the current access level is 2, zooming in and out is supported. Click the Zoom button, the level is set to 3, and the current scatter plot is centered. The X-axis and Y-axis coordinates are set to 1 / 4 of the coordinate range before zooming in, and the new X-axis and Y-axis coordinate ranges are obtained. , , and It is sent to the query service together with the new number of levels Zoom. The query service searches in the third-level table according to Zoom, locates the corresponding table through the coordinate range, and returns the data that meets the coordinate range from the table. Click the Zoom Out button, the number of levels Zoom is 1, the coordinates of the X-axis and Y-axis are set to the initial coordinate range, and the new number of levels Zoom is sent to the query service. The query service locates the first-level table according to Zoom and returns all the data from the table.

[0085] If the current access level is 3, zooming in and out is supported. Click the Zoom button, the level is 4, and the current scatter plot is centered, the X-axis and Y-axis coordinates are set to 1 / 2 of the coordinate range before zooming in, and the new X-axis and Y-axis coordinate ranges are obtained, and the new coordinate ranges are set to , , and It is sent to the query service together with the new number of levels Zoom. The query service searches the four-level table according to Zoom, locates the corresponding table by the coordinate range, and returns the data that meets the coordinate range from the table;

[0086] Click the Zoom Out button, the number of levels is Zoom 2, and the current scatter plot is centered. The coordinates of the X-axis and Y-axis are set to 4 times the coordinate range before zooming in, and the new X-axis and Y-axis coordinate ranges are obtained. , , and It is sent to the query service together with the new number of levels Zoom. The query service searches the secondary table based on Zoom, locates the corresponding table by the coordinate range, and returns the data that meets the coordinate range from the table.

[0087] If the current access level is 4, zooming out is supported but zooming in is not supported. Click the Zoom Out button, the level number is set to 3, and the current scatter plot is taken as the center. The coordinates of the X-axis and Y-axis are set to 2 times the coordinate range before zooming in, and the new X-axis and Y-axis coordinate ranges are obtained. , , and It is sent to the query service together with the new number of levels Zoom. The query service searches the third-level table according to Zoom, locates the corresponding table by the coordinate range, and returns the data that meets the coordinate range from the table.

[0088] In addition, the server may determine a zoom ratio of the access level in response to a scrolling operation performed by the user on the zoom wheel, and update the current access level according to the zoom ratio to obtain the target access level.

[0089] When you use the mouse wheel to zoom freely within the range of the scatter plot, the zoom level is determined by the ratio of the coordinate range after the zoom is completed to the initial coordinate range, and the X-axis and Y-axis are scaled in the same proportion. The processing logic is as follows:

[0090] If ratio>1 / 4, the Zoom is set to 2 according to the number of levels, and the Zoom and the new coordinate range are sent to the query service. The query service searches the secondary table according to the Zoom, locates the corresponding table through the coordinate range, and returns the data that meets the coordinate range from the table.

[0091] If 1 / 4>ratio>1 / 16, the Zoom is set to 3 according to the number of levels, and the Zoom and the new coordinate range are sent to the query service. The query service searches the third-level table according to the Zoom, locates the corresponding table through the coordinate range, and returns the data that meets the coordinate range from the table.

[0092] If ratio<1 / 16, the Zoom is set to 4 according to the number of levels, and the Zoom and the new coordinate range are sent to the query service. The query service searches the four-level table according to the Zoom, locates the corresponding table through the coordinate range, and returns the data that meets the coordinate range from the table.

[0093] In addition, the server can determine the visible range within the target access level in response to the translation operation performed by the user at the target access level, and then determine the point cloud data that the user needs to access in each point cloud distribution area within the visible range.

[0094] When you drag and drop within the scatter plot range to modify the visible range of the chart without zooming, the server can keep the original Zoom unchanged and send the Zoom and the new coordinate range to the query service. The query service searches the corresponding hierarchical table based on the Zoom, locates the corresponding table through the coordinate range, and returns the data that meets the coordinate range from the table.

[0095] In the above process, the server can construct the query request parameter step involving determining the new coordinate range after the user's zoom and pan operations, and setting the corresponding level parameters (Zoom). These parameters will be combined into a query request and sent to the query service so that the service can return the correct data based on the user's view and operation.

[0096] After receiving the request, the query service determines the level table to be queried based on the level parameters. The service quickly locates the corresponding level table through the coordinate range and retrieves the qualified data from these tables to return to the client's rendering module.

[0097] The client receives the data returned by the query service, updates the ECharts chart based on the data, implements dynamic rendering, obtains the chart data and displays it to the user. This step can also include optimizing the display effect of the chart based on the user's operation and data characteristics to provide a smooth user experience.

[0098] Furthermore, the above process can be implemented by a data access system composed of different modules. For ease of understanding, this specification provides a schematic diagram of the architecture of a data access system, such as Figure 2 shown.

[0099] Figure 2 This is a schematic diagram of the architecture of a data access system provided in this specification.

[0100] Among them, the original point cloud data is stored in the data warehouse, which is convenient for cleaning and processing of business data.

[0101] The Tiered Storage Service module is responsible for storing the point cloud data in the database in a hierarchical manner according to certain rules to optimize the efficiency of data retrieval and rendering. When you need to query the point cloud data of a specific area, you can quickly locate the corresponding hierarchical table according to the zoom level and coordinate range, thereby reducing the amount of data to be queried and improving query efficiency.

[0102] The storage module (RDS) serves as a data storage module. It provides a relational database service for storing and managing point cloud data. It ensures persistent storage of point cloud data and provides data backup and recovery functions. It provides high-performance data access and query capabilities and supports fast reading of large-scale data. As the amount of data grows, RDS can flexibly expand storage capacity and computing resources to meet changing needs.

[0103] The query service module is responsible for processing data query requests. It dynamically queries and returns data at the corresponding level based on the user's zoom and pan operations.

[0104] The client is responsible for realizing the two-dimensional visualization of point cloud data, and using tools such as ECharts to realize dynamic interactive visualization. When the page is initialized, all data is queried from the primary table and rendered; users are supported to view data at different levels through zooming and panning operations to realize dynamic interactive visualization; data views are updated in real time according to the user's zooming and panning operations, providing a smooth user experience.

[0105] It can be seen from the above method that this solution can achieve efficient rendering and dynamic operation of point cloud data with more than one million points on the Web without sacrificing performance; and the amount of data supporting dynamic rendering can be further increased by expanding the hierarchical level.

[0106] The above are one or more implementation methods for accessing point cloud data of this specification. Based on the same idea, this specification also provides a corresponding point cloud data access device, such as Figure 3 shown.

[0107] Figure 3 A schematic diagram of a point cloud data access device provided in this specification includes:

[0108] The acquisition module 301 is used to acquire point cloud data from a preset point cloud warehouse, and construct a distribution coordinate system of the point cloud data in the at least two attribute dimensions corresponding to the point cloud attributes contained in the point cloud data;

[0109] A determination module 302 determines different access levels to the point cloud data in descending order of the regional division scales;

[0110] A division module 303 is used to determine, for each access level, the distribution areas corresponding to the point cloud data at the access level in the distribution coordinate system according to the attribute values ​​of the point cloud data at the at least two attribute dimensions and the area division scale corresponding to the access level, wherein each distribution area at the access level includes a plurality of distribution areas at the next access level;

[0111] A storage module 304, used for storing the point cloud data based on the distribution areas under each access level;

[0112] The access module 305 is used to determine a target access level in response to a selection operation performed by the user on the access level, and determine the point cloud data that the user needs to access in each point cloud distribution area under the target access level.

[0113] Optionally, the storage module 304 is specifically used to, for each distribution area, determine each distribution area under the next-level access level contained in the distribution area as the area to be sampled, and determine the data sampling ratio corresponding to the distribution area according to the area division scale corresponding to the access level and the area division scale corresponding to the next-level access level; according to the sampling ratio, collect point cloud data from the area to be sampled, and store the collected point cloud data in at least one data table corresponding to the distribution area.

[0114] Optionally, for each data table, a specified number of point cloud data are stored in the data table;

[0115] The storage module 304 is specifically used to determine whether the amount of the collected point cloud data is greater than the specified amount; if so, store the point cloud data greater than the specified amount in another data table.

[0116] Optionally, the access module 305 is specifically used to determine a hierarchical zoom action in response to the user's click operation on the zoom / zoom button; according to the hierarchical zoom action, update the current access level to obtain the target access level, wherein if the hierarchical zoom action is a zoom-out action, the upper access level of the current access level is used as the target access level, and if the hierarchical zoom action is a zoom-in action, the lower access level of the current access level is used as the target access level.

[0117] Optionally, the access module 305 is specifically configured to, in response to the user's scrolling operation on the zoom wheel, determine a zoom ratio of the access level; update the current access level according to the zoom ratio to obtain the target access level,

[0118] Optionally, the access module 305 is specifically used to determine the visible range within the target access level in response to the translation operation performed by the user at the target access level; and determine the point cloud data that the user needs to access in each point cloud distribution area within the visible range.

[0119] Optionally, the access module 305 is further used to send the determined point cloud data that the user needs to access to the client, so that the client renders the received point cloud data to obtain a data chart, and displays the data chart.

[0120] This specification also provides a computer-readable storage medium, which stores a computer program, which can be used to execute the above Figure 1 Provides a method for accessing point cloud data.

[0121] This manual also provides Figure 4 The one shown corresponds to Figure 1 A schematic diagram of the electronic device. Figure 4 As mentioned above, at the hardware level, the electronic device includes a processor, an internal bus, a network interface, a memory, and a non-volatile memory, and may also include other hardware required for the business. The processor reads the corresponding computer program from the non-volatile memory into the memory and then runs it to achieve the above Figure 1 Of course, in addition to the software implementation, this specification does not exclude other implementations, such as logic devices or a combination of software and hardware, etc., that is, the execution subject of the following processing flow is not limited to each logic unit, but can also be hardware or logic devices.

[0122] For the improvement of a technology, it can be clearly distinguished whether it is a hardware improvement (for example, improvement of the circuit structure of diodes, transistors, switches, etc.) or a software improvement (improvement of the method flow). However, with the development of technology, many improvements of the method flow today can be regarded as direct improvements of the hardware circuit structure. Designers almost always obtain the corresponding hardware circuit structure by programming the improved method flow into the hardware circuit. Therefore, it cannot be said that the improvement of a method flow cannot be implemented with a hardware entity module. For example, a programmable logic device (PLD) (such as a field programmable gate array (FPGA)) is such an integrated circuit whose logical function is determined by the user's programming of the device. Designers can "integrate" a digital system on a PLD by programming themselves, without having to ask chip manufacturers to design and make dedicated integrated circuit chips. Moreover, nowadays, instead of manually making integrated circuit chips, this kind of programming is mostly implemented by "logic compiler" software, which is similar to the software compiler used when developing and writing programs, and the original code before compilation must also be written in a specific programming language, which is called hardware description language (HDL). There is not only one kind of HDL, but many kinds, such as ABEL (Advanced Boolean Expression Language), AHDL (Altera Hardware Description Language), Confluence, CUPL (Cornell University Programming Language), HDCal, JHDL (Java Hardware Description Language), Lava, Lola, MyHDL, PALASM, RHDL (Ruby Hardware Description Language), etc. The most commonly used ones are VHDL (Very-High-Speed ​​Integrated Circuit Hardware Description Language) and Verilog. Those skilled in the art should also know that it is only necessary to program the method flow slightly in the above-mentioned hardware description languages ​​and program it into the integrated circuit, and then it is easy to obtain the hardware circuit that implements the logic method flow.

[0123] The controller may be implemented in any suitable manner, for example, the controller may take the form of a microprocessor or processor and a computer-readable medium storing a computer-readable program code (e.g., software or firmware) executable by the (micro)processor, a logic gate, a switch, an application-specific integrated circuit (ASIC), a programmable logic controller, and an embedded microcontroller, examples of which include but are not limited to the following microcontrollers: ARC 625D, Atmel AT91SAM, Microchip PIC18F26K20, and Silicone Labs C8051F320, and the memory controller may also be implemented as part of the control logic of the memory. It is also known to those skilled in the art that, in addition to implementing the controller in a purely computer-readable program code manner, the controller may be implemented in the form of a logic gate, a switch, an application-specific integrated circuit, a programmable logic controller, and an embedded microcontroller by logically programming the method steps. Therefore, such a controller may be considered as a hardware component, and the devices for implementing various functions included therein may also be considered as structures within the hardware component. Or even, the devices for implementing various functions may be considered as both software modules for implementing the method and structures within the hardware component.

[0124] The systems, devices, modules or units described in the above embodiments may be implemented by computer chips or entities, or by products with certain functions. A typical implementation device is a computer. Specifically, the computer may be, for example, a personal computer, a laptop computer, a cellular phone, a camera phone, a smart phone, a personal digital assistant, a media player, a navigation device, an email device, a game console, a tablet computer, a wearable device, or a combination of any of these devices.

[0125] For the convenience of description, the above device is described in various units according to their functions. Of course, when implementing this specification, the functions of each unit can be implemented in the same or multiple software and / or hardware.

[0126] Those skilled in the art will appreciate that the embodiments of this specification may be provided as methods, systems, or computer program products. Therefore, this specification may take the form of a complete hardware embodiment, a complete software embodiment, or an embodiment combining software and hardware. Moreover, this specification may take the form of a computer program product implemented on one or more computer-usable storage media (including but not limited to disk storage, CD-ROM, optical storage, etc.) containing computer-usable program code.

[0127] This specification is described with reference to the flowcharts and / or block diagrams of the methods, devices (systems), and computer program products according to the embodiments of this specification. It should be understood that each process and / or block in the flowchart and / or block diagram, as well as the combination of processes and / or blocks in the flowchart and / or block diagram, can be implemented by computer program instructions. These computer program instructions can be provided to a processor of a general-purpose computer, a special-purpose computer, an embedded processor, or other programmable data processing device to produce a machine, so that the instructions executed by the processor of the computer or other programmable data processing device generate instructions for implementing the processes in the flowchart and / or block diagram. Figure 1 A process or multiple processes and / or boxes Figure 1 A device that provides the functions specified in a block or multiple blocks.

[0128] These computer program instructions may also be stored in a computer-readable memory capable of directing a computer or other programmable data processing device to operate in a specific manner, so that the instructions stored in the computer-readable memory produce an article of manufacture comprising an instruction device, which implements the process Figure 1 A process or multiple processes and / or boxes Figure 1 A function specified in one or more boxes.

[0129] These computer program instructions can also be loaded onto a computer or other programmable data processing device so that a series of operating steps are executed on the computer or other programmable device to produce a computer-implemented process, thereby providing instructions for implementing the process. Figure 1 A process or multiple processes and / or boxes Figure 1 The steps for the functions specified in one or more boxes.

[0130] In a typical configuration, a computing device includes one or more processors (CPU), input / output interfaces, network interfaces, and memory.

[0131] The memory may include non-permanent storage in a computer-readable medium, random access memory (RAM) and / or non-volatile memory in the form of read-only memory (ROM) or flash RAM. The memory is an example of a computer-readable medium.

[0132] Computer readable media include permanent and non-permanent, removable and non-removable media that can be implemented by any method or technology to store information. Information can be computer readable instructions, data structures, program modules or other data. Examples of computer storage media include, but are not limited to, phase change memory (PRAM), static random access memory (SRAM), dynamic random access memory (DRAM), other types of random access memory (RAM), read-only memory (ROM), electrically erasable programmable read-only memory (EEPROM), flash memory or other memory technology, compact disk read-only memory (CD-ROM), digital versatile disk (DVD) or other optical storage, magnetic cassettes, magnetic tape disk storage or other magnetic storage devices or any other non-transmission media that can be used to store information that can be accessed by a computing device. As defined herein, computer readable media does not include temporary computer readable media (transitory media), such as modulated data signals and carrier waves.

[0133] It should also be noted that the terms "include", "comprises" or any other variations thereof are intended to cover non-exclusive inclusion, so that a process, method, commodity or device including a series of elements includes not only those elements, but also other elements not explicitly listed, or also includes elements inherent to such process, method, commodity or device. In the absence of more restrictions, the elements defined by the sentence "comprises a ..." do not exclude the existence of other identical elements in the process, method, commodity or device including the elements.

[0134] It should be understood by those skilled in the art that the embodiments of this specification may be provided as methods, systems or computer program products. Therefore, this specification may take the form of a complete hardware embodiment, a complete software embodiment or an embodiment combining software and hardware. Moreover, this specification may take the form of a computer program product implemented on one or more computer-usable storage media (including but not limited to disk storage, CD-ROM, optical storage, etc.) containing computer-usable program code.

[0135] This specification may be described in the general context of computer-executable instructions executed by a computer, such as program modules. Generally, program modules include routines, programs, objects, components, data structures, etc. that perform specific tasks or implement specific abstract data types. This specification may also be practiced in distributed computing environments where tasks are performed by remote processing devices connected through a communication network. In a distributed computing environment, program modules may be located in local and remote computer storage media, including storage devices.

[0136] Each embodiment in this specification is described in a progressive manner, and the same or similar parts between the embodiments can be referred to each other, and each embodiment focuses on the differences from other embodiments. In particular, for the system embodiment, since it is basically similar to the method embodiment, the description is relatively simple, and the relevant parts can be referred to the partial description of the method embodiment.

[0137] The above description is only an embodiment of the present specification and is not intended to limit the present specification. For those skilled in the art, the present specification may have various changes and variations. Any modification, equivalent replacement, improvement, etc. made within the spirit and principle of the present specification shall be included in the scope of the claims of the present specification.

Claims

1. A method for accessing point cloud data, characterized in that: include: Acquire point cloud data from a preset point cloud warehouse, and construct a distribution coordinate system of the point cloud data in the at least two attribute dimensions corresponding to the point cloud attributes contained in the point cloud data; Determine different access levels to point cloud data in descending order of regional division scales; For each access level, according to the attribute values ​​of each point cloud data in the at least two attribute dimensions and the regional division scale corresponding to the access level, the distribution areas corresponding to the each point cloud data at the access level are determined in the distribution coordinate system, wherein each distribution area at the access level contains a number of distribution areas at the next access level; Based on each distribution area under each access level, storing each point cloud data; In response to a selection operation performed by a user on an access level, a target access level is determined, and point cloud data that the user needs to access is determined in each point cloud distribution area under the target access level.

2. The method according to claim 1, characterized in that Based on each distribution area under each access level, each point cloud data is stored, specifically including: For each distribution area, determine the distribution areas under the next access level contained in the distribution area as the areas to be sampled, and determine the data sampling ratio corresponding to the distribution area according to the area division scale corresponding to the access level and the area division scale corresponding to the next access level; According to the sampling ratio, point cloud data is collected from the area to be sampled, and the collected point cloud data is stored in at least one data table corresponding to the distribution area.

3. The method according to claim 2, characterized in that For each data table, a specified number of point cloud data are stored in the data table; According to the sampling ratio, collecting point cloud data from the area to be sampled, and storing the collected point cloud data in at least one data table corresponding to the distribution area, specifically including: Determining whether the amount of collected point cloud data is greater than the specified amount; If so, the point cloud data greater than the specified number is stored in another data table.

4. The method according to claim 1, characterized in that In response to the user's selection operation on the access level, determining a target access level specifically includes: In response to a click operation performed by the user on a zoom / unzoom button, determining a hierarchical zoom action; According to the hierarchical zoom action, the current access level is updated to obtain the target access level, wherein if the hierarchical zoom action is a zoom-out action, the upper access level of the current access level is used as the target access level, and if the hierarchical zoom action is a zoom-in action, the lower access level of the current access level is used as the target access level.

5. The method according to claim 1, characterized in that In response to the user's selection operation on the access level, determining a target access level specifically includes: In response to a scrolling operation performed by the user on the zoom wheel, determining a zoom factor of the access level; According to the zoom ratio, the current access level is updated to obtain the target access level.

6. The method according to claim 1, characterized in that Determining and returning the point cloud data that the user needs to access in each point cloud distribution area under the target access level, specifically includes: In response to a translation operation performed by the user at the target access level, determining a visible range within the target access level; The point cloud data that the user needs to access is determined in each point cloud distribution area within the visible range.

7. The method according to claim 6, characterized in that The method further comprises: The determined point cloud data that the user needs to access is sent to the client, so that the client renders the received point cloud data to obtain a data chart, and displays the data chart.

8. A device for accessing point cloud data, characterized in that: include: An acquisition module, used to acquire point cloud data from a preset point cloud warehouse, and construct a distribution coordinate system of the point cloud data in the at least two attribute dimensions corresponding to the point cloud attributes contained in the point cloud data; Determine the modules and determine the different access levels to the point cloud data in the order of regional division scale from large to small; A partitioning module, for determining, for each access level, in the distribution coordinate system, the distribution areas corresponding to the point cloud data at the access level according to the attribute values ​​of the point cloud data at the at least two attribute dimensions and the area partitioning scale corresponding to the access level, wherein each distribution area at the access level includes a plurality of distribution areas at the next access level; A storage module, used for storing each point cloud data based on each distribution area under each access level; The access module is used to determine a target access level in response to a selection operation performed by a user on an access level, and to determine point cloud data that the user needs to access in each point cloud distribution area under the target access level.

9. A computer-readable storage medium, characterized in that: The storage medium stores a computer program, and when the computer program is executed by a processor, the method described in any one of claims 1 to 7 is implemented.

10. An electronic device comprising a memory, a processor, and a computer program stored in the memory and executable on the processor, characterized in that: When the processor executes the program, the method described in any one of claims 1 to 7 is implemented.

Citation Information

Patent Citations

  • Real-time point cloud data rendering method and device, terminal and storage medium

    CN116109470A

  • Visualization and storage algorithms associated with processing point cloud data

    US7804498B1

Cited By

  • Three-dimensional image processing system for laser scanning

    CN122048628A