Point cloud data processing method and device, equipment and storage medium

CN118227905BActive Publication Date: 2026-10-30CHINA UNITED NETWORK COMM GRP CO LTD +2
View PDF 1 Cites 0 Cited by

Patent Information

Application Number
CN202410180719.1
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2024-02-18
Publication Date
2026-10-30
Estimated Expiration
2044-02-18

AI Technical Summary

Technical Problem

[0004]本申请提供一种点云数据处理方法、装置、设备及存储介质,以至少解决相关技术中渲染效率较低的技术问题

Benefits of technology

[0021]本申请实施例提供的技术方案,获取点云模型在第一显示范围内用于表示点云模型对应区域的大气质量状态的点云数据。然后,响应于对点云模型执行的当前显示变化操作,确定第二显示范围。接着,加载第二显示范围的点云数据,并卸载第一显示范围中,与第二显示范围的非重叠范围的点云数据。这样,通过卸载第二点云数据,可以在显示屏幕不需要显示第二点云数据时,及时对第二点云数据进行卸载,并且通过加载第一点云数据,可以在当前显示变化操作之后,加载对应需要的点云数据,实现了点云数据的按需加载,可以提升点云数据的渲染效率。

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN118227905B_ABST
    Figure CN118227905B_ABST
Patent Text Reader

Abstract

The application relates to a point cloud data processing method and device, equipment and a storage medium, relates to the technical field of computers, and is used for solving the technical problem that a large amount of point cloud data needs to be loaded before rendering point cloud data, resulting in low rendering efficiency. The method comprises the following steps: acquiring point cloud data of a point cloud model in a first display range; the point cloud data is used for representing the atmospheric quality state of the corresponding region of the point cloud model; in response to a current display change operation performed on the point cloud model, a second display range is determined; the first point cloud data is loaded, and the second point cloud data is unloaded; the first point cloud data comprises point cloud data of the second display range; and the second point cloud data is point cloud data of a non-overlapping range of the first display range and the second display range. In this way, the efficiency of rendering point cloud data can be improved.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This application relates to the field of computer technology, and in particular to a point cloud data processing method, apparatus, device and storage medium. Background Technology

[0002] In the field of computer technology, with the rapid development of three-dimensional web geographic information system (WebGIS) technology, atmospheric monitoring data can be visualized on web pages.

[0003] In related technologies, when the amount of atmospheric monitoring data is very large, the corresponding point cloud data is also very large. Before rendering the point cloud data, a large amount of point cloud data needs to be loaded, resulting in low rendering efficiency. Summary of the Invention

[0004] This application provides a point cloud data processing method, apparatus, device, and storage medium to at least solve the technical problem of low rendering efficiency in related technologies. The technical solution of this application is as follows:

[0005] According to a first aspect of the embodiments of this application, a point cloud data processing method is provided, comprising: acquiring point cloud data of a point cloud model within a first display range; the point cloud data being used to represent the atmospheric quality state of a region corresponding to the point cloud model; determining a second display range in response to a current display change operation performed on the point cloud model; loading first point cloud data and unloading second point cloud data; the first point cloud data including point cloud data of the second display range; and the second point cloud data being point cloud data of a non-overlapping range within the first display range.

[0006] In one possible implementation, the current display change operation satisfies preset operation conditions; the preset operation conditions include: the difference between the operation time corresponding to the current display change operation and the operation time corresponding to the previous display change operation is within a preset time range, the scaling scale corresponding to the current display change operation is less than a first preset scaling scale, and the difference between the scaling scale corresponding to the current display change operation and the scaling scale corresponding to the previous display change operation is greater than a second preset scaling scale.

[0007] In one possible implementation, the method further includes: setting the display state of the third point cloud data in the second point cloud data to a display state; the loading state of the third point cloud data is loaded, and the display state is not displayed.

[0008] In one possible implementation, the method further includes: acquiring atmospheric data, terrain data, and remote sensing image data corresponding to the region; constructing a point cloud model based on the atmospheric data, terrain data, and remote sensing image data; wherein the atmospheric data corresponding to each point in the point cloud model is positively correlated with the size and color of the point corresponding to each point.

[0009] In one possible implementation, after constructing the point cloud model described above, the method further includes: in response to a query operation for atmospheric data corresponding to each point, displaying the atmospheric data corresponding to each point.

[0010] In one possible implementation, after constructing the point cloud model, the method further includes: determining the target data corresponding to the point cloud model; the target data includes the maximum and minimum longitude, maximum and minimum latitude, maximum and minimum altitude corresponding to the point cloud model; and constructing a coordinate system framework corresponding to the point cloud model based on the target data.

[0011] According to a second aspect of the embodiments of this application, a point cloud data processing apparatus is provided. The apparatus includes: an acquisition unit, a determination unit, and a processing unit. The acquisition unit is configured to acquire point cloud data of a point cloud model within a first display range. The point cloud data is used to represent the atmospheric quality state of the region corresponding to the point cloud model. The determination unit is configured to determine a second display range in response to a current display change operation performed on the point cloud model. The processing unit is configured to load first point cloud data and unload second point cloud data. The first point cloud data includes point cloud data within the second display range. The second point cloud data is point cloud data within the first display range that does not overlap with the second display range.

[0012] In one possible implementation, in the point cloud data processing device described above, the current display change operation meets preset operation conditions; the preset operation conditions include: the difference between the operation time corresponding to the current display change operation and the operation time corresponding to the previous display change operation is within a preset time range, the scaling scale corresponding to the current display change operation is less than a first preset scaling scale, and the difference between the scaling scale corresponding to the current display change operation and the scaling scale corresponding to the previous display change operation is greater than a second preset scaling scale.

[0013] In one possible implementation, the processing unit in the above-mentioned point cloud data processing device is further configured to: set the display state of the third point cloud data in the second point cloud data to a display state; the loading state of the third point cloud data is loaded, and the display state is not displayed.

[0014] In one possible implementation, the point cloud data processing device further includes: a construction unit; an acquisition unit, which is further configured to acquire atmospheric data, terrain data, and remote sensing image data corresponding to the region; and a construction unit, which is configured to construct a point cloud model based on the atmospheric data, terrain data, and remote sensing image data; wherein the atmospheric data corresponding to each point in the point cloud model is positively correlated with the size and color of the point corresponding to each point.

[0015] In one possible implementation, after constructing the point cloud model, the processing unit in the above-mentioned point cloud data processing device is further configured to: display the atmospheric data corresponding to each point in response to a query operation for atmospheric data corresponding to each point.

[0016] In one possible implementation, after constructing the point cloud model, the determining unit is further configured to determine the target data corresponding to the point cloud model; the target data includes the maximum and minimum longitude, maximum and minimum latitude, maximum and minimum altitude corresponding to the point cloud model; the constructing unit is further configured to construct the coordinate system framework corresponding to the point cloud model based on the target data.

[0017] According to a third aspect of the embodiments of this application, an electronic device is provided, comprising: a processor; a memory for storing processor-executable instructions; wherein the processor is configured to execute instructions to implement the method of the first aspect described above and any possible implementation thereof.

[0018] According to a fourth aspect of the embodiments of this application, a computer-readable storage medium is provided, which, when the instructions in the computer-readable storage medium are executed by a processor of an electronic device, enables the electronic device to perform the methods of the first aspect and any possible implementation thereof.

[0019] According to a fifth aspect of the embodiments of this application, a computer program product is provided, the computer program product including computer instructions, which, when executed on an electronic device, cause the electronic device to perform the method described in the first aspect and any possible implementation thereof.

[0020] The technical solution of the first aspect provided by the embodiments of this application has at least the following beneficial effects:

[0021] The technical solution provided in this application involves acquiring point cloud data within a first display area to represent the atmospheric quality state of the corresponding region of the point cloud model. Then, in response to a current display change operation performed on the point cloud model, a second display area is determined. Next, point cloud data within the second display area is loaded, and point cloud data within the first display area that does not overlap with the second display area is unloaded. This allows for on-demand loading of point cloud data, improving rendering efficiency, by unloading the second point cloud data when it is not needed on the display screen, and by loading the first point cloud data, the required point cloud data can be loaded immediately after a display change operation.

[0022] It should be noted that the technical effects of any of the implementation methods in aspects two through five can be found in the technical effects of the corresponding implementation methods in aspect one, and will not be repeated here.

[0023] It should be understood that the above general description and the following detailed description are exemplary and explanatory only, and do not limit this application. Attached Figure Description

[0024] The accompanying drawings, which are incorporated in and form part of this specification, illustrate embodiments consistent with this application and, together with the description, serve to explain the principles of this application, and do not constitute an undue limitation of this application.

[0025] Figure 1 This is a schematic diagram of the structure of a point cloud data processing system according to an exemplary embodiment;

[0026] Figure 2 This is a flowchart illustrating a point cloud data processing method according to an exemplary embodiment;

[0027] Figure 3 This is a flowchart illustrating yet another point cloud data processing method according to an exemplary embodiment;

[0028] Figure 4 This is a flowchart illustrating yet another point cloud data processing method according to an exemplary embodiment;

[0029] Figure 5 This is a flowchart illustrating yet another point cloud data processing method according to an exemplary embodiment;

[0030] Figure 6 This is a block diagram illustrating a point cloud data processing apparatus according to an exemplary embodiment;

[0031] Figure 7 This is a block diagram illustrating an electronic device according to an exemplary embodiment. Detailed Implementation

[0032] To enable those skilled in the art to better understand the technical solutions of this application, the technical solutions in the embodiments of this application will be clearly and completely described below with reference to the accompanying drawings.

[0033] It should be noted that the terms "first," "second," etc., used in the specification, claims, and accompanying drawings of this application are used to distinguish similar objects and are not necessarily used to describe a specific order or sequence. It should be understood that such data can be interchanged where appropriate so that the embodiments of this application described herein can be implemented in orders other than those illustrated or described herein. The embodiments described in the following exemplary embodiments do not represent all embodiments consistent with this application. Rather, they are merely examples of apparatuses and methods consistent with some aspects of this application as detailed in the appended claims.

[0034] Before providing a detailed introduction to the resource deployment method provided in this application, let's first briefly introduce the application scenarios involved in this application.

[0035] In the field of computer technology, with the rapid development of Web Geographic Information System (WebGIS) technology, atmospheric monitoring data can be visualized on web pages. Atmospheric monitoring data is a type of data that includes spatial coordinates, and combining it with WebGIS technology for loading and rendering helps to improve the effectiveness of data visualization.

[0036] In related technologies, the main approach is to process historically collected atmospheric monitoring data and then render the processed data, resulting in a lack of real-time visualization of atmospheric monitoring data. Furthermore, when the volume of atmospheric monitoring data is very large, the corresponding point cloud data is also extensive. Before rendering the point cloud data, a large amount of point cloud data needs to be loaded, leading to low rendering efficiency. Moreover, because WebGIS's underlying layer breaks down the point cloud model into multiple tile binary blocks for rendering in the graphics processor, and the smallest unit that WebGIS can recognize is a tile, interactive queries of atmospheric monitoring data for specific points are not possible on the webpage.

[0037] To address the aforementioned issues, this application proposes a point cloud data processing method. This method involves acquiring point cloud data from a point cloud model within a first display area. The point cloud data represents the atmospheric quality state of the corresponding region of the point cloud model. In response to a current display change operation performed on the point cloud model, a second display area is determined. First point cloud data is loaded, and second point cloud data is unloaded. The first point cloud data includes point cloud data from the second display area. The second point cloud data is the point cloud data from the non-overlapping area within the first display area. By unloading the second point cloud data, it can be promptly unloaded when the display screen no longer needs to display it. Furthermore, by loading the first point cloud data, the required point cloud data can be loaded immediately after a display change operation, achieving on-demand loading of point cloud data and improving rendering efficiency.

[0038] Before providing a detailed introduction to the point cloud data processing method provided in this application, a brief introduction to the implementation environment (implementation architecture) involved in this application will be given first.

[0039] The point cloud data processing method provided in this application embodiment can be applied to point cloud data processing systems. Figure 1 A schematic diagram of the structure of this point cloud data processing system is shown. For example... Figure 1 As shown, the point cloud data processing system 10 includes an atmospheric monitoring sensor 11, a data storage device 12, and an electronic device 13. The atmospheric monitoring sensor 11 and the data storage device 12 are connected by a wired or wireless connection, and the data storage device 12 and the electronic device 13 are connected by a wired or wireless connection.

[0040] The atmospheric monitoring sensor 11 can be used to collect atmospheric monitoring data and spatial location data at the location corresponding to the atmospheric monitoring sensor 11, and transmit the atmospheric monitoring data and spatial location data to the data storage device 12 via wireless communication. The atmospheric monitoring data includes temperature, humidity, sulfur dioxide, nitrogen oxides, ozone, carbon monoxide, and PM2.5. The spatial location data includes the latitude and longitude coordinates of the location corresponding to the atmospheric monitoring sensor 11 in the World Geodetic System 1984 (WGS84). The acquisition frequency of the atmospheric monitoring sensor 11 can be manually set.

[0041] The data storage device 12 can be used to acquire atmospheric monitoring data and spatial location data sent by the atmospheric monitoring sensor device 11, store the atmospheric monitoring data and spatial location data in a database through a RESTful service interface, and push atmospheric monitoring data and spatial location data to the electronic device 13 in real time through a Web Sockets interface. The database can be a PostGIS spatial database; the database includes a first data table and a second data table. The first data table is used to store atmospheric monitoring data, and the second data table is used to store collection task information, including collection batch, collector, collection time, collection unit, collection task name, and spatial location data. The first data table can be named "airdata," and the second data table can be named "tasktable," and the first and second data tables can be linked and queried through specific fields. WebSockets is a full-duplex connection transmission control protocol / interconnection protocol TCP / IP socket, which enables real-time data communication after establishing a connection with the electronic device.

[0042] Electronic device 13 can be used to acquire atmospheric data, topographic data and remote sensing image data corresponding to the region.

[0043] Electronic device 13 can also be used to construct point cloud models based on atmospheric data, terrain data, and remote sensing image data; the atmospheric data corresponding to each point in the point cloud model is positively correlated with the size and color of each point.

[0044] The electronic device 13 can also be used to acquire point cloud data of the point cloud model within the first display range; the point cloud data is used to represent the atmospheric quality state of the area corresponding to the point cloud model.

[0045] Furthermore, the electronic device 13 can also be used to determine a second display range in response to a current display change operation performed on the point cloud model.

[0046] The electronic device 13 can also be used to load first point cloud data and unload second point cloud data; the first point cloud data includes point cloud data of the second display range; the second point cloud data is point cloud data of the non-overlapping range of the first display range and the second display range.

[0047] Optionally, both the data storage device 12 and the electronic device 13 can be physical machines. For example, the data storage device 12 and the electronic device 13 can be desktop computers, also known as desktop computers or servers, or a server group composed of multiple servers.

[0048] Optionally, the aforementioned electronic device 13 can also achieve the functions to be performed by a virtual machine (VM) deployed on a physical machine.

[0049] It should be noted that the data storage device 12 and the electronic device 13 can be independent devices or integrated into the same device; this application does not make specific limitations in this regard.

[0050] When data storage device 12 and electronic device 13 are integrated into the same device, the communication method between data storage device 12 and electronic device 13 is the same as the communication between modules within the device. In this case, the communication process between the two is the same as the communication process between data storage device 12 and electronic device 13 when they are independent of each other.

[0051] In the following embodiments provided in this application, the data storage device 12 and the electronic device 13 are described as being configured independently.

[0052] To facilitate understanding, the point cloud data processing method provided in this application will be described in detail below with reference to the accompanying drawings.

[0053] Figure 2 This is a flowchart illustrating a point cloud data processing method according to an exemplary embodiment. This method can be applied to an electronic device, or to a point cloud data processing device connected to or located within an electronic device. The following description uses an example of this method applied to an electronic device to illustrate the method. Figure 2 As shown, the point cloud data processing method includes the following steps:

[0054] S201. The electronic device acquires point cloud data of the point cloud model within the first display range.

[0055] Point cloud data is used to represent the atmospheric quality status of the area corresponding to the point cloud model, and the first display range is the display range of the point cloud model on the current display screen.

[0056] It should be noted that the point cloud data within the first display range represents the atmospheric quality state of each point in the point cloud model within the first display range.

[0057] S202, The electronic device, in response to the current display change operation performed on the point cloud model, determines a second display range.

[0058] The display change operations can include translation, rotation, scaling down, and zooming in.

[0059] As one possible implementation, the user performs a display change operation on the point cloud model within the user device. Correspondingly, the electronic device responds to the current display change operation on the point cloud model and determines a second display area for the point cloud model following the current display change operation.

[0060] It should be noted that the current display change operation meets the preset operation conditions; the preset operation conditions include: the difference between the operation time corresponding to the current display change operation and the operation time corresponding to the previous display change operation is within a preset time range, the scaling scale corresponding to the current display change operation is less than the first preset scaling scale, and the difference between the scaling scale corresponding to the current display change operation and the scaling scale corresponding to the previous display change operation is greater than the second preset scaling scale.

[0061] S203. The electronic device loads the first point cloud data and unloads the second point cloud data.

[0062] The first point cloud data includes point cloud data of the second display range; the second point cloud data is point cloud data of the non-overlapping range of the first display range and the second display range.

[0063] It should be noted that the electronic device sets the display status of the third point cloud data in the second point cloud data to the display status; the loading status of the third point cloud data is loaded, and the display status is not displayed.

[0064] In practical applications, the electronic device acquires the first display range and creates a background thread myWorker in the webpage. The first display range, the scaling ratio corresponding to the first display range, and the point cloud array corresponding to the point cloud model are sent to the background thread myWorker through the postMessage method.

[0065] Next, the electronic device calculates the point cloud data within the first display area and saves the first calculation result to the allpointsInExtent array. The allpointsInExtent array includes both loaded and unloaded point cloud data. Calculating the point cloud data within the first display area involves determining the outer rectangle of the point cloud model and calling Cesium's simpleIntersection function to calculate the topological relationship between the outer rectangle and the screen area. If there is overlap, the point cloud data corresponding to the overlapping portion is stored in the allpointsInExtent array.

[0066] Subsequently, in response to the current display change operation performed on the point cloud model, the electronic device calculates the point cloud data within the second display range and saves the second calculation result to the allpointsInExtent array.

[0067] The electronic device iterates through the allpointsInExtent array. If the point cloud data corresponding to the overlapping portion in the second calculation result is not loaded, then the corresponding unloaded point cloud data is loaded. If the point cloud data corresponding to the overlapping portion in the first calculation result does not belong to the point cloud data corresponding to the overlapping portion in the second calculation result, then the corresponding point cloud data is unloaded.

[0068] Understandably, the technical solution provided in this application acquires point cloud data within a first display range to represent the atmospheric quality state of the corresponding region of the point cloud model. Then, in response to a current display change operation performed on the point cloud model, a second display range is determined. Next, point cloud data within the second display range is loaded, and point cloud data within the first display range that does not overlap with the second display range is unloaded. In this way, by unloading the second point cloud data, it can be promptly unloaded when the display screen does not need to display it. Furthermore, by loading the first point cloud data, the required point cloud data can be loaded immediately after a current display change operation, achieving on-demand loading of point cloud data and improving rendering efficiency.

[0069] In some embodiments, the current display change operation meets preset operation conditions; the preset operation conditions include: the difference between the operation time corresponding to the current display change operation and the operation time corresponding to the previous display change operation is within a preset time range, the scaling scale corresponding to the current display change operation is less than a first preset scaling scale, and the difference between the scaling scale corresponding to the current display change operation and the scaling scale corresponding to the previous display change operation is greater than a second preset scaling scale.

[0070] As one possible implementation, the electronic device registers a camera moveEnd event and calculates the difference between the operation time corresponding to the current display change operation and the operation time corresponding to the previous display change operation through the event callback. If the difference is within a preset time range, it is determined that the current display change operation does not meet the preset operation conditions. If the difference is outside the preset time range, it is determined that the current display change operation meets the preset operation conditions.

[0071] The electronic device calculates the current camera height (camera_height). If the current camera height (camera_height) is greater than a preset camera heightThreshold, it determines that the scaling scale corresponding to the current display change operation is greater than a first preset scaling scale, and that the current display change operation does not meet the preset operation conditions. If the current camera height (camera_height) is less than the preset camera heightThreshold, the electronic device determines that the scaling scale corresponding to the current display change operation is less than the first preset scaling scale, and that the current display change operation meets the preset operation conditions.

[0072] The electronic device calculates the coordinates of the center point of the display screen and determines the changes in the horizontal and vertical coordinates of the center point after the current display change operation. Then, if the maximum value of the horizontal and vertical coordinate changes, `centreMoveDistance`, is greater than a preset value `extentChangeThreshold`, the electronic device determines that the difference between the scaling scale corresponding to the current display change operation and the scaling scale corresponding to the previous display change operation is greater than a second preset scaling scale, and that the current display change operation meets preset operation conditions. If the maximum value of the horizontal and vertical coordinate changes, `centreMoveDistance`, is less than or equal to the preset value `extentChangeThreshold`, the electronic device determines that the difference between the scaling scale corresponding to the current display change operation and the scaling scale corresponding to the previous display change operation is less than a second preset scaling scale, and that the current display change operation does not meet preset operation conditions.

[0073] For example, the preset time range can be 0-1500 milliseconds.

[0074] Understandably, the technical solution provided in this application determines a second display range, loads the first point cloud data, and unloads the second point cloud data when the current display change operation meets preset operation conditions. The preset operation conditions include: the difference between the operation time corresponding to the current display change operation and the operation time corresponding to the previous display change operation is within a preset time range; the scaling scale corresponding to the current display change operation is less than a first preset scaling scale; and the difference between the scaling scale corresponding to the current display change operation and the scaling scale corresponding to the previous display change operation is greater than a second preset scaling scale. Thus, since the point cloud model on the display screen may not change significantly when the time difference between two adjacent display change operations is too small, determining that the current display change operation meets the preset operation conditions when the difference between the operation time corresponding to the current display change operation and the operation time corresponding to the previous display change operation is within a preset time range can reduce the frequency of updating point cloud data and reduce computational resources. Since the point cloud model may appear too small on the display screen when the scaling scale corresponding to the current display change operation is too large, the scaling scale corresponding to the current display change operation is less than the first preset scaling scale. This ensures that the current display change operation meets the preset operation conditions, thus avoiding rendering the point cloud when it is too small and preventing the waste of computing resources.

[0075] In some embodiments, such as Figure 3 As shown in the embodiments of this application, the point cloud data processing method further includes the following steps:

[0076] S301. Electronic equipment acquires atmospheric data, topographic data, and remote sensing image data corresponding to the area.

[0077] As one possible implementation, the electronic device loads the remote sensing image service through the UrlTemplateImageryProvider API interface of the Cesium 3D platform, and obtains the remote sensing image data corresponding to the above-mentioned area through the remote sensing image service.

[0078] After acquiring remote sensing image data corresponding to the aforementioned area, the electronic device obtains the corresponding terrain data for the aforementioned area through digital elevation services.

[0079] It should be noted that the remote sensing image service is a WMTS tile pyramid. Electronic devices can improve the efficiency of data requesting and loading for a region through caching mechanisms.

[0080] The electronic device sends the URL corresponding to the above-mentioned area, the list of domain names of the server storing the remote sensing image data corresponding to the above-mentioned area, and the tilingScheme of the remote sensing image data to the Cesium 3D platform through the UrlTemplateImageryProvider API interface.

[0081] S302. Electronic equipment constructs a point cloud model based on atmospheric data, terrain data, and remote sensing image data.

[0082] In the point cloud model, the atmospheric data corresponding to each point is positively correlated with the size and color of each point.

[0083] As one possible implementation, the electronic device loads terrain data onto the remote sensing image data corresponding to the aforementioned area.

[0084] The electronic device inputs the monitoring location coordinates from the atmospheric data corresponding to the above-mentioned area into a preset coordinate transformation function to obtain the transformed monitoring location coordinates.

[0085] The electronic device loads terrain data, converted monitoring location coordinates, and atmospheric data onto the remote sensing image data corresponding to the above-mentioned area, and calls the createair3dcloudpoint function to construct a point cloud model.

[0086] It should be noted that the `createair3dcloudpoint` function renders the point cloud model by calling a Primitive interface. The Primitive interface consists of a geometric instance and an appearance. The geometric instance represents the structure and spatial location of the point cloud model; the appearance represents the visual features of each point in the point cloud model.

[0087] In practical applications, the electronic device acquires atmospheric data and converted monitoring location coordinates for each point in the above-mentioned area, merges the atmospheric data and converted monitoring location coordinates corresponding to a point into an object, obtains all objects corresponding to all points in the above-mentioned area, and saves all objects into the array ARR.

[0088] Next, the electronic device initializes a Geometry object for each object in the ARR array and generates a model matrix based on the transformed monitoring location coordinates. Then, the electronic device generates a GeometryInstances object based on all Geometry objects corresponding to all objects.

[0089] Then, for each object in the ARR array, an Appearance object is initialized. Based on the value in the atmospheric data corresponding to the first Appearance object, the size and color of the point corresponding to the first Appearance object are determined.

[0090] Furthermore, for all objects in the array ARR, the electronic device initializes a Primitive primitive, sending all Geometry objects and all Appearance objects to the Primitive primitive.

[0091] Furthermore, the electronic device adds Primitive primitives to the terrain data loaded on the remote sensing image data corresponding to the above-mentioned area, and calls the WebGL related interface to render the data in the GPU to obtain the rendered point cloud model.

[0092] Understandably, the Primitive interface consists of geometric instances and appearances. This decouples the collection and appearance, allowing for individual control over the geometric instance and appearance of each point, enabling independent modification or addition of collections or appearances.

[0093] Understandably, for each object in the ARR data, they are first merged into a single GeometryInstances object. Then, based on all objects in the ARR data, they are finally merged into a single Primitive before rendering. In this way, due to the working mechanism of the GPU, batch processing can significantly improve the rendering efficiency of point cloud models.

[0094] In practical applications, since the monitoring location coordinates are in WGS84 coordinates, which are not conducive to spatial calculations, electronic devices need to convert WGS84 coordinates to UTM plane coordinates with zone projection. Specifically, the method for converting WGS84 coordinates to UTM plane coordinates with zone projection involves defining a coordinate transformation function `wgs84toUtm(longitude, latitude)` in the `cesiumCoordUtil` class. The input is the WGS84 coordinates, and after processing, the function outputs UTM plane projection coordinates. UTM is an isometric transverse secant cylindrical projection. Because the projected cylinder intersects the Earth, the length ratio of the central meridian after projection is 0.9996, and the length deformation of each part of the projection zone is relatively stable, with a length deformation of less than 0.1% within the 6° zone.

[0095] In some embodiments, after constructing the point cloud model, such as Figure 4 As shown in the embodiments of this application, the point cloud data processing method further includes the following steps:

[0096] S401. The electronic device responds to the query operation for atmospheric data corresponding to each point and displays the atmospheric data corresponding to each point.

[0097] As one possible implementation, the electronic device responds to a query operation for atmospheric data corresponding to each point by displaying the atmospheric data corresponding to each point through an information panel.

[0098] In practical applications, the electronic device creates an information panel div by calling the `document.createElement` function, then creates a left-click event using the `ScreenSpaceEventHandler` class. In the event callback function, the `pick` method is used to determine the target point in the point cloud model corresponding to the query operation. Afterward, the electronic device displays the point cloud data corresponding to the target point through the information panel.

[0099] It should be noted that the coordinates of the information panel are the screen coordinates corresponding to the target point. The information panel is a Document Object Model (DOM) in the browser. Since the coordinate system of the point cloud model is different from the coordinate system of the screen coordinates, it is necessary to convert the 3D coordinates of the points in the point cloud model to screen coordinates.

[0100] In practical applications, electronic devices convert the 3D coordinates of points in a point cloud model into screen coordinates by calling the SceneTransforms.wgs84ToWindowCoordinates function.

[0101] In response to the mouse hovering over the point cloud model, the display size and color of the point cloud model are changed. For example, when the mouse hovers over the point cloud model, the display size of the point cloud model is changed to twice its normal size, and the display color of the point cloud model is changed to red.

[0102] In response to the mouse hovering over the point cloud model, the display state of the point cloud model is restored to normal.

[0103] In some embodiments, after constructing the point cloud model, such as Figure 5 As shown in the embodiments of this application, the point cloud data processing method further includes the following steps:

[0104] S501. The electronic device determines the target data corresponding to the point cloud model.

[0105] The target data includes the maximum and minimum longitude, maximum and minimum latitude, maximum and minimum altitude values ​​corresponding to the point cloud model.

[0106] As one possible implementation, the electronic device obtains the maximum and minimum longitude, maximum and minimum latitude, maximum and minimum altitude values ​​corresponding to the point cloud model by traversing all point cloud data corresponding to the point cloud model.

[0107] S502. The electronic device constructs a coordinate system framework corresponding to the point cloud model based on the target data.

[0108] As one possible implementation, the electronic device divides the point cloud model into equal longitude, equal latitude, and equal height values ​​based on the maximum and minimum longitude values. This results in multiple longitude, latitude, and height values. The electronic device then generates the longitude, latitude, and height coordinate axes of the point cloud model and draws the corresponding grid lines based on these values, thus obtaining the coordinate system framework for the point cloud model.

[0109] For example, the electronic device divides the latitude of the point cloud model into 5 equal parts, the longitude of the point cloud model into 5 equal parts, and the height of the point cloud model into 5 equal parts.

[0110] In practical applications, before constructing the coordinate system frame corresponding to the point cloud model, it is necessary to clear the historical coordinate system frame of the point cloud model by calling the clear3Dfream function.

[0111] Understandably, the technical solution provided in this application determines the target data corresponding to the point cloud model and constructs a coordinate system framework corresponding to the point cloud model based on the target data. Thus, when a user views the point cloud model, the coordinate system framework corresponding to the point cloud model enriches the information of the point cloud model, helping the user to intuitively observe the positional relationships between different points in the point cloud model, resulting in a more intuitive visualization.

[0112] The foregoing mainly describes the solutions provided by the embodiments of this application from a methodological perspective. To achieve the above functions, the point cloud data processing device or electronic device includes corresponding hardware structures and / or software modules for performing each function. Those skilled in the art should readily recognize that, based on the units and algorithm steps of the various examples described in conjunction with the embodiments disclosed herein, this application can be implemented in hardware or a combination of hardware and computer software. Whether a function is executed in hardware or by computer software driving hardware depends on the specific application and design constraints of the technical solution. Those skilled in the art can use different methods to implement the described functions for each specific application, but such implementation should not be considered beyond the scope of this application.

[0113] This application embodiment can, according to the above method, exemplarily divide a point cloud data processing device or electronic device into functional modules. For example, the point cloud data processing device or electronic device may include functional modules corresponding to each functional division, or two or more functions may be integrated into one processing module. The integrated module can be implemented in hardware or as a software functional module. It should be noted that the module division in this application embodiment is illustrative and only represents one logical functional division; in actual implementation, there may be other division methods.

[0114] For example, embodiments of this application also provide a point cloud data processing device.

[0115] In some embodiments, Figure 6 This is a block diagram illustrating a point cloud data processing apparatus according to an exemplary embodiment. (Refer to...) Figure 6 The point cloud data processing device 600 includes an acquisition unit 601, a determination unit 602, and a processing unit 603.

[0116] The acquisition unit 601 is used to acquire point cloud data of the point cloud model within the first display range; the point cloud data is used to represent the atmospheric quality status of the area corresponding to the point cloud model.

[0117] Determining unit 602 is used to determine a second display range in response to a current display change operation performed on the point cloud model.

[0118] The processing unit 603 is used to load first point cloud data and unload second point cloud data; the first point cloud data includes point cloud data of a second display range; the second point cloud data is point cloud data of a range in the first display range that does not overlap with the second display range.

[0119] Optional, such as Figure 6 As shown, the current display change operation in this embodiment of the application satisfies preset operation conditions; the preset operation conditions include: the difference between the operation time corresponding to the current display change operation and the operation time corresponding to the previous display change operation is within a preset time range, the scaling scale corresponding to the current display change operation is less than a first preset scaling scale, and the difference between the scaling scale corresponding to the current display change operation and the scaling scale corresponding to the previous display change operation is greater than a second preset scaling scale.

[0120] Optional, such as Figure 6 As shown, the processing unit 603 provided in this embodiment is further used for:

[0121] Set the display status of the third cloud data in the second cloud data to display status; the loading status of the third cloud data is loaded, and the display status is not displayed.

[0122] Optional, such as Figure 6 As shown, the point cloud data processing device 600 provided in this application embodiment further includes: a construction unit 604.

[0123] The acquisition unit 601 is also used to acquire atmospheric data, topographic data and remote sensing image data corresponding to the region.

[0124] The building unit 604 is used to construct a point cloud model based on atmospheric data, terrain data, and remote sensing image data; the atmospheric data corresponding to each point in the point cloud model is positively correlated with the size and color of each point.

[0125] Optional, such as Figure 6 As shown, after constructing the point cloud model, the processing unit 603 provided in this embodiment of the application is further used for:

[0126] In response to a query operation for atmospheric data corresponding to each point, display the atmospheric data corresponding to each point.

[0127] Optional, such as Figure 6 As shown, after constructing the point cloud model, the determining unit 602 provided in this embodiment is further used to determine the target data corresponding to the point cloud model; the target data includes the maximum longitude, minimum longitude, maximum latitude, minimum latitude, maximum altitude, and minimum altitude corresponding to the point cloud model.

[0128] The building unit 604 is also used to build the coordinate system framework corresponding to the point cloud model based on the target data.

[0129] Regarding the apparatus in the above embodiments, the specific manner in which each module performs its operation has been described in detail in the embodiments related to the method, and will not be elaborated upon here.

[0130] Figure 7 This is a block diagram illustrating an electronic device according to an exemplary embodiment. Figure 7 As shown, the electronic device 700 includes, but is not limited to, a processor 701 and a memory 702.

[0131] The aforementioned memory 702 is used to store the executable instructions of the aforementioned processor 701. It is understood that the aforementioned processor 701 is configured to execute instructions to implement the point cloud data processing method in the above embodiments.

[0132] It should be noted that those skilled in the art will understand that Figure 7 The electronic device structure shown does not constitute a limitation on the electronic device; the electronic device may include, but is not limited to, other electronic devices. Figure 7 This may indicate more or fewer components, or a combination of certain components, or a different arrangement of components.

[0133] Processor 701 is the control center of the electronic device. It connects various parts of the electronic device via various interfaces and lines. By running or executing software programs and / or modules stored in memory 702, and by calling data stored in memory 702, it performs various functions and processes data, thereby providing overall monitoring of the electronic device. Processor 701 may include one or more processing units. Optionally, processor 701 may integrate an application processor and a modem processor. The application processor mainly handles the operating system, user interface, and applications, while the modem processor mainly handles wireless communication. It is understood that the modem processor may not be integrated into processor 701.

[0134] The memory 702 can be used to store software programs and various data. The memory 702 may primarily include a program storage area and a data storage area. The program storage area may store the operating system, application programs required by at least one functional module (such as a determination unit, processing unit, etc.), etc. Furthermore, the memory 702 may include high-speed random access memory, and may also include non-volatile memory, such as at least one disk storage device, flash memory device, or other volatile solid-state storage device.

[0135] In an exemplary embodiment, a computer-readable storage medium including instructions is also provided, such as a memory 702 including instructions, which can be executed by a processor 701 of an electronic device 700 to implement the point cloud data processing method in the above embodiments.

[0136] In actual implementation, Figure 6 The functions of the acquisition unit 601, determination unit 602, processing unit 603, and construction unit 604 can all be provided by... Figure 7 The processor 701 calls the computer program stored in the memory 702 to implement the process. The specific execution process can be found in the description of the point cloud data processing method in the previous embodiment, and will not be repeated here.

[0137] Optionally, the computer-readable storage medium may be a non-transitory computer-readable storage medium, such as a read-only memory (ROM), random access memory (RAM), CD-ROM, magnetic tape, floppy disk, and optical data storage device.

[0138] In an exemplary embodiment, this application also provides a computer program product including one or more instructions, which can be executed by a processor 701 of an electronic device to complete the point cloud data processing method in the above embodiments.

[0139] It should be noted that when one or more instructions in the computer-readable storage medium or computer program product are executed by the processor of the electronic device, they implement the various processes of the above-described point cloud data processing method embodiments and can achieve the same technical effect as the above-described point cloud data processing method. To avoid repetition, they will not be described again here.

[0140] Through the above description of the embodiments, those skilled in the art can clearly understand that, for the sake of convenience and brevity, only the division of the above functional modules is used as an example. In actual applications, the above functions can be assigned to different functional modules as needed, that is, the internal structure of the device can be divided into different functional modules to complete all or part of the functions described above.

[0141] In the several embodiments provided in this application, it should be understood that the disclosed apparatus and methods can be implemented in other ways. For example, the apparatus embodiments described above are merely illustrative; for instance, the division of modules or units is only a logical functional division, and in actual implementation, there may be other division methods. For example, multiple units or components may be combined or integrated into another apparatus, or some features may be ignored or not executed. Furthermore, the mutual coupling or direct coupling or communication connection shown or discussed may be through some interfaces; the indirect coupling or communication connection between apparatuses or units may be electrical, mechanical, or other forms.

[0142] The units described as separate components may or may not be physically separate. A component shown as a unit can be one or more physical units; that is, it can be located in one place or distributed in multiple different locations. Some or all of the classified units can be selected to achieve the purpose of this embodiment, depending on actual needs.

[0143] Furthermore, the functional units in the various embodiments of this application can be integrated into one processing unit, or each unit can exist physically separately, or two or more units can be integrated into one unit. The integrated unit can be implemented in hardware or as a software functional unit.

[0144] If the integrated unit is implemented as a software functional unit and sold or used as an independent product, it can be stored in a readable storage medium. Based on this understanding, the technical solution of the embodiments of this application, essentially, or the part that contributes to the prior art, or a complete or partial classification of the technical solution, can be embodied in the form of a software product. This software product is stored in a storage medium and includes several instructions to cause a device (which may be a microcontroller, chip, etc.) or processor to execute all or part of the steps of the methods of the various embodiments of this application. The aforementioned storage medium includes various media capable of storing program code, such as USB flash drives, portable hard drives, ROM, RAM, magnetic disks, or optical disks.

[0145] The above are merely specific embodiments of this application, but the scope of protection of this application is not limited thereto. Any variations or substitutions within the technical scope disclosed in this application should be included within the scope of protection of this application. Therefore, the scope of protection of this application should be determined by the scope of the claims.

Claims

1. A point cloud data processing method, characterized in that, The method includes: Acquire atmospheric data, terrain data, and remote sensing image data of the target area; construct a point cloud model based on the atmospheric data, terrain data, and remote sensing image data; the atmospheric data corresponding to each point in the point cloud model is positively correlated with the size and color of the point corresponding to each point; Acquire point cloud data of the point cloud model within a first display range; the point cloud data is used to represent the atmospheric quality state of the area corresponding to the point cloud model. In response to a current display change operation performed on the point cloud model, a second display range is determined; The current display change operation meets preset operation conditions; the preset operation conditions include: the difference between the operation time corresponding to the current display change operation and the operation time corresponding to the previous display change operation is within a preset time range, the scaling scale corresponding to the current display change operation is less than a first preset scaling scale, and the difference between the scaling scale corresponding to the current display change operation and the scaling scale corresponding to the previous display change operation is greater than a second preset scaling scale. Load the first point cloud data and unload the second point cloud data; the first point cloud data includes the point cloud data of the second display range; the second point cloud data is the point cloud data of the non-overlapping range of the first display range and the second display range. The loading of the first point cloud data and unloading of the second point cloud data includes: creating a background thread in the webpage, calculating the point cloud data within the first display range through the background thread, and, in response to the current display change operation, calculating the point cloud data within the second display range, and determining the overlapping portions of the bounding rectangles of the point cloud models corresponding to the first and second display ranges with the screen range; if there is unloaded point cloud data in the overlapping portion corresponding to the second display range, then loading the unloaded point cloud data; if some point cloud data in the overlapping portion corresponding to the first display range does not belong to the overlapping portion corresponding to the second display range, then unloading the partial point cloud data.

2. The method according to claim 1, characterized in that, The method further includes: Set the display status of the third point cloud data in the second point cloud data to the display status; the loading status of the third point cloud data is loaded, and the display status is not displayed.

3. The method according to claim 1, characterized in that, After constructing the point cloud model, the method further includes: In response to a query operation for atmospheric data corresponding to each point, the atmospheric data corresponding to each point is displayed.

4. The method according to claim 1, characterized in that, After constructing the point cloud model, the method further includes: Determine the target data corresponding to the point cloud model; the target data includes the maximum and minimum longitude, maximum and minimum latitude, maximum and minimum altitude corresponding to the point cloud model; Based on the target data, construct the coordinate system framework corresponding to the point cloud model.

5. A point cloud data processing device, characterized in that, The device includes: an acquisition unit, a construction unit, a determination unit, and a processing unit; The acquisition unit is used to acquire atmospheric data, terrain data and remote sensing image data corresponding to the target area; The construction unit is used to construct a point cloud model based on the atmospheric data, the terrain data, and the remote sensing image data; the atmospheric data corresponding to each point in the point cloud model is positively correlated with the size and color of the point corresponding to each point. The acquisition unit is further configured to acquire point cloud data of the point cloud model within a first display range; the point cloud data is used to represent the atmospheric quality state of the area corresponding to the point cloud model. The determining unit is configured to determine a second display range in response to a current display change operation performed on the point cloud model; the current display change operation satisfies preset operation conditions; the preset operation conditions include: the difference between the operation time corresponding to the current display change operation and the operation time corresponding to the previous display change operation is within a preset time range, the scaling scale corresponding to the current display change operation is less than a first preset scaling scale, and the difference between the scaling scale corresponding to the current display change operation and the scaling scale corresponding to the previous display change operation is greater than a second preset scaling scale; The processing unit is configured to load first point cloud data and unload second point cloud data; the first point cloud data includes point cloud data of the second display range; the second point cloud data is point cloud data of the non-overlapping range of the first display range and the second display range; wherein, loading the first point cloud data and unloading the second point cloud data includes: creating a background thread in the webpage, calculating the point cloud data of the first display range through the background thread, and calculating the point cloud data of the second display range in response to the current display change operation, respectively determining the overlapping portion of the bounding rectangle of the point cloud model corresponding to the first display range and the second display range with the screen range; if there is unloaded point cloud data in the overlapping portion corresponding to the second display range, then loading the unloaded point cloud data; if some point cloud data in the overlapping portion corresponding to the first display range does not belong to the overlapping portion in the overlapping portion corresponding to the second display range, then unloading the part of the point cloud data.

6. The apparatus according to claim 5, characterized in that, The processing unit is further configured to: Set the display status of the third point cloud data in the second point cloud data to the display status; the loading status of the third point cloud data is loaded, and the display status is not displayed.

7. The apparatus according to claim 5, characterized in that, After constructing the point cloud model, the processing unit is further configured to: In response to a query operation for atmospheric data corresponding to each point, the atmospheric data corresponding to each point is displayed.

8. The apparatus according to claim 5, characterized in that, After constructing the point cloud model, the determining unit is further configured to determine the target data corresponding to the point cloud model; the target data includes the maximum longitude, minimum longitude, maximum latitude, minimum latitude, maximum altitude, and minimum altitude corresponding to the point cloud model; The construction unit is also used to construct the coordinate system framework corresponding to the point cloud model based on the target data.

9. An electronic device, characterized in that, include: processor; Memory used to store the processor's executable instructions; The processor is configured to execute the instructions to implement the method as described in any one of claims 1 to 4.

10. A computer-readable storage medium, characterized in that, When the computer-executable instructions stored in the computer-readable storage medium are executed by the processor of the electronic device, the electronic device is capable of performing the method as described in any one of claims 1 to 4.

Citation Information

Patent Citations

  • Web end-based point cloud rendering method and system, and storage medium

    CN114756798A