Unmanned aerial vehicle route safety data analysis method and system for Web side
By performing spatial serialization and point sampling of drone routes and point cloud data, combined with KD tree indexing and spatial screening, the problems of complex terrain dynamic changes and low point cloud data processing efficiency in traditional methods are solved, and rapid safety assessment and efficient visualization of drone routes are achieved.
Patent Information
- Application Number
- CN202510592751.5
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2025-05-09
- Publication Date
- 2025-06-06
- Estimated Expiration
- 2045-05-09
AI Technical Summary
Traditional UAV route planning methods are difficult to adapt to dynamic changes in complex terrain, especially in scenarios such as high-voltage transmission corridors and dense building complexes. Inadequate obstacle recognition accuracy can easily cause collision risks, and the massive processing of point cloud data puts high requirements on computing resources, limiting the Web's rapid analysis capabilities.
By spatially serializing the input point cloud data, spatial point sampling of the drone route data, spatial screening of the route data and serialized point clouds, a spatial KD tree is established, and the problematic points in the serialized point cloud within a safe distance are calculated, and the final output is the results suitable for web-side visualization.
It significantly reduces the time complexity of route safety calculations, from linear to approximate logarithmic order, reduces CPU and memory usage, improves web-side rendering efficiency, and realizes rapid security assessment of drone routes.
Smart Images

Figure CN120108235A_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to the field of drone route analysis, and in particular to a drone route safety data analysis method and system for a Web terminal. Background Art
[0002] With the widespread application of drones in agriculture and forestry monitoring, power inspection, urban mapping and other fields, its route safety analysis technology faces the challenge of multi-dimensional environmental perception and real-time decision-making. Traditional methods rely on two-dimensional maps or static three-dimensional models for route planning, which is difficult to adapt to the dynamic changes of complex terrain, especially in scenes such as high-voltage transmission corridors and dense buildings. The lack of obstacle recognition accuracy can easily lead to collision risks.
[0003] Although point cloud data can obtain centimeter-level spatial information through lidar and effectively improve the accuracy of environmental modeling, its massive data processing places extremely high demands on computing resources, which restricts the rapid analysis capabilities of the Web side. Therefore, it is urgent to build a technical framework that integrates lightweight point cloud processing algorithms with efficient rendering on the Web side to achieve rapid safety assessment of drone routes.
[0004] This paper proposes a feasible method for rapid safety analysis of drone routes on the Web based on point cloud data. The input point cloud data is spatially serialized and spatial point sampling of the drone route data is performed. Then, spatial screening is performed simultaneously based on the drone route data and the serialized point cloud. At the same time, a spatial KD tree is established for the screened serialized point cloud. The problematic point set in the serialized point cloud within a certain safety distance is calculated based on the screened route spatial point set and the serialized point cloud spatial KD tree. Finally, the result suitable for Web-based visualization is output based on the problematic point set. Summary of the invention
[0005] The present invention provides a method for analyzing drone route safety data on a Web terminal.
[0006] The following steps are involved:
[0007] S1. Perform spatial serialization on the input original point cloud data, and cut the point cloud data into multiple cubic sub-blocks according to preset side lengths and slice levels;
[0008] S2, establishing an octree spatial index for each cube sub-block obtained in step S1, and outputting an independent point cloud data file;
[0009] S3, converting the latitude and longitude endpoints of the drone route into a custom rectangular coordinate system, and performing equally spaced three-dimensional sampling along each route segment to form a route sampling point set;
[0010] S4. Generate a buffer bounding box for the route sampling point set according to the preset safety query distance, use the separating axis theorem to determine the intersection relationship between the bounding box and each cubic sub-block, and filter out the route intersection point set and the corresponding point cloud filter set;
[0011] S5, establishing a KD tree for each point cloud screening set obtained in step S4, performing a neighborhood search on the route intersection point set according to the query radius, and determining the dangerous point set within the query radius;
[0012] S6. Based on the dangerous point set and the route intersection point set obtained in step S5, output a route risk analysis result data set suitable for Web-side visualization.
[0013] Preferably, the spatial serialization in step S1 determines the optimal cutting side length and slicing level by iteratively calculating the ratio of the longest side of the point cloud bounding box to the target maximum cutting length.
[0014] Preferably, the leaf node capacity of the octree spatial index in step S2 is a configurable threshold, and when the number of points in a leaf node exceeds the threshold, it is automatically split to maintain retrieval efficiency.
[0015] Preferably, the origin of the custom rectangular coordinate system in step S3 adopts the geocentric coordinates of the area to be analyzed, and the error of earth curvature is reduced by coordinate translation.
[0016] Preferably, the equally spaced sampling intervals in step S3 are dynamically calculated based on the cruising speed and safety distance of the drone to ensure a balance between risk assessment accuracy and computational complexity.
[0017] Preferably, the neighborhood search result for the dangerous point set in step S5 further includes the minimum distance from the dangerous point to the corresponding route point and its cube sub-block identifier.
[0018] Preferably, if the number of dangerous points corresponding to a single route point exceeds a preset threshold, the dangerous point results of the route point are randomly downsampled to control the output data scale.
[0019] Preferably, the route risk analysis result data set outputted in step S6 adopts a combined data structure of three-dimensional coordinates and risk level labels, and supports real-time rendering in a WebGL environment.
[0020] Preferably, the method can greatly reduce the amount of back-end computing, improve computing efficiency, reduce network bandwidth occupancy and improve Web-side rendering efficiency.
[0021] A drone route safety data analysis system for a Web terminal, using the drone route safety data analysis method for a Web terminal, includes:
[0022] The point cloud spatial serialization module is used to cut the original point cloud data into multiple cubic sub-blocks according to the preset cutting edge length and slicing level, and establish an octree spatial index for each cubic sub-block;
[0023] The route sampling module is used to convert the latitude and longitude endpoints of the drone route into a custom rectangular coordinate system and perform equally spaced three-dimensional sampling along each route segment to generate a route sampling point set;
[0024] A fast spatial screening module is used to generate a buffer bounding box for the route sampling point set according to a preset safety query distance, and use the separating axis theorem to determine the intersection relationship between the bounding box and each cubic sub-block, so as to screen out the route intersection point set and the corresponding point cloud screening set;
[0025] A proximity analysis module, for establishing a KD-Tree for each of the point cloud screening sets, and performing a neighborhood search on the route intersection point set with a query radius to determine a dangerous point set within the query radius;
[0026] The result processing and downsampling module is used to randomly downsample the dangerous point results of a single route point when the number of dangerous points corresponding to the route point exceeds a preset threshold, so as to control the output data scale;
[0027] A Web visualization module is used to generate a result data set including three-dimensional coordinates and risk level labels based on the route intersection point set and the dangerous point set, and perform real-time rendering in a WebGL environment;
[0028] The technical solution provided by the embodiment of the present invention may have the following beneficial effects:
[0029] By adaptively cutting centimeter-level large-scale point clouds into cube sub-blocks with uniform side lengths and combining them with octree-KDTree double-layer indexing, the present invention breaks down the entire point cloud that originally needed to be loaded and traversed at one time into fine-grained units of "on-demand retrieval + local calculation"; with the separation axis determination and radius query mechanism, the KD Tree is only constructed inside the route buffer and the proximity analysis is performed. As a result, the overall time complexity of route safety calculation is reduced from linear to approximately logarithmic level, significantly reducing CPU and memory usage.
[0030] The cube cutting edge length, slice level, KD Tree query radius, and random downsampling threshold are all configurable parameters that can be dynamically optimized according to different drone operating altitudes, point cloud density, and flight speeds; the route-bounding box intersection detection is combined with the bidirectional radius query, so that the same framework can be used for both coarse-grained pre-inspection and fine-grained obstacle avoidance analysis. Similarly, when point cloud data continues to grow or is partially updated, incremental maintenance can be completed by re-indexing the relevant sub-blocks without rebuilding the index structure as a whole, thereby ensuring the lightweight and sustainable expansion of the system in long-term operation and maintenance. BRIEF DESCRIPTION OF THE DRAWINGS
[0031] Figure 1 This is a main flow chart of the first embodiment of the present invention.
[0032] Figure 2 This is a spatial serialization flow chart of embodiment 1 of the present invention.
[0033] Figure 3 This is a three-dimensional sampling flow chart of the first embodiment of the present invention.
[0034] Figure 4 The flowchart of the method for filtering route intersection point sets and corresponding point cloud filtering sets according to the first embodiment of the present invention is shown.
[0035] Figure 5 This is a flow chart of proximity analysis according to the first embodiment of the present invention. DETAILED DESCRIPTION
[0036] In order to make the purpose, technical solutions and advantages of the present invention more clear, the present invention is described in detail below with reference to the accompanying drawings and specific embodiments.
[0037] Embodiment 1: Figure 1 The work of spatial serialization is mainly aimed at large amounts of point cloud data. Through this work, the point cloud data is cut into regular three-dimensional shapes within the spatial range, and the traditional route safety analysis is decomposed from the calculation of a single large point cloud into the calculation of multiple small point clouds.
[0038] like Figure 2 The steps of spatial serialization are as follows:
[0039] A1. Calculate the reasonable cube side length and slice level of the point cloud data according to the preset maximum side length of the serialized cube and the longest side of the bounding box of a single large point cloud data;
[0040] A2. Create a spatial octree object and corresponding coordinate point set for the current single large point cloud data;
[0041] A3, based on the reasonable cube side length value and slice level of A1, perform stereoscopic cutting on the bounding box of a single large point cloud data to form a serialized cube set;
[0042] A4, using the spatial octree object and the corresponding coordinate point set established in A2, for each bounding box of the serialized cube of A3, calculate all coordinate points located in the cube;
[0043] A5 outputs and forms a series of independent point cloud files based on all cubes containing coordinate point results in A4, forming a point cloud space serialization data set.
[0044] The three-dimensional cutting method comprises:
[0045] B1. Determine the optimal cutting parameters:
[0046] Set the input edge length distance, the maximum cutting length max_seg, the cutting level to number, and the optimal cutting length to seg;
[0047] If distance ≤ max_seg, return to the initial value directly:
[0048] number = 0, seg = distance
[0049] If the input edge length distance > max_seg, the edge length is cut by cyclic binary division until the condition is met:
[0050] number = n,
[0051] Where n is the value that satisfies seg n Smallest integer ≤ max_seg.
[0052] B2. Cube slices:
[0053] For each dimension (x, y, z), the interval min, max is divided into several subintervals with a fixed step size seg:
[0054] X-axis division:
[0055] ;
[0056] y-axis division:
[0057] ;
[0058] Z-axis division:
[0059] ;
[0060] The coordinate range of each cube is defined as:
[0061] cube = [xi , x i + seg] × [y j , y j + seg] × [z k ,z k + seg]
[0062] The combination of subscripts (i, j, k) corresponds to the grid point number of the cube in the three-dimensional grid and can be used as a cube index.
[0063] x max is the maximum coordinate of the point cloud bounding box on the x-axis, x min is the minimum coordinate of the point cloud bounding box on the x-axis;
[0064] y max is the maximum coordinate of the point cloud bounding box on the y axis, y min is the minimum coordinate of the point cloud bounding box on the y-axis;
[0065] z max is the maximum coordinate of the point cloud bounding box on the z axis, min is the minimum coordinate of the point cloud bounding box on the z-axis;
[0066] And stored as a list [index, coordinate bounds].
[0067] The principle of the above three-dimensional cutting method is:
[0068] Through binary iteration, the longest side of the point cloud bounding box is gradually approached to the preset "maximum cutting length", thereby automatically generating a cutting side length seg that satisfies both display / computation performance and maintains spatial coherence;
[0069] The number of binary divisions is recorded synchronously as the cutting level number, which naturally matches the depth of the octree index to avoid repeated traversal or reconstruction of the spatial structure.
[0070] With seg as the step size, sub-intervals are divided on the x, y, and z axes at the same time, and a cube grid is obtained by combining them;
[0071] The grid and the point cloud bounding box completely cover the same space, so that each cube slice has a fixed, indexable coordinate range, establishing a consistent reference system for subsequent spatial operations.
[0072] The slicing level corresponds one-to-one to the octree depth, and all point cloud coordinates can be directly mapped to the corresponding leaf nodes;
[0073] Set a leaf node capacity threshold. If any block exceeds the capacity, it will be subdivided locally to ensure that query efficiency and memory usage are within a controllable range.
[0074] The beneficial effects are:
[0075] The whole point cloud is split into small-size sub-blocks. Each spatial query only processes the local data that intersects with the route, which fundamentally avoids the computational bottleneck caused by "loading a large file at one time". The length of the block edge is adaptive to the depth of the octree, and the number of points in each leaf node tends to be balanced; therefore, when KD-Tree or other neighboring structures are constructed in the leaf node, the query complexity can be guaranteed to be approximately logarithmic. The cube blocks have independent file identifiers and can be loaded on demand; the Web end only needs to request those sub-blocks related to the current route to achieve on-demand scheduling of data streams and bandwidth saving. When adding new point cloud data, only the affected blocks need to be re-indexed, without destroying the overall structure, which is convenient for incremental updates and multi-source point cloud merging. The cube boundary naturally forms a "cropping box", which can be used for frustum culling and block rendering during front-end rendering, reducing GPU load and improving frame rate and interactive fluency.
[0076] The point set search methods in space include:
[0077] C1: Let the target cube area be S, and the cube boundary be:
[0078] [x min , x max ] × [y min , y max ] × [z min , z max ]
[0079] C2: For the current octree node N, its spatial range is represented by an axis-aligned bounding box (AABB):
[0080] N AABB = [x N min , x N max ] × [y N min , y N max ] × [z N min , z N max ]
[0081] Judge N AABB Whether it intersects with S: If not, skip the node and its subtree; If intersecting, recursively traverse the child nodes (up to 8 child nodes) until the leaf node.
[0082] C3: In the leaf node, for each point p i = (x i , y i , zi ), check whether it satisfies the inclusion condition of region S:
[0083] x min ≤ x i ≤ x max ∧ y min ≤ y i ≤ y max ∧ z min ≤ z i ≤ z max
[0084] Points that meet the conditions are added to the result set.
[0085] The principle of the above point set search method is:
[0086] The 3D point cloud is recursively divided into octree nodes, and each node uses an axis-aligned bounding box (AABB) to describe its spatial range;
[0087] This hierarchical structure allows any target query area S to quickly locate the subtree that may contain points through "top-down pruning", avoiding point-by-point traversal of the entire point cloud.
[0088] Perform an intersection test on the AABB of the current node N and the target cube S:
[0089] Disjoint: Prune immediately, and the entire subtree does not need to be checked again;
[0090] Intersection: Recursively visit child nodes until a leaf node is reached or an early termination condition is met.
[0091] This "spatial clipping" is based on bounding boxes rather than specific points, so the computational overhead is logarithmic with the number of nodes and does not grow linearly with the point cloud density.
[0092] After entering the leaf node, a one-time "six-sided encirclement" judgment is performed on the point p = (x, y, z) therein:
[0093] Points that meet the conditions are directly added to the result set; since the capacity of leaf nodes is controllable, this operation is completed in constant time.
[0094] After the query is completed, all the points in the target cube S can be obtained by merging the point sets output by each leaf node;
[0095] Because the octree naturally has no overlapping nodes, the same point will not be counted repeatedly in the result, eliminating the need for additional deduplication steps.
[0096] The beneficial effects are:
[0097] Through layer-by-layer pruning of the octree, only the subtrees intersecting the target area are traversed, which theoretically greatly reduces the complexity of global linear scans. Nodes are clustered according to spatial proximity, and related points are stored centrally; when querying on the CPU or GPU, cache locality can be fully utilized to reduce the latency caused by random memory access. The node depth corresponds to the spatial resolution one by one, allowing recursion to be stopped at different levels on demand: for rough pre-check, only high-level nodes need to be accessed; for fine analysis, continue to go deep into the leaf nodes for precise calculation. Therefore, the same index structure can serve the "global to local" multi-resolution algorithm. When point cloud data is dynamically added or deleted, only the affected nodes are locally split or merged, without rebuilding the entire tree, to maintain index stability. The node AABB is consistent with the frustum clipping logic in visualization, and the same set of spatial culling mechanisms can be reused in the rendering pipeline to achieve query-rendering integration and further improve the fluency of front-end interaction.
[0098] like Figure 3 , the steps of three-dimensional sampling include:
[0099] D1. To ensure sampling accuracy, define a high-precision rectangular coordinate system and implement a high-precision mutual conversion method between longitude and latitude and rectangular coordinate system;
[0100] D2, based on the conversion method of D1, convert the latitude and longitude endpoints of the route data into a rectangular coordinate point set, and implement equally spaced point sampling on the three-dimensional line segment through linear interpolation;
[0101] D3, the equally spaced sampling points of D2 are converted by the conversion method of D1 to obtain a set of sampling points in the form of all longitudes and latitudes.
[0102] The methods for customizing rectangular coordinate systems in D1 include:
[0103] D11. Set the origin of the custom rectangular coordinate system P 0 Corresponding geocentric coordinates:
[0104] (X 0 , Y 0 , Z 0 )
[0105] D12, using the WGS84 ellipsoid model, the parameters are:
[0106] Semi-major axis a = 6378137m
[0107] Minor semi-axis b = 6356752.3142m
[0108] The first eccentricity square
[0109] The methods for converting longitude and latitude to rectangular coordinate system include:
[0110] D21、Replace the longitude and latitude ( , , ) to WGS84 geocentric rectangular coordinates (X, Y, Z):
[0111]
[0112] Where N is the radius of curvature of the camber circle:
[0113] D22, by translating to eliminate the origin offset, the custom rectangular coordinates ( , , )for:
[0114]
[0115] The methods for converting rectangular coordinates to longitude and latitude include:
[0116] D31, from custom coordinates ( , , )Restore geocentric coordinates:
[0117]
[0118] D32, geocentric coordinates to longitude and latitude, calculated by iteration method and :
[0119]
[0120] The iteration formula is:
[0121]
[0122] Until .
[0123] like Figure 4 , the method of filtering the route intersection point set and the corresponding point cloud filtering set includes:
[0124] E1. Determine the rectangular coordinate system based on the point cloud projection attributes and determine the solution for converting longitude and latitude into rectangular coordinates;
[0125] E2, according to the conversion scheme of E1, convert the route points into a set of rectangular coordinate points;
[0126] E3, extract bounding box data from the point cloud serialized subset, and buffer new bounding box data according to the route safety query distance, and filter the serialized point cloud filter set and route intersection point set that generate spatial intersection phenomenon according to the separating axis theorem with the route point coordinate set of E2;
[0127] E4 outputs a route sampling point screening set based on the route intersection point set of E3 and the spatial sampling calculation method.
[0128] The method of detecting the intersection of the route and the bounding box includes:
[0129] E11. Split the 3D route polyline into a sequence of line segments consisting of adjacent points:
[0130] {[p 0 , p 1 ],[p 1 , p 2 ],…,[p n-1 , p n ]}
[0131] E12. For each line segment p 0 →p 1 , calculate the overlap interval of its projection on the three axes (X / Y / Z) of the bounding box AABB.
[0132] Step 1, parameterize the route segment:
[0133] Among them, P 0 is the starting point coordinate vector of the route segment; P 1 The coordinate vector of the end point of the route segment; P 1 -P 0 It is the direction vector pointing from the starting point to the end point, indicating the displacement of the line segment.
[0134] t is a dimensionless parameter, defined in the interval [0, 1]; When t = 0, p(t) is equal to the starting point P 0 ; When t = 1, p(t) is equal to the end point P 1 ; When 0 < t < 1, p(t) represents the coordinates of the corresponding proportional position inside the line segment; p(t) is the coordinate of any point obtained after parameterization, which changes continuously between the starting and ending points with t, and is used for subsequent intersection detection and distance calculation with spatial objects such as bounding boxes AABB.
[0135] Step 2: Calculate the projection interval of each axis:
[0136]
[0137]
[0138] Step 3: Determine whether they intersect:
[0139] like ≤ ,and ≤ , ≥ 0, the line segment intersects with the bounding box AABB.
[0140] The parametric calculation of the intersection includes:
[0141] E21. If the route segment intersects with the bounding box AABB, its parameterized interval is:
[0142]
[0143] E22. Extract the coordinates of the intersection point where the route and the bounding box intersect:
[0144]
[0145] Among them, p 0 is the coordinate vector of the starting point of the route segment
[0146] p 1 The coordinate vector of the end point of the route segment
[0147] p(t) is the parametric equation representation of any point on the line segment
[0148] t is the line segment parameter, with a value range of [0, 1]
[0149] AABBmin x , AABBminᵧ, AABBminz: The minimum coordinates of the bounding box on the x, y, and z axes
[0150] AABBmax x , AABBmaxᵧ, AABBmax_z: the maximum coordinates of the bounding box on the x, y, and z axes
[0151] t enter Comprehensive parameter value for the line segment entering the bounding box
[0152] t exit Comprehensive parameter value for the line segment leaving the bounding box
[0153] t start is the parameter of actually entering the bounding box (max(t_enter, 0))
[0154] tend The parameter for actually leaving the bounding box (min(t_exit, 1))
[0155] p start The coordinates of the first intersection of the line segment and the bounding box
[0156] p end The coordinates of the second intersection of the line segment and the bounding box.
[0157] like Figure 5 , the proximity analysis methods include:
[0158] F1. Perform cross-band processing on the serialized point cloud filter set. In the case of cross-band, normalize the spatial rectangular coordinate system of all point cloud filter sets;
[0159] F2. Filter the point cloud based on the query radius and the buffer bounding box, and establish a spatial KD tree for all point cloud filter sets through spatial filtering;
[0160] F3. According to the query radius, a sampling point set of the intersecting route segments is established through spatial screening, and a reverse KD tree is established;
[0161] F4. Use KD tree to query the dangerous points within the specified radius in the point cloud data. If the number of dangerous points exceeds the threshold, random sampling is used to reduce the amount of data.
[0162] F5. Query the problem points on the route through the reverse KD number and point cloud dangerous point set data.
[0163] The forward radius query methods include:
[0164] F11. For each route point qi ∈ Q (shape is n×3) and point cloud set P, use the KD tree’s neighborhood query formula with radius r:
[0165]
[0166] F12. By merging all query results and removing duplicates, we can obtain a set of dangerous points on the point cloud:
[0167]
[0168] The nearest neighbor search methods include:
[0169] F22. For each route point qi ∈ Q, calculate its nearest neighbor to the point cloud set P:
[0170]
[0171] F23, the global minimum distance is:
[0172]
[0173] Reverse radius query methods include:
[0174] To verify the bidirectional proximity relationship, a KD tree of the route point set Q is constructed, and a reverse query is performed on the dangerous point set Punsafe:
[0175]
[0176] Among them, ChoosePoints is the set of problem points on the route segment;
[0177] q is the route sampling point;
[0178] Q is the set of sampling points of all routes;
[0179] P is the complete point cloud dataset;
[0180] η is the radius query distance threshold;
[0181] Neighbors(q, η) is the set of neighboring points in P with q as the center and η as the radius;
[0182] unsafe_points is the set of dangerous points obtained by performing Neighbors query on all q in Q and merging and removing duplicates;
[0183] closest_point(q) is the point cloud point closest to route point q;
[0184] dist_min is the global minimum value among the nearest neighbor distances of all route points;
[0185] P_unsafe is the subset of dangerous points obtained by forward radius query.
Claims
1. A method for analyzing drone route safety data on a Web terminal, characterized in that: The following steps are involved: S1. Perform spatial serialization on the input original point cloud data, and cut the point cloud data into multiple cubic sub-blocks according to preset side lengths and slice levels; S2, establishing an octree spatial index for each cube sub-block obtained in step S1, and outputting an independent point cloud data file; S3, converting the latitude and longitude endpoints of the drone route into a custom rectangular coordinate system, and performing equally spaced three-dimensional sampling along each route segment to form a route sampling point set; S4. Generate a buffer bounding box for the route sampling point set according to the preset safety query distance, use the separating axis theorem to determine the intersection relationship between the bounding box and each cubic sub-block, and filter out the route intersection point set and the corresponding point cloud filter set; S5, establishing a KD tree for each point cloud screening set obtained in step S4, performing a neighborhood search on the route intersection point set according to the query radius, and determining the dangerous point set within the query radius; S6. Based on the dangerous point set and the route intersection point set obtained in step S5, output a route risk analysis result data set suitable for Web-side visualization.
2. The method for analyzing drone route safety data for a Web terminal according to claim 1, characterized in that: The spatial serialization in step S1 determines the optimal cutting side length and slicing level by iteratively calculating the ratio of the longest side of the point cloud bounding box to the target maximum cutting length.
3. The method for analyzing drone route safety data for a Web terminal according to claim 1, characterized in that: The leaf node capacity of the octree spatial index in step S2 is a configurable threshold, and when the number of points in a leaf node exceeds the threshold, the leaf node is automatically split to maintain retrieval efficiency.
4. The method for analyzing drone route safety data for a Web terminal according to claim 1, characterized in that: The origin of the custom rectangular coordinate system in step S3 adopts the geocentric coordinates of the area to be analyzed, and the earth curvature error is reduced by coordinate translation.
5. The method for analyzing drone route safety data for a Web terminal according to claim 4, characterized in that: The equally spaced sampling intervals in step S3 are dynamically calculated based on the cruising speed of the drone and the safety distance to ensure a balance between risk assessment accuracy and computational complexity.
6. The method for analyzing drone route safety data for a Web terminal according to claim 1, characterized in that: The neighborhood search result for the dangerous point set in step S5 also includes the minimum distance from the dangerous point to the corresponding route point and its cube sub-block identifier.
7. The method for analyzing drone route safety data for a Web terminal according to claim 6, characterized in that: If the number of dangerous points corresponding to a single route point exceeds the preset threshold, the dangerous point results of the route point are randomly downsampled to control the output data scale.
8. The method for analyzing drone route safety data for a Web terminal according to claim 1, characterized in that: The route risk analysis result data set outputted in step S6 adopts a combined data structure of three-dimensional coordinates and risk level labels, and supports real-time rendering in a WebGL environment.
9. The method for analyzing drone route safety data on a Web-based system according to any one of claims 1 to 8, characterized in that: The method can greatly reduce the amount of calculation, improve the calculation efficiency, reduce the network bandwidth occupancy and improve the Web rendering efficiency.
10. A drone route safety data analysis system for a Web terminal, characterized in that: The method for analyzing drone route safety data on a Web terminal as claimed in any one of claims 1 to 9 comprises: The point cloud spatial serialization module is used to cut the original point cloud data into multiple cubic sub-blocks according to the preset cutting edge length and slicing level, and establish an octree spatial index for each cubic sub-block; The route sampling module is used to convert the latitude and longitude endpoints of the drone route into a custom rectangular coordinate system and perform equally spaced three-dimensional sampling along each route segment to generate a route sampling point set; A fast spatial screening module is used to generate a buffer bounding box for the route sampling point set according to a preset safety query distance, and use the separating axis theorem to determine the intersection relationship between the bounding box and each cubic sub-block, so as to screen out the route intersection point set and the corresponding point cloud screening set; A proximity analysis module, for establishing a KD tree for each of the point cloud screening sets, and performing a neighborhood search on the route intersection point set with a query radius to determine a dangerous point set within the query radius; The result processing and downsampling module is used to randomly downsample the dangerous point results of a single route point when the number of dangerous points corresponding to the route point exceeds a preset threshold, so as to control the output data scale; A Web visualization module is used to generate a result data set including three-dimensional coordinates and risk level labels based on the route intersection point set and the dangerous point set, and perform real-time rendering in a WebGL environment; The system is constructed to render only the problem point set on the browser client to reduce network bandwidth occupancy and improve Web-side rendering efficiency.
Citation Information
Patent Citations
Method for detecting dangerous points of inspection route of electric power tower
CN112394743A
Transformer substation inspection route planning method and device based on collision detection
CN112650218A
Unmanned aerial vehicle imaging positioning method
CN115511956A
Transparent rendering complex scene depth estimation method and device based on octree
CN116402936A
Obstacle contour calculation method in underground mine automatic driving
CN118982812A
Cited By
Intelligent route recommendation method and system based on artificial intelligence
CN120576770A
Unmanned aerial vehicle waypoint path feasibility verification method and system based on octree space division
CN122041904A