Meteorological radar data three-dimensional visualization method based on adaptive linear octree
Sparse voxel grids and voxel octrees are constructed by adaptive linear octrees, invalid data areas are eliminated, and combined with dynamic ray casting methods, the storage and computation bottlenecks in 3D visualization of Doppler radar data are solved, achieving efficient storage and rendering.
Patent Information
- Application Number
- CN202510508243.4
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2025-04-22
- Publication Date
- 2025-09-12
- Estimated Expiration
- 2045-04-22
AI Technical Summary
Existing technologies face storage and computational bottlenecks in the three-dimensional visualization of Doppler radar data. Traditional uniform grids need to store all three-dimensional data, resulting in high memory usage in sparse areas and being unable to adapt to the extreme sparsity of radar data. In addition, existing index structures running on the CPU are not suitable for dynamic radar volume scanning data.
A method based on adaptive linear octree is used to construct a sparse voxel grid, eliminate invalid data areas, build an adaptive depth voxel octree, and create a block structure in the leaf nodes. Trilinear interpolation is used to calculate the reflectivity data, which is compressed into a linear structure. Dynamic ray casting method is combined for volume rendering.
Significantly reduce memory usage, improve storage efficiency, reduce memory overhead, improve query efficiency, adapt to the sparsity of radar data, reduce data structure construction time, and optimize rendering effects.
Smart Images

Figure CN120635296A_ABST
Abstract
Description
Technical Field
[0001] The present invention belongs to the technical field of weather radar data processing, and in particular relates to a three-dimensional visualization method of weather radar data based on an adaptive linear octree. Background Art
[0002] Doppler radar is a core method for detecting small and medium-scale convective weather. Its 3D visualization technology is crucial for meteorological analysis and forecasting by intuitively displaying the spatial distribution and internal structure of radar echo data. Currently, volume rendering methods based on ray casting are widely used for 3D visualization of radar data, but they are limited by the following characteristics of Doppler radar data:
[0003] The spatial distribution is extremely irregular: the targets within the detection range are scattered and irregular in shape, resulting in high data sparsity;
[0004] Dynamic and local: Radar scans are dynamically updated in sector-shaped areas, requiring frequent local data reconstruction;
[0005] Storage and computational bottlenecks: Traditional uniform voxel grids need to store all three-dimensional data, resulting in memory waste, and fixed resolution is difficult to adapt to changes in data density.
[0006] Existing technologies attempt to optimize storage and computing efficiency through spatial index structures, but they still have significant drawbacks:
[0007] Linear octrees are used to store volume data, but the octree encoding methods are relatively complex, and the octree is constructed with the entire volume data as the root node, which makes the octree deep, the query cost high, and the query efficiency low.
[0008] The unbounded sparse voxel data structure based on the B+ tree can adapt the tree structure to the voxel data, using a shallower wide node tree instead of the traditional deep narrow node tree. It is effective in sparse data compression and random voxel access. However, this data structure only supports the CPU and requires additional storage requirements to support dynamic data updates. It is not suitable for static radar volume scan data.
[0009] Existing technologies, recognizing the irregular distribution of radar volume data, have proposed using 3D Tiles to implement a level-of-detail (LOD) data structure for radar volume data. This approach selects the appropriate level for rendering based on the positional relationship between the viewport and the volume data. While this improves algorithm performance when rendering large-scale radar data, the uniform tile division method employed does not consider local data characteristics. Furthermore, the data structure description of radar data distribution is complex and consumes significant storage space. Summary of the Invention
[0010] The purpose of the present invention is to address the above-mentioned deficiencies in the prior art and provide a three-dimensional visualization method for meteorological radar data based on an adaptive linear octree, so as to solve the problem that traditional uniform grids need to store all three-dimensional data, have a large memory occupancy rate in sparse areas, and cannot adapt to the extreme sparsity of radar data.
[0011] In order to achieve the above object, the technical solution adopted by the present invention is:
[0012] A three-dimensional visualization method for weather radar data based on an adaptive linear octree comprises the following steps:
[0013] S1. Construct a sparse voxel grid based on the spatial distribution characteristics of radar volume scan data;
[0014] S2, constructing a depth-adaptive voxel octree in each valid cell in the sparse voxel grid;
[0015] S3, create a block structure for each leaf node in the voxel octree and interpolate;
[0016] S4, compressing the sparse voxel grid and voxel octree into a linear structure;
[0017] S5. Use dynamic ray casting method to perform volume rendering on radar volume scan data compressed into a linear structure.
[0018] Furthermore, in S1, a sparse voxel grid is constructed, including:
[0019] According to the spatial distribution characteristics of radar volume scan data, the three-dimensional space is divided into sparse voxel grid units. By sampling the points in the sparse voxel grid cells, it is determined whether the cells contain valid data, and then the blank areas with no echo data are eliminated.
[0020] Furthermore, S2 specifically includes the following steps:
[0021] S21. Create a low-resolution grid based on the radar detection range, where the bounding box corresponding to each grid cell in the grid is a regular hexahedron;
[0022] S22, traverse each sampling point in the radar volume scan data, convert the sampling point from polar coordinates to Cartesian coordinates, and add the data point to the corresponding grid cell list according to the Cartesian coordinates;
[0023] S23. Traverse each grid unit, use the grid unit as the root node of the octree, and start building the voxel octree: if the current root node meets the subdivision condition, divide it into eight child nodes, and add the data points contained in the root node to the corresponding child nodes, and recursively build the subtree; if the subdivision condition is not met, mark the current root node as a leaf node.
[0024] Furthermore, in S23 , the subdivision condition is: the variance of the reflectivity data in the root node is less than a preset threshold, and the current octree depth is less than a preset maximum depth of the octree.
[0025] Furthermore, S3 specifically includes:
[0026] A 4×4×4 block structure is constructed in each octree leaf node. Based on the block structure, trilinear interpolation is used to calculate the reflectivity data in each leaf node.
[0027] Furthermore, trilinear interpolation is used to calculate the reflectivity data in each leaf node, including:
[0028] The corresponding polar coordinates are calculated based on the Cartesian coordinates of the interpolation point in the leaf node:
[0029]
[0030] Where, θ, r are the elevation angle, azimuth angle, and radial distance of the polar coordinates of the interpolation point; x, y, and z are the Cartesian coordinates of the interpolation point;
[0031] The elevation angle θ of the two adjacent cone surfaces is obtained by querying the elevation angle θ of the polar coordinates of the interpolation point. i and θ i+1 , interpolate the two cone surfaces to get Ze i and Ze i+1 , then at this time the polar coordinates of the interpolation point The basic reflectivity at is:
[0032]
[0033] Where Ze is the basic reflectivity value obtained by interpolation at the target elevation angle θ; Ze i and Ze i+1 are the two elevation layers θ adjacent to the target point in the elevation dimension i and θ i+1 The basic reflectivity value at ;
[0034] According to the azimuth of the polar coordinates of the interpolation point Query and obtain the azimuth angles of the two adjacent radial directions in the cone and And interpolate to get Ze i,j and Ze i,j+1 , at this time, the polar coordinates of the interpolation point The basic reflectivity at is:
[0035]
[0036] In the formula, Ze i is the elevation angle θ i In-layer, target azimuth The basic reflectivity value obtained by interpolation at Ze i,j and Ze i,j+1 is the elevation angle θ i Layer, with target azimuth Two adjacent azimuths and The basic reflectivity value at ;
[0037] According to the radial distance r of the polar coordinates of the interpolation point, the two adjacent radial distance sampling points r are obtained. k and r k+1 , and interpolate to get Ze i,j,k and Ze i,j,k+1 , at this time, the polar coordinates of the interpolation point The basic reflectivity at is:
[0038]
[0039] In the formula, Ze i,j is the elevation angle θ i Layer and azimuth The basic reflectivity value obtained by interpolation at the radial distance r of the target; Ze i,j,k and Ze i,j,k+1 is the elevation angle θ i Layer, azimuth At the two distances r adjacent to the target radial distance r k and r k+1 The basic reflectivity value at .
[0040] Furthermore, in S4, 32 bits are used to encode each node of the octree, and the highest bit is used to identify whether the node is a leaf node. If the node is a leaf node, the remaining 31 bits are used as an integer to store the index of the block structure Block, otherwise it represents the index of the first child node. Specifically, before generating and compressing the octree, the octree is compressed using a depth-first traversal order, including:
[0041] Maintain an index of the encoded node position and assign the index to the octree node for storage. When traversing a node, if the node is a leaf node, set the encoding array value corresponding to the node to the block structure Block index. Otherwise, take the first child node of the node and set the encoding array value corresponding to the node to the index value of the first child node, and then queue eight child nodes in sequence.
[0042] Furthermore, S4 specifically includes:
[0043] During voxel octree encoding compression, the sparse voxel grid is compressed into the head of the encoding array. If the data in the current grid cell is valid, the encoded value points to the octree root node position; otherwise, it is set to a fixed value to indicate invalid data. For the special case of a single-layer tree depth, the storage structure is optimized so that the cell index directly points to the block structure.
[0044] Furthermore, in S5, the dynamic ray marching length in the dynamic ray casting method is:
[0045]
[0046] Where Δt' is the dynamic ray march length; Δt is the original fixed ray march length; d is the current node depth, r is the scaling factor; and g is the relaxation coefficient.
[0047] The three-dimensional visualization method of weather radar data based on adaptive linear octree provided by the present invention has the following beneficial effects:
[0048] The data structure adopted by the present invention only records the areas containing valid echo data, thereby greatly improving storage efficiency; compared with the traditional uniform grid storage scheme, the data structure proposed by the present invention significantly reduces memory usage and avoids waste of resources; and can adaptively adjust the depth of the voxel octree according to the distribution frequency of the volume scan data, thereby achieving adaptive grid resolution.
[0049] The method employed by this invention uses significantly less memory at all resolutions than a traditional uniform voxel grid (which consumes 512MB of memory), reducing memory usage by approximately 53%. This effectively reduces the memory burden when processing large-scale radar volume scan datasets. Because the method skips most blank data areas during data interpolation, data structure construction is faster than with a uniform grid, reducing average time consumption by 38%. BRIEF DESCRIPTION OF THE DRAWINGS
[0050] Figure 1 This is a flowchart of a method for three-dimensional visualization of weather radar data based on an adaptive linear octree according to an embodiment of the present invention.
[0051] Figure 2 A sparse voxel grid according to an embodiment of the present invention.
[0052] Figure 3 This is the linear octree encoding of an embodiment of the present invention.
[0053] Figure 4 The linear data structure optimized by the embodiment of the present invention
[0054] Figure 5 This is the dynamic ray step size according to an embodiment of the present invention. DETAILED DESCRIPTION
[0055] The specific embodiments of the present invention are described below to facilitate understanding of the present invention by those skilled in the art. However, it should be clear that the present invention is not limited to the scope of the specific embodiments. For those skilled in the art, as long as various changes are within the spirit and scope of the present invention as defined and determined by the appended claims, these changes are obvious, and all inventions and creations utilizing the concepts of the present invention are protected.
[0056] Example 1
[0057] The present embodiment of the weather radar data 3D visualization method based on adaptive linear octree, the present embodiment constructs a sparse voxel grid for the entire radar volume scan data area, eliminates the blank data area, and then constructs a voxel octree for the valid voxel cells, and finally compresses the voxel grid and the voxel octree into a linear structure to complete the volume rendering; the present embodiment solves the problem that the traditional uniform grid needs to store all 3D data, the sparse area has a large memory occupancy rate, and cannot adapt to the extreme sparsity of radar data, thereby optimizing query efficiency and reducing memory overhead, reference Figure 1 , which specifically includes the following:
[0058] Step S1: construct a sparse voxel grid based on the spatial distribution characteristics of radar volume scanning data;
[0059] In this embodiment, based on the spatial distribution characteristics of radar volume scan data, the three-dimensional space is first divided into sparse voxel grid units, and blank areas without echo data are eliminated.
[0060] refer to Figure 2 ,Specifically, in the process of constructing a low-resolution uniform grid, the ,points within the cell are sampled to determine whether the cell contains valid data. ,In the process of constructing the voxel octree in step S2, invalid cells ,are skipped, thereby saving memory.
[0061] Step S2: Construct a depth-adaptive voxel octree in each valid cell in the sparse voxel grid, referring to Figure 2 , which specifically includes the following steps:
[0062] Step S21: Create a low-resolution grid based on the radar detection range, ensuring that the bounding box corresponding to each grid cell is a regular hexahedron;
[0063] Step S22: traverse each sampling point in the radar volume scan data, convert it from polar coordinates to Cartesian coordinates, and add the data point to the corresponding grid cell list according to the Cartesian coordinates;
[0064] Step S23: traverse each grid cell, regard it as the root node of the octree, and start building the voxel octree:
[0065] Specifically, if the current node meets the conditions for further subdivision, it will be divided into eight smaller child nodes, and the data points contained in the node will be added to the corresponding child nodes, and the subtree will be constructed recursively;
[0066] If the subdivision condition is not met, the current node is marked as a leaf node.
[0067] In this step S23, the subdivision conditions are:
[0068] Whether the variance of the reflectivity data within the node is less than the preset threshold and whether the current octree depth is less than the preset maximum depth of the octree is used as the basis for determining the subdivision condition, thereby adaptively adjusting the depth of the voxel octree according to the reflectivity data in the space.
[0069] It should be noted that voxel refers to the basic unit of three-dimensional space stored in the octree, so it is called voxel octree. The term voxel octree emphasizes its use in voxel expression. The structure here is no different from the octree, because the octree itself represents a three-dimensional space tree data structure that divides a regular hexahedron into 8 small regular hexahedrons. In addition, for the linear octree, linear refers to the storage structure of the octree as linear storage, not the traditional pointer-linked tree structure.
[0070] Step S3: Create a block structure for each leaf node in the octree and interpolate;
[0071] After the voxel octree is constructed, the next step is to calculate the reflectivity data for each leaf node. A simple method for calculating the reflectivity data for each leaf node is to apply trilinear interpolation to the center point of the leaf node's bounding box to obtain the reflectivity value. During the rendering process, the octree is traversed to the corresponding leaf node, and the reflectivity value of the leaf node center is used for rendering. This method is actually equivalent to nearest neighbor interpolation, and its rendering results often exhibit a noticeable blocky structure. To implement trilinear interpolation within the leaf node and thus improve rendering quality, an improved solution is to store the reflectivity data of the eight vertices of its bounding box in each leaf node. During rendering, the reflectivity data of these eight vertices is used for linear interpolation. Although this method significantly improves rendering results, it also leads to a large amount of data redundancy.
[0072] To address this issue, this embodiment constructs a 4×4×4 3D texture (called a block) in each octree leaf node for interpolation. Generally, each block only has eight vertices and some redundant data on the edges, significantly reducing storage space waste.
[0073] For the trilinear interpolation calculation of radar basic reflectivity, first calculate the i and θ i+1 ) to get Ze. Then, in the same elevation layer, for different azimuths ( and ) interpolation, we get Ze i Finally, at the same elevation and azimuth positions, for different radial distances (r k and r k+1 ) interpolation, we get Ze i,j , which specifically includes the following:
[0074] The corresponding polar coordinates are calculated based on the Cartesian coordinates of the interpolation point in the leaf node:
[0075]
[0076] Where, θ, r are the elevation angle, azimuth angle, and radial distance of the polar coordinates of the interpolation point; x, y, and z are the Cartesian coordinates of the interpolation point;
[0077] The elevation angle θ of the two adjacent cone surfaces is obtained by querying the elevation angle θ of the polar coordinates of the interpolation point. i and θ i+1 , interpolate the two cone surfaces to get Ze i and Ze i+1 , then at this time the polar coordinates of the interpolation point The basic reflectivity at is:
[0078]
[0079] Where Ze is the basic reflectivity value obtained by interpolation at the target elevation angle θ; Ze i and Ze i+1 are the two elevation layers θ adjacent to the target point in the elevation dimension i and θ i+1 The basic reflectivity value at .
[0080] According to the azimuth of the polar coordinates of the interpolation point Query and obtain the azimuth angles of the two adjacent radial directions in the cone and And interpolate to get Ze i,j and Ze i,j+1, at this time, the polar coordinates of the interpolation point The basic reflectivity at is:
[0081]
[0082] In the formula, Ze i is the elevation angle θ i In-layer, target azimuth The basic reflectivity value obtained by interpolation at Ze i,j and Ze i,j+1 At the elevation angle θ i Layer, with target azimuth Two adjacent azimuths and The basic reflectivity value at .
[0083] According to the radial distance r of the polar coordinates of the interpolation point, the two adjacent radial distance sampling points r are obtained. k and r k+1 , and interpolate to get Ze i,j,k and Ze i,j,k+1 , at this time, the polar coordinates of the interpolation point The basic reflectivity at is:
[0084]
[0085] In the formula, Ze i,j is the elevation angle θ i Layer and azimuth The basic reflectivity value obtained by interpolation at the radial distance r of the target; Ze i,j,k and Ze i,j,k+1 At the elevation angle θ i Layer, azimuth At the two distances r adjacent to the target radial distance r k and r k+1 The basic reflectivity value at .
[0086] Step S4: compressing the sparse voxel grid and voxel octree into a linear structure;
[0087] refer to Figure 3 ,This embodiment uses a linear octree for data compression;
[0088] Specifically, the octree node of this embodiment has two states: one is to store block structure Block information as a leaf node, and the other is to be further divided into 8 child nodes, which meets the characteristics of a complete octree.
[0089] This embodiment encodes each octree node using 32 bits, with the most significant bit used to identify whether the node is a leaf node. If the node is a leaf node, the remaining 31 bits are used as an integer to store the index of the block structure. Otherwise, they represent the index of the first child node.
[0090] refer to Figure 4 ,The octree generation and compression steps need to be performed in advance, and the compression is performed in a depth-first traversal order. During the traversal, an index of the encoded node position is maintained and the index is assigned to the octree node for storage. When traversing a node, if the node is a leaf node, the encoding array value corresponding to the node is set to the block structure Block index. Otherwise, the first child node of the node is taken, and the encoding array value corresponding to the node is set to the index value of the first child node, and then eight child nodes are queued in sequence.
[0091] During voxel octree encoding and compression, the sparse voxel grid is compressed into the header of the encoding array. If the data in the current grid cell is valid, the encoded value points to the octree root node. Otherwise, it is set to a fixed value to indicate invalid data. For the special case of a single-level tree depth (where the grid cell index points to the tree root node, which is a leaf node and points to a block), the storage structure is optimized so that the cell index directly points to the block, further reducing memory waste and improving GPU memory access efficiency.
[0092] In this embodiment, the uniform in the uniform voxel grid means that the divided grid is uniform, not irregular. However, the sparse refers to the fact that the invalid grids that do not contain valid data are eliminated from the uniform grid after division, which is called a sparse voxel grid. These are two properties of the voxel grid.
[0093] Step S5: performing volume rendering on the weather radar volume scan data compressed into a linear structure using a dynamic ray casting method;
[0094] In traditional ray casting algorithms, there are significant problems when using fixed step sizes to sample the data structure. When a longer step size is used for sampling, the ray may cross too many leaf nodes at a deeper level at once, resulting in insufficient sampling frequency and loss of detail information during volume rendering. On the contrary, when a shorter step size is used, for leaf nodes at a shallower level, since these nodes themselves have lower resolution, high-frequency sampling will not only fail to improve the rendering effect, but will significantly reduce the efficiency of the algorithm. Therefore, the traditional fixed step size method is difficult to adapt to the characteristics of the voxel octree structure, and a dynamic ray marching step size is required for volume rendering. Figure 5 , the dynamic light marching length is:
[0095]
[0096] Where Δt' is the dynamic ray marching step length; Δt is the original fixed ray marching step length; d is the current node depth; r is the scaling factor, which is user-adjustable to control the sampling density; and g is the relaxation coefficient. A larger g value results in less noticeable dynamic ray marching, approaching fixed-step sampling. This embodiment effectively avoids node jumping by using dynamic ray marching step length.
[0097] The present invention reduces memory overhead by introducing a sparse grid. The radar volume scan data encoded by the octree can adapt to the tree depth and resolution according to the accuracy, thus solving the problem of dynamic resolution. In order to overcome the problems encountered in directly dividing the octree, the octree is nested in the grid. In view of the limitations of the method of using pointers to index child nodes in the typical octree structure, which leads to a large memory occupancy, a linear octree is used for data compression. In the sampling process of the leaf node, in order to improve the rendering effect and prevent a large amount of data redundancy, a 4×4×4 three-dimensional texture (called a block structure Block) is constructed in each octree leaf node for interpolation. Under normal circumstances, each Block has only eight vertices and some data on the edges are redundant, which greatly reduces the waste of storage space.
[0098] Although the specific embodiments of the invention are described in detail in conjunction with the accompanying drawings, this should not be construed as limiting the scope of protection of this patent. Within the scope described by the claims, various modifications and variations that can be made by those skilled in the art without creative work still fall within the scope of protection of this patent.
Claims
1. A three-dimensional visualization method for weather radar data based on an adaptive linear octree, characterized in that: The following steps are involved: S1. Construct a sparse voxel grid based on the spatial distribution characteristics of radar volume scan data; S2, constructing a depth-adaptive voxel octree in each valid cell in the sparse voxel grid; S3, create a block structure for each leaf node in the voxel octree and interpolate; S4, compressing the sparse voxel grid and voxel octree into a linear structure; S5. Use dynamic ray casting method to perform volume rendering on radar volume scan data compressed into a linear structure.
2. The method for three-dimensional visualization of weather radar data based on adaptive linear octree according to claim 1, characterized in that: In S1, a sparse voxel grid is constructed, including: According to the spatial distribution characteristics of radar volume scan data, the three-dimensional space is divided into sparse voxel grid units. By sampling the points in the sparse voxel grid cells, it is determined whether the cells contain valid data, and then the blank areas with no echo data are eliminated.
3. The method for three-dimensional visualization of weather radar data based on adaptive linear octree according to claim 1, characterized in that: The S2 specifically includes the following steps: S21. Create a low-resolution grid based on the radar detection range, where the bounding box corresponding to each grid cell in the grid is a regular hexahedron; S22, traverse each sampling point in the radar volume scan data, convert the sampling point from polar coordinates to Cartesian coordinates, and add the data point to the corresponding grid cell list according to the Cartesian coordinates; S23. Traverse each grid unit, use the grid unit as the root node of the octree, and start building the voxel octree: if the current root node meets the subdivision condition, divide it into eight child nodes, and add the data points contained in the root node to the corresponding child nodes, and recursively build the subtree; if the subdivision condition is not met, mark the current root node as a leaf node.
4. The method for three-dimensional visualization of weather radar data based on adaptive linear octree according to claim 3, characterized in that: In the above S23, the subdivision condition is: the variance of the reflectivity data in the root node is less than a preset threshold, and the current octree depth is less than a preset maximum depth of the octree.
5. The method for three-dimensional visualization of weather radar data based on adaptive linear octree according to claim 1, characterized in that: The S3 specifically includes: A 4×4×4 block structure is constructed in each octree leaf node. Based on the block structure, trilinear interpolation is used to calculate the reflectivity data in each leaf node.
6. The method for three-dimensional visualization of weather radar data based on adaptive linear octree according to claim 5, characterized in that: Trilinear interpolation is used to calculate the reflectivity data in each leaf node, including: The corresponding polar coordinates are calculated based on the Cartesian coordinates of the interpolation point in the leaf node: Where, are the elevation angle, azimuth angle, and radial distance of the polar coordinates of the point to be interpolated; x, y, and z are the Cartesian coordinates of the point to be interpolated; The elevation angle θ of the two adjacent cone surfaces is obtained by querying the elevation angle θ of the polar coordinates of the interpolation point. i and θ i+1 , interpolate the two cone surfaces to get Ze i and Ze i+1 , then at this time the polar coordinates of the interpolation point The basic reflectivity at is: Where Ze is the basic reflectivity value obtained by interpolation at the target elevation angle θ; Ze i and Ze i+1 are the two elevation layers θ adjacent to the target point in the elevation dimension i and θ i+1 The basic reflectivity value at ; According to the azimuth of the polar coordinates of the interpolation point Query and obtain the azimuth angles of the two adjacent radial directions in the cone and And interpolate to get Ze i,j and Ze i,j+1 , at this time, the polar coordinates of the interpolation point The basic reflectivity at is: In the formula, Ze i At the elevation angle θ i In-layer, target azimuth The basic reflectivity value obtained by interpolation at Ze i,j and Ze i,j+1 At the elevation angle θ i Layer, with target azimuth Two adjacent azimuths and The basic reflectivity value at ; According to the radial distance r of the polar coordinates of the interpolation point, the two adjacent radial distance sampling points r are obtained. k and r k+1 , and interpolate to get Ze i,j,k and Ze i,j,k+1 , at this time, the polar coordinates of the interpolation point The basic reflectivity at is: In the formula, Ze i,j At the elevation angle θ i Layer and azimuth The basic reflectivity value obtained by interpolation at the radial distance r of the target; Ze i,j,k and Ze i,j,k+1 At the elevation angle θ i Layer, azimuth At the two distances r adjacent to the target radial distance r k and r k+1 The basic reflectivity value at .
7. The method for three-dimensional visualization of weather radar data based on adaptive linear octree according to claim 1, characterized in that: In S4, each node of the octree is encoded using 32 bits, and the most significant bit is used to identify whether the node is a leaf node. If the node is a leaf node, the remaining 31 bits are used as an integer to store the index of the block structure Block, otherwise it represents the index of the first child node. Specifically, before generating and compressing the octree, the octree is compressed using a depth-first traversal order, including: Maintain an index of the encoded node position and assign the index to the octree node for storage. When traversing a node, if the node is a leaf node, set the encoding array value corresponding to the node to the block structure Block index. Otherwise, take the first child node of the node and set the encoding array value corresponding to the node to the index value of the first child node, and then queue eight child nodes in sequence.
8. The method for three-dimensional visualization of weather radar data based on adaptive linear octree according to claim 1, characterized in that: The S4 specifically includes: During voxel octree encoding compression, the sparse voxel grid is compressed into the head of the encoding array. If the data in the current grid cell is valid, the encoded value points to the octree root node position; otherwise, it is set to a fixed value to indicate invalid data. For the special case of a single-layer tree depth, the storage structure is optimized so that the cell index directly points to the block structure.
9. The method for three-dimensional visualization of weather radar data based on adaptive linear octree according to claim 1, characterized in that: In S5, the dynamic ray marching length in the dynamic ray casting method is: Where Δt' is the dynamic ray march length; Δt is the original fixed ray march length; d is the current node depth, r is the scaling factor; and g is the relaxation coefficient.
Citation Information
Patent Citations
Mass point cloud layered real-time rendering method based on octree index
CN113870402A
Indoor scene three-dimensional reconstruction system and method based on neural radiation field
CN114004941A
Data processing method and device based on octree and computer readable storage medium
CN116452735A
Laser radar dense measurement method based on imagination calculation enhancement
CN116934828A
Thunderstorm and gale identification method and system based on attention mechanism convolutional neural network
CN119247304A