CN117932974B - Construction method of reservoir underwater digital elevation model - Google Patents

Construction method of reservoir underwater digital elevation model Download PDF

Info

Publication number
CN117932974B
CN117932974B CN202410322844.1A CN202410322844A CN117932974B CN 117932974 B CN117932974 B CN 117932974B CN 202410322844 A CN202410322844 A CN 202410322844A CN 117932974 B CN117932974 B CN 117932974B
Authority
CN
China
Prior art keywords
point
water depth
depth data
triangle
grid
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN202410322844.1A
Other languages
Chinese (zh)
Other versions
CN117932974A (en
Inventor
刘芳辉
郑龙飞
梁钢志
吕卫良
梁诗雨
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Weihai Hydro Project Co ltd
Original Assignee
Weihai Hydro Project Co ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Weihai Hydro Project Co ltd filed Critical Weihai Hydro Project Co ltd
Priority to CN202410322844.1A priority Critical patent/CN117932974B/en
Publication of CN117932974A publication Critical patent/CN117932974A/en
Application granted granted Critical
Publication of CN117932974B publication Critical patent/CN117932974B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Measurement Of Velocity Or Position Using Acoustic Or Ultrasonic Waves (AREA)

Abstract

The invention provides a method for constructing an underwater digital elevation model of a reservoir, which relates to the technical field of data processing, and comprises the following steps: identifying a non-empty boundary grid containing water depth data points according to the grid index of the self-adaptive resolution; triangulating all water depth data points by a triangulating method according to the non-empty boundary grid and the terrain characteristic line to generate an initial triangular network; identifying and processing isolated water depth data points not covered by the original triangulation network; inserting the isolated water depth data points into an initial triangular network, and correspondingly updating the structure of the triangular network to obtain an updated triangular network; carrying out local optimization treatment on the updated triangular net to obtain a preliminary digital elevation model; and verifying the preliminary digital elevation model to obtain a final digital elevation model. The invention improves the efficiency of data processing and model construction.

Description

Construction method of reservoir underwater digital elevation model
Technical Field
The invention relates to the technical field of data processing, in particular to a method for constructing an underwater digital elevation model of a reservoir.
Background
The reservoir is used as an important water resource storage and management facility, and the elevation information of the underwater topography has important significance in the aspects of operation management of the reservoir, water resource scheduling, ecological environment protection and the like. The traditional underwater topography measurement method mainly relies on manual measurement, and is large in workload, low in efficiency and difficult to acquire comprehensive and accurate underwater topography data. With the development of remote sensing technology and underwater measurement technology, although a large amount of water depth data can be acquired, how to effectively process the data and construct a high-precision underwater digital elevation model is still a technical problem.
The existing underwater digital elevation model construction method generally adopts uniform grid resolution to process data, and when the method processes water depth data with large difference between density and change rate, the method is difficult to balance calculation efficiency and model precision. In addition, there is also a lack of effective methods for processing isolated points in water depth data, the presence of which can affect the generation and quality of the triangulation, and thus the accuracy of the digital elevation model.
Disclosure of Invention
The invention aims to solve the technical problem of providing a construction method of a reservoir underwater digital elevation model, which solves the problems of calculation resource waste or insufficient model precision caused by uniform grid resolution in the traditional method, and improves the efficiency of data processing and model construction.
In order to solve the technical problems, the technical scheme of the invention is as follows:
in a first aspect, a method for constructing a reservoir underwater digital elevation model, the method comprising:
establishing a grid index with self-adaptive resolution on a two-dimensional plane according to the density and the change rate of the water depth data;
Identifying a non-empty boundary grid containing water depth data points according to the grid index of the self-adaptive resolution;
triangulating all water depth data points by a triangulating method according to the non-empty boundary grid and the terrain characteristic line to generate an initial triangular network;
identifying and processing isolated water depth data points not covered by the original triangulation network;
Inserting the isolated water depth data points into an initial triangular network, and correspondingly updating the structure of the triangular network to obtain an updated triangular network;
Carrying out local optimization treatment on the updated triangular net to obtain a preliminary digital elevation model;
And verifying the preliminary digital elevation model to obtain a final digital elevation model.
Further, establishing a grid index of adaptive resolution on a two-dimensional plane according to the density and the change rate of the water depth data, including:
evaluating the water depth data and determining the spatial distribution and density of the water depth data;
Setting an initial grid according to the density of the water depth data;
Calculating the change rate of the water depth data in each initial grid;
calculating a difference value between the change rate of the water depth data and a preset threshold value;
Dynamically adjusting the size of the initial grid according to the difference value to obtain a self-adaptive resolution grid;
an index is constructed for storing the adaptive resolution grid.
Further, the index contains location information, size, and water depth data points contained for each grid.
Further, identifying a non-empty boundary grid containing water depth data points based on the adaptive resolution grid index, comprising:
creating an empty set for storing the identified non-empty boundary grids;
Traversing each grid from the grid index of the adaptive resolution;
for each traversed mesh, checking whether the mesh contains water depth data points;
If a grid contains water depth data points, checking whether the grid has at least one edge adjacent to an outer boundary of the data region; if any one adjoining mesh of one mesh does not contain a water depth data point, then the current mesh is considered a boundary mesh.
Further, according to the non-empty boundary grid and the terrain feature line, triangulating all the water depth data points by a triangulating method to generate an initial triangular grid, which comprises the following steps:
acquiring water depth data points and topography characteristic line data in all non-empty boundary grids;
constructing a constraint edge set according to the topographic feature line data;
creating an empty triangle mesh data structure for storing and managing the generated triangle patches;
calculating a convex hull according to all water depth data points, and constructing an initial triangular mesh frame according to the boundary of the convex hull;
Acquiring inserted data points from the unprocessed water depth data point set, and finding triangles containing the inserted data points in the current triangle network;
Splitting the found triangle into a plurality of new triangles such that the interpolated data point becomes one of the vertices of the new triangle;
the new triangle is locally optimized, and the operation is repeated until all data points are inserted into the triangle mesh, and finally the initial triangle mesh is generated.
Further, identifying and processing isolated water depth data points not covered by the initial triangulation network includes:
traversing all water depth data points;
traversing all triangles in the triangular network by using a cyclic spatial index structure for the current processed water depth data point;
judging whether the current point is in the triangle or not for each triangle, if so, terminating the internal circulation;
If the current water depth data point is not contained by any triangle after traversing all triangles, marking the current water depth data point as an uncovered isolated point;
after the current water depth data point is processed, the next water depth data point is continuously traversed, and the operation is repeated until all the water depth data points are traversed, so that an isolated point list containing all the isolated points which are not covered by the triangular net is obtained.
Further, inserting the isolated water depth data point into the initial triangle mesh and correspondingly updating the structure of the triangle mesh to obtain an updated triangle mesh, comprising:
Selecting a point from the isolated point list as an insertion point;
using a space query algorithm to find a current triangle in the current triangle network;
splitting the current triangle into a plurality of new triangles such that the insertion point becomes one of the vertices of the new triangle;
Adding the new triangle into the data structure of the triangle network, and updating the related adjacency and the spatial index;
the operation is repeated until all isolated water depth data points are inserted into the triangle mesh, and in each iteration, a new isolated point is selected for insertion and the triangle mesh is updated.
In a second aspect, a system for constructing a reservoir underwater digital elevation model, comprising:
The acquisition module is used for establishing a grid index with self-adaptive resolution on a two-dimensional plane according to the density and the change rate of the water depth data; identifying a non-empty boundary grid containing water depth data points according to the grid index of the self-adaptive resolution; triangulating all water depth data points by a triangulating method according to the non-empty boundary grid and the terrain characteristic line to generate an initial triangular network;
A processing module for identifying and processing isolated water depth data points not covered by the initial triangle mesh; inserting the isolated water depth data points into an initial triangular network, and correspondingly updating the structure of the triangular network to obtain an updated triangular network; carrying out local optimization treatment on the updated triangular net to obtain a preliminary digital elevation model; and verifying the preliminary digital elevation model to obtain a final digital elevation model.
In a third aspect, a computing device includes:
One or more processors;
And a storage means for storing one or more programs that, when executed by the one or more processors, cause the one or more processors to implement the method.
In a fourth aspect, a computer readable storage medium has a program stored therein, which when executed by a processor, implements the method.
The scheme of the invention at least comprises the following beneficial effects:
By establishing the grid index with the self-adaptive resolution, the problems of calculation resource waste or insufficient model precision caused by uniform grid resolution in the traditional method are avoided, and the efficiency of data processing and model construction is improved.
By identifying and processing isolated water depth data points and carrying out local optimization processing on the triangular network, data anomalies and model errors are reduced, and the accuracy and reliability of the digital elevation model are improved.
Drawings
Fig. 1 is a schematic flow chart of a method for constructing a reservoir underwater digital elevation model according to an embodiment of the present invention.
Fig. 2 is a schematic diagram of a construction system of a reservoir underwater digital elevation model according to an embodiment of the present invention.
Detailed Description
Exemplary embodiments of the present disclosure will be described in more detail below with reference to the accompanying drawings. While exemplary embodiments of the present disclosure are shown in the drawings, it should be understood that the present disclosure may be embodied in various forms and should not be limited to the embodiments set forth herein. Rather, these embodiments are provided so that this disclosure will be thorough and complete, and will fully convey the scope of the disclosure to those skilled in the art.
As shown in fig. 1, an embodiment of the present invention provides a method for constructing a reservoir underwater digital elevation model, the method comprising the following steps:
Step 11, establishing a grid index with self-adaptive resolution on a two-dimensional plane according to the density and the change rate of water depth data;
step 12, identifying a non-empty boundary grid containing water depth data points according to the grid index of the self-adaptive resolution;
Step 13, triangulating all water depth data points through a triangulating method according to the non-empty boundary grid and the topographic feature line to generate an initial triangular network;
Step 14, identifying and processing isolated water depth data points not covered by the initial triangulation network;
step 15, inserting the isolated water depth data points into an initial triangular network, and correspondingly updating the structure of the triangular network to obtain an updated triangular network;
Step 16, carrying out local optimization treatment on the updated triangular net to obtain a preliminary digital elevation model;
and step 17, verifying the preliminary digital elevation model to obtain a final digital elevation model.
In the embodiment of the invention, step 11, by establishing the grid index with self-adaptive resolution, water depth data with different densities and change rates can be processed efficiently, a high-resolution grid is used in a region with dense data or large change rate, and a low-resolution grid is used in a region with sparse data or gentle change rate, so that the use of calculation resources is optimized while the model precision is ensured. Step 12, by identifying the non-empty boundary grid, this step helps to focus on the area containing the effective water depth information, avoiding unnecessary processing in areas without data or with poor data quality, thereby improving the efficiency and accuracy of the construction process. And 13, generating an initial triangular net by utilizing a triangular splitting method, so that the continuity and smoothness of the surface of the terrain can be ensured, and simultaneously, the key features of the underwater terrain can be better captured by combining the terrain feature line for splitting, so that the geometric accuracy and the terrain expressive force of the digital elevation model are improved. In step 14, by identifying and processing isolated water depth data points, adverse effects of the abnormal points on subsequent model construction, such as model distortion or unnecessary errors, are avoided, so that stability and reliability of the model are improved. And 15, by inserting isolated water depth data points and updating a triangle network structure, the step ensures that all effective data are incorporated into the model, improves the utilization rate of the data and the integrity of the model, and simultaneously, the updating of the triangle network is also beneficial to maintaining the geometric consistency and the topological correctness of the model. In step 16, the local optimization process can further improve the quality of the triangle network, such as reducing the size and shape of the long triangle and the balanced triangle, so as to improve the geometric accuracy and the calculation efficiency of the digital elevation model. And step 17, by verifying the preliminary digital elevation model, errors or inconsistencies in the model can be detected and corrected, and the accuracy and reliability of the model are ensured.
In a preferred embodiment of the present invention, the step 11 may include:
Step 111, evaluating the water depth data and determining the spatial distribution and density of the water depth data;
step 112, setting an initial grid according to the density of the water depth data;
step 113, calculating the change rate of the water depth data in each initial grid;
step 114, calculating the difference between the change rate of the water depth data and a preset threshold value;
step 115, dynamically adjusting the size of the initial grid according to the difference value to obtain a self-adaptive resolution grid;
Step 116, constructing an index for storing adaptive resolution grids, wherein the index contains position information, size and contained water depth data points of each grid.
In the embodiment of the invention, in step 111, by evaluating the spatial distribution and density of the water depth data, knowing the distribution of the data is helpful to reasonably divide the grid, so that high resolution is maintained in a data-dense area, low resolution is used in a data-sparse area, and the calculation efficiency is optimized. Step 112, by setting the initial grid according to the density of the water depth data, this step provides a starting point for further optimization and adjustment of the grid, and the setting of the initial grid takes into account the spatial distribution characteristics of the data, which is helpful for more accurate adaptive adjustment of the grid. In step 113, calculating the change rate of the water depth data can reflect the complexity of underwater topography, the high-resolution grid can better capture the topography details in the area with high change rate, and the low-resolution grid can save the calculation resources in the area with low change rate, so as to realize reasonable allocation of the resources. Step 114, by calculating the difference between the change rate and the preset threshold, the step provides a quantization basis for the dynamic adjustment of the grid, and the magnitude of the difference reflects the matching degree between the resolution of the current grid and the complexity of the terrain. In step 115, the grid resolution can be optimized according to the actual requirement of the terrain complexity by dynamically adjusting the grid size, and the self-adaptive adjustment strategy can ensure that the waste of calculation resources is reduced to the greatest extent while the model accuracy is maintained, so that the efficiency of model construction is improved. Step 116, by constructing the grid index, a convenient data retrieval and management means is provided, and rich information contained in the index can be rapidly positioned to any grid and related data, so that the efficiency and accuracy of data processing are greatly improved.
In another preferred embodiment of the present invention, the step 111 may include:
In step 1111, all water depth data points are acquired, wherein the water depth data points include coordinates (X, Y) and corresponding water depth values Z, and in order to ensure accuracy and integrity of the data, cleaning and preprocessing are performed on the data, such as removing abnormal values, filling missing values, and the like.
In step 1112, the water depth data points are plotted on a two-dimensional plane to form a scatter diagram, wherein X and Y represent horizontal positions, and Z values can be represented by colors or sizes, and by observing the distribution of the scatter diagram, the spatial distribution characteristics of the water depth data, such as whether the water depth data are uniformly distributed, whether an aggregation area exists, and the like, can be primarily judged.
Step 1113, defining a space unit (such as a square grid), and dividing the two-dimensional plane into a plurality of small areas according to the unit; counting the number of water depth data points in each small area, wherein the number can be used as a density index of the area; the granularity of density calculation is adjusted by setting different space unit sizes so as to adapt to the analysis requirements of different scales.
Step 1114, coloring or labeling each small area according to the calculated density value to intuitively show the density distribution condition of the water depth data, wherein the high-density area can be represented by dark color or larger marks, and the low-density area can be represented by light color or smaller marks; and analyzing the spatial distribution and density characteristics of the water depth data, and identifying a data dense area and a data sparse area. By identifying data-dense regions and data-sparse regions, it may be ensured that a high-resolution grid is used in the data-dense regions to capture more detail and a low-resolution grid is used in the data-sparse regions to save computational resources.
In another preferred embodiment of the present invention, the step 112 may include:
step 1121, determining a grid division strategy, and selecting a shape (such as square, rectangular or irregular shape) and an initial size of the grid;
Step 1122, calculating an average data density of the entire investigation region or data set based on the water depth data density information evaluated in step 111, wherein this can be achieved by dividing the number of all data points by the total area of the investigation region;
Step 1123, using the average data density as a reference, determining an initial mesh size, where smaller meshes are needed to capture details in areas with higher data density, and where larger meshes may be more appropriate to reduce computation in areas with lower data density;
Step 1124, using the determined mesh size and shape, partitioning an initial mesh over the entire investigation region, wherein this is accomplished by creating mesh lines at set intervals on a two-dimensional plane; ensuring that the grid covers the whole research area and that the boundaries of the grid coincide with or properly exceed the boundaries of the research area to avoid boundary effects;
step 1125, for each water depth data point, determining the grid unit to which it belongs according to its coordinates, assigning the data point to the corresponding grid, and recording the number of data points contained in each grid unit.
In the embodiment of the present invention, step 1121 provides a clear direction for the subsequent mesh division by defining a mesh division strategy and selecting an appropriate mesh shape and an initial size, which can balance the complexity and model precision of data processing, ensure that the calculation efficiency is considered when constructing the digital elevation model, and capture enough topography details. In step 1122, the calculation of the average data density provides a quantization basis for the determination of the initial mesh size, which helps to ensure that the mesh size matches the overall distribution characteristics of the water depth data, avoiding the use of too large meshes in data-dense areas or too small meshes in data-sparse areas, thereby improving the accuracy and efficiency of model construction. In step 1123, the initial grid size is determined according to the average data density, so that the grid resolution can be ensured to be suitable for the density of the water depth data, the small grid is used in the area with high data density to help capture more terrain details, and the large grid is used in the area with low data density to reduce unnecessary calculation and realize reasonable distribution of calculation resources. Step 1124, by dividing the initial grid over the entire study area, it is ensured that the grid covers the entire study area and properly handles boundary effects, which is helpful to reduce errors and uncertainties in the model construction process and improve accuracy and reliability of the model. In step 1125, the data points are allocated to the corresponding grids and the number of data points in each grid is recorded, so that necessary information is provided for the construction of the grid index, any grid and related data thereof can be rapidly positioned in subsequent processing, and the efficiency and accuracy of data processing are improved.
In another preferred embodiment of the present invention, the step 113 may include:
Step 1131, extracting all water depth data points belonging to the current grid from the whole data set; sequencing the extracted water depth data points according to coordinates (X axis and Y axis, namely longitude and latitude);
Step 1132, traversing the ordered water depth data point list; for each data point in the list, determining its four immediate neighbors (up, down, left, right); in the two-dimensional grid, representing that the previous data point and the next data point of the current point in the ordered list are searched as left and right adjacent points, and determining the upper and lower adjacent points through the row-column index;
step 1133, recording the relationship between each data point and its adjacent point by creating an adjacent matrix;
step 1134, traversing the ordered water depth data point list again, and for each data point, calculating the water depth difference between the adjacent points by using the previously recorded adjacent point information, wherein the step specifically comprises calculating the difference between the water depth value of the current point and the water depth value of the adjacent point, and taking an absolute value (so as to avoid negative difference);
Step 1135, associating the calculated difference value with the corresponding data point, and recording.
In the embodiment of the invention, step 1131 ensures the ordering of the water depth data points in the grid through extraction and sequencing, and the sequenced data point list is convenient for traversing and calculating, thereby improving the processing efficiency. Step 1132, by traversing the ordered list, each water depth data point can be systematically accessed, four direct neighbors of each data point are determined, and row-column indexes are used to determine upper and lower neighbors, thereby ensuring the accuracy and efficiency of neighbor determination. In step 1133, creating the relationship between the adjacent matrix record data points and their adjacent points provides an intuitive and efficient way to represent the spatial relationship of the data points in the grid, and this data structure facilitates subsequent fast retrieval and calculation, reduces the need for repeatedly determining adjacent points, and improves the calculation efficiency. In step 1134, the water depth difference between each data point and the adjacent point can be efficiently calculated by traversing the list again and using the previously recorded adjacent point information, and the absolute value is taken to avoid the occurrence of negative differences. Step 1135, associating and recording the difference value with the corresponding data point, and reserving the space difference information of the water depth data point, wherein the association recording mode is convenient for optimizing the grid resolution accurately according to the water depth difference information when the grid is subjected to self-adaptive adjustment subsequently, so that the precision and efficiency of the digital elevation model are improved.
In another preferred embodiment of the present invention, the step 115 may include:
Step 1151, analyzing the differences calculated in step 114, wherein the differences reflect the degree of difference between the water depth data rate of change and the preset threshold, and wherein a larger positive value difference indicates that the water depth data changes abnormally significantly within the grid, and wherein finer resolution may be required to capture the changes; while a smaller difference or negative value may mean that the water depth in the area changes more smoothly, a thicker resolution may be used.
Step 1152, determining a mesh size adjustment strategy based on the analysis result of the difference, and determining how to adjust the resolution of the mesh according to the size and direction of the difference. For example, it is possible to set:
if the difference exceeds a certain positive threshold, indicating that the water depth is very changing, the grid needs to be subdivided, i.e. the size of the grid is reduced to increase the resolution; if the difference value is between the positive threshold value and the negative threshold value, the water depth is moderately changed, and the current grid size can be kept unchanged; if the difference is below a certain negative threshold, indicating that the water depth changes very smoothly, it may be considered to merge the grids, i.e. increase the size of the grids to decrease the resolution.
Step 1153, performing size adjustment on each grid according to the determined adjustment policy, which specifically includes, for the area needing to improve resolution, splitting the existing grid into smaller sub-grids, where the splitting manner may be equal division or unequal division according to the change characteristics of the water depth data; for a region with gentle water depth change, combining a plurality of adjacent grids into a larger grid, wherein the combined grids still can accurately represent the water depth characteristic of the region; for areas with moderate water depth variation, the size and resolution of the existing grid can be kept unchanged.
Step 1154, after the grid adjustment is performed, updating the data structure for storing and managing the grid, including updating the information such as the boundary, the size, the position, and the association relationship with the water depth data point of the grid, so as to ensure that the new grid structure can accurately reflect the adjusted resolution and topology relationship.
And finally, verifying the adjusted grid, ensuring that the change characteristics of the water depth data can be effectively captured and the application requirements are met, and if the resolution of certain areas is still insufficient or too high, readjusting the strategy and repeating the operation to further optimize.
Through the steps, the size of the grid can be dynamically adjusted according to the change rate of the water depth data, so that a grid structure with self-adaptive resolution is obtained, the self-adaptive grid can be better adapted to the spatial change characteristics of the water depth data, and the accuracy and the efficiency of data processing are improved.
In another preferred embodiment of the present invention, the step 116 may include:
step 1161, an index entry is designed for each grid, which contains the following information:
The position information, the spatial position of the grid, may be represented using coordinates (e.g., latitude and longitude) or an offset from some reference point.
The size, the size of the mesh, or the resolution, may be a value representing the length or a pair of values (e.g., width and height).
The water depth data points contained, a list or reference of water depth data points contained within the grid, which may be actual water depth measurements or pointers or identifiers to other data structures.
Step 1162, traversing all grids, creating an index entry for each grid, and adding the entries to the index structure, by which an index containing each grid location information, size, and contained water depth data points can be constructed.
In a preferred embodiment of the present invention, the step 12 may include:
Step 121, creating an empty set for storing the identified non-empty boundary grids;
Step 122, traversing each grid from the grid index of the adaptive resolution;
Step 123, for each traversed mesh, checking whether the mesh contains water depth data points;
Step 124, if a grid contains water depth data points, checking whether the grid has at least one edge adjacent to an outer boundary of the data area; if any one adjoining mesh of one mesh does not contain a water depth data point, then the current mesh is considered a boundary mesh.
In the embodiment of the present invention, step 121, by creating a specific set to store the boundary grids, it can be ensured that these grids are organized orderly, so as to facilitate subsequent processing and access; the boundary grids can be added, deleted and queried efficiently using the aggregate data structure; the boundary grids are stored separately from other grids, so that the definition and the readability of codes can be maintained, and the subsequent logic processing is more visual. Step 122, by traversing each grid in the index, it can be ensured that all grids are inspected so as not to miss any possible boundary grids; regardless of the change of the size and distribution of the grids, the traversing method can be adapted, so that the algorithm has stronger universality and adaptability; by traversing with the index structure, each grid can be accessed efficiently, reducing unnecessary search and computation overhead. Step 123, by checking whether each grid contains water depth data points, it can be accurately identified which grids are valid (i.e., contain data); ensuring that only the grids containing the data are further processed, and avoiding the interference of the invalid grids to the boundary recognition process; the existence of the data points is directly checked in the traversal process, so that the subsequent redundant processing of the invalid grid can be avoided, and the algorithm efficiency is improved. Step 124, accurately identifying the boundary mesh by checking whether the mesh adjacent to the outer boundary has a difference in data points; ensuring that all grids located at the boundaries of the data region are correctly identified, thereby preserving the integrity of the data boundaries.
In a preferred embodiment of the present invention, the step 13 may include:
step 131, obtaining water depth data points in all non-empty boundary grids and topography characteristic line data;
Step 132, constructing a constraint edge set according to the topographic feature line data;
Step 133, creating an empty triangle mesh data structure for storing and managing the generated triangle patches;
step 134, calculating a convex hull according to all water depth data points, and constructing an initial triangular mesh frame according to the boundary of the convex hull;
step 135, obtaining interpolated data points from the set of unprocessed water depth data points, and finding triangles containing the interpolated data points in the current triangle mesh;
Step 136, splitting the found triangle into a plurality of new triangles, such that the interpolated data point becomes one of the vertices of the new triangle, specifically comprising, connecting the interpolated data point with the three vertices of the triangle containing it, respectively, to form three new edges intersecting the three edges of the original triangle, splitting the original triangle into three new triangles, each new triangle having a common vertex, i.e., the interpolated data point;
Step 137, performing local optimization on the new triangle, repeating the operation until all data points are inserted into the triangle network, and finally generating an initial triangle network, wherein the method specifically comprises the steps of determining the points to be moved according to the side length ratio of the triangle; for each point to be moved, calculating the moving direction and distance by analyzing the relationship between the point to be moved and the adjacent point; moving the point to be moved to a new position according to the moving direction and the distance; updating the data structure of the triangle network after the point is moved; the point movement is performed in multiple iterations until a termination condition is reached.
In the embodiment of the present invention, step 131, ensuring that all the water depth data points and the topography characteristic line data for constructing the triangle network are completely acquired; by acquiring data points in the non-empty boundary grid, the accuracy of the triangle network at the boundary can be ensured, and boundary distortion or omission is avoided. Step 132, constructing a constraint edge set by utilizing the terrain characteristic line data, so that the triangular net can be better adapted to the actual terrain, and the fidelity of the model is improved; important features (such as river shorelines, contour lines and the like) of the terrain are ensured to be reserved and reflected in the triangular network, and the terrain expression capability of the model is enhanced. In step 133, by creating the triangle mesh data structure, the generated triangle patches can be clearly organized and managed, so that subsequent operations and queries are facilitated, and the triangle mesh generation, query and modification efficiency can be improved by using the data structure. Step 134, by calculating the convex hull and constructing the initial triangle network frame by the boundary thereof, the stability and rationality of the triangle network can be ensured, the peripheral boundary of the data point can be rapidly determined by the convex hull calculation, and the calculation amount of subsequent processing is reduced. Step 135, by inserting data points one by one and updating the triangle net, the structure of the triangle net can be gradually thinned, the precision and detail expression capability of the model are improved, the distribution and density change of the data points can be dynamically adapted, and a more reasonable and uniform triangle net is generated. 136, by splitting the triangle and inserting new data points as vertexes, local updating and adjustment of the triangle network can be realized, and the continuity and consistency of the model are maintained; the addition of the new triangle can increase the detail expressive power of the model, so that the triangle net is more close to the actual terrain. Step 137, by performing local optimization (such as side length adjustment, angle optimization, etc.) on the newly generated triangle, the quality of the triangle net can be improved, and the occurrence of deformed triangle can be reduced; by repeating the insertion and optimization operations continuously, it is ensured that all data points are reasonably inserted into the triangle network, and the integrity and accuracy of the model are ensured.
In another preferred embodiment of the present invention, the step 134 may include:
at 1341, a starting point is selected from all the water depth data points, which is the lowest point in the data set (i.e., the point with the smallest y coordinate), the purpose of which is to ensure that the scanning process can begin at a defined boundary point.
Step 1342, ordering according to polar angles (angles formed by anticlockwise connecting the starting point and a line segment connecting the starting point from the positive x-axis direction) between other data points and the starting point with the starting point as the center; if the polar angles of the two points and the starting point are the same, sorting is carried out according to the distance from the two points to the starting point, and the point with the closer distance is arranged in front; the ordered point sets are arranged around the starting point in a clockwise direction;
In step 1343, a stack is created to store the points on the convex hull, and the starting point, the first ordered point, and the second ordered point are sequentially pushed into the stack, where the points form the initial portion of the convex hull.
Step 1344, starting from the third point after sorting, traversing the rest points in turn, and for each traversed point, executing the following operations:
step 13441, popping up the point at the top of the stack, and marking the point as a top;
Step 13442, checking whether the second last point (noted as second top), top and the currently traversed point (noted as current) in the stack form a right-turn (i.e. determining whether the three points satisfy the convexity condition) specifically includes:
Assume that there are three points: second top, and current, which represent the penultimate point in the stack, stack vertex, and the point currently traversed, respectively, two vectors can be defined:
Vector quantity From second top to top: /(I)
Vector quantityDirected from top to current,/>
The computation cross product is a scalar value in two dimensions, and the computation formula is:
Wherein, And/>Vector/>, respectivelyX and y components,/>And/>Vector/>, respectivelyX and y components of (c); if it is0, Then it is stated that from second top to current constitutes a left turn; if/>< 0, Then it is stated that a turn to the right is made; if/>The three points are collinear, wherein if the curve turns right, it means that the current point current is not on the convex hull, and the points in the stack need to be continuously checked;
step 13443, performing cross product calculation with two points second top and top at the top of the stack each time a new point current is traversed, if the calculation result shows that a right turn curve is formed, continuously popping up the point at the top of the stack until the convexity condition is met or only two points remain in the stack;
step 1345, pushing the currently traversed point current into a stack;
At 1346, after traversing all points, the points stored in the stack form vertices on the convex hull, which are connected together in the order they were pushed into the stack, forming a minimum convex polygon surrounding all the data points.
In the embodiment of the invention, the lowest point (the point with the smallest y coordinate) in the data set is selected as the starting point, so that the scanning process can be ensured to start from a definite boundary, and the uncertainty and complexity of calculation are reduced. Ordering according to polar angles between the data points and the starting points can ensure that all points are accessed orderly in a clockwise (or anticlockwise) direction in the processing process, and when the polar angles are the same, ordering according to the distance can further ensure the stability of the algorithm. By pushing the starting point and the first two points after sorting into the stack, the initial part of the convex hull can be quickly constructed. Through traversing the rest points after sequencing and judging the turning of the points by using the cross product, the points which are not on the convex hull can be efficiently identified and removed, unnecessary calculation is avoided, and the efficiency of the algorithm is improved. Using the nature of the cross product to determine the turning of the point is a geometrically accurate method. It can accurately identify a turn to the right (i.e., a point that does not meet the convexity condition), ensuring that the final convex hull is accurate. During traversal, the points at the top of the stack are dynamically popped up based on the cross product calculation until either the convexity condition is met or only two points remain in the stack, and this ability to dynamically adjust allows the algorithm to adapt to convex hulls of various shapes. After traversing all points, the points stored in the stack form vertices on the convex hull, and the points are connected together in the order they are pushed into the stack, so that a minimum convex polygon surrounding all the data points is formed, and the integrity and correctness of the convex hull are ensured.
In another preferred embodiment of the present invention, the step 135 may include:
Step 1351, generating a random number by using a uniform random number generator, and generating a random number between 0 and 1 minus the array length as an index; removing selected points from the set of data points to be selected; the method for acquiring the triangle containing the inserted data points by using the traversal search algorithm specifically comprises the following steps: setting a starting point or region of searching; traversing along adjacent triangles from an initial point or region, and determining whether an interpolated data point is located inside the triangle by calculating a vector cross product between the point and each side of the triangle during traversing; the search process terminates when a triangle is found such that the interpolated data point is located inside. Thus, the present invention, through these steps, can ensure that the newly inserted data points are properly integrated into the existing triangle mesh.
In a preferred embodiment of the present invention, the step 14 may include:
step 141, traversing all water depth data points;
step 142, traversing all triangles in the triangle mesh with a cyclic spatial index structure for the current water depth data point being processed;
Step 143, for each triangle, judging whether the current point is in the triangle, if so, terminating the internal circulation;
Step 144, if the current water depth data point is not included in any triangle after traversing all triangles, marking the current water depth data point as an uncovered isolated point;
And 145, after finishing processing the current water depth data point, continuing to traverse the next water depth data point, and repeating the operation until all the water depth data points are traversed, so as to obtain a list containing all the isolated points which are not covered by the triangular network.
In an embodiment of the present invention, step 141 ensures that each water depth data point is inspected and processed without leaving a miss. In step 142, triangles are efficiently located and processed by a spatial index structure (e.g., an R tree), so that blind searching of the whole network is avoided, and the processing speed is remarkably improved. Step 143, judging whether the point is in the triangle, and immediately stopping the loop when the triangle containing the current point is found, thereby avoiding unnecessary subsequent iteration and improving the algorithm efficiency. In step 144, by marking the isolated points that are not covered, the coverage holes or the areas that need additional processing in the triangle mesh can be clearly identified. Step 145, through complete traversal and processing, ensures that all water depth data points are taken into account.
In another preferred embodiment of the present invention, the step 143 may include:
in step 1431, the vertex coordinates a (x 1,y1),B(x2,y2),C(x3,y3) of the triangle ABC and a point P (x, y) to be detected are determined, and the barycentric coordinates (α, β, γ) of P are calculated, which specifically includes: calculating the area of the triangle ABC, wherein the area of the triangle ABC is specifically:
; area/>, of triangle PBC was calculated separately Area/> of triangle PACAnd area/>, of triangle PAB
Step 1432, based on the area of triangle PBCArea/> of triangle PACAnd area/>, of triangle PABCalculating barycentric coordinates, wherein/(,/>,/>
Step 1433, if the calculated barycentric coordinates α, β and γ are all between 0 and 1 (including 0 but not including 1 for points on the boundary) and their sum is approximately equal to 1, then point P is within triangle ABC; if either barycentric coordinate is not between 0 and 1, or their sum is not approximately equal to 1, then point P is not within triangle ABC.
In the embodiment of the present invention, step 1431, by calculating the area of the triangle and the barycentric coordinates of the points, the accuracy of the calculation is ensured, and the errors possibly introduced by the approximation or estimation method are avoided. In step 1432, the barycentric coordinates are calculated by directly using the area of the triangle, so that complex geometric transformation or iterative calculation is avoided, and the processing speed is improved. In step 1433, by checking whether the barycentric coordinates are between 0 and 1 and whether their sum is approximately equal to 1, it can be accurately determined whether the point is within the triangle (including on the boundary), improving the robustness and reliability of the algorithm, and not only can it be determined whether the point is within the triangle, but also can be determined that the point is on the boundary of the triangle by checking the specific value of the barycentric coordinates.
In a preferred embodiment of the present invention, the step 15 may include:
step 151, selecting a point from the isolated point list as an insertion point;
step 152, finding a current triangle in the current triangle network using a spatial query algorithm;
step 153, splitting the current triangle into a plurality of new triangles so that the insertion point becomes one of the vertices of the new triangle;
Step 154, adding the new triangle to the data structure of the triangle network, and updating the related adjacency and spatial index;
Step 155, repeating the operation until all isolated water depth data points are inserted into the triangle, selecting a new isolated point for insertion in each iteration, and updating the triangle.
In the embodiment of the present invention, step 151 selects points from the isolated point list one by one to insert, so as to ensure that each uncovered isolated point can be processed without omission, and can select a specific isolated point to perform preferential processing according to the need, for example, according to the position, importance or other criteria of the point. In step 152, the triangle to be split is rapidly located by a spatial query algorithm (such as a spatial index structure), so that full-network searching is avoided, processing speed is remarkably improved, the triangle related to the insertion point can be accurately found by the spatial query algorithm, and the correctness of subsequent splitting operation is ensured. Step 153, by splitting the triangle and taking the isolated point as the vertex of the new triangle, the isolated point can be effectively incorporated into the triangle network, and the coverage rate and the accuracy of the triangle network are improved; the splitting operation follows the basic properties of triangles, such as maintaining the shape and size of the triangle reasonable, ensuring that the newly created triangle still meets the requirements of the triangle mesh. Step 154, adding new triangle to the data structure of triangle network in time, maintaining consistency and integrity of data, updating adjacency relation and spatial index, ensuring that subsequent space inquiry operation can be continuously and efficiently executed without performance degradation caused by change of data structure. Step 155, through iterative processing, it is ensured that all isolated water depth data points are finally inserted into the triangular network, so that the integrity and accuracy of the triangular network are improved, a new isolated point is selected for insertion in each iteration, the triangular network is updated, and the structure and coverage condition of the triangular network are gradually optimized.
As shown in fig. 2, an embodiment of the present invention further provides a system 20 for constructing a reservoir underwater digital elevation model, including:
an acquisition module 21, configured to establish a grid index of adaptive resolution on a two-dimensional plane according to the density and the change rate of the water depth data; identifying a non-empty boundary grid containing water depth data points according to the grid index of the self-adaptive resolution; triangulating all water depth data points by a triangulating method according to the non-empty boundary grid and the terrain characteristic line to generate an initial triangular network;
A processing module 22 for identifying and processing isolated water depth data points not covered by the original triangle mesh; inserting the isolated water depth data points into an initial triangular network, and correspondingly updating the structure of the triangular network to obtain an updated triangular network; carrying out local optimization treatment on the updated triangular net to obtain a preliminary digital elevation model; and verifying the preliminary digital elevation model to obtain a final digital elevation model.
Optionally, establishing a grid index of adaptive resolution on a two-dimensional plane according to the density and the change rate of the water depth data, including:
evaluating the water depth data and determining the spatial distribution and density of the water depth data;
Setting an initial grid according to the density of the water depth data;
Calculating the change rate of the water depth data in each initial grid;
calculating a difference value between the change rate of the water depth data and a preset threshold value;
Dynamically adjusting the size of the initial grid according to the difference value to obtain a self-adaptive resolution grid;
an index is constructed for storing the adaptive resolution grid.
Optionally, the index contains location information, size, water depth data points contained for each grid.
Optionally, identifying a non-empty boundary grid containing water depth data points based on the adaptive resolution grid index, comprising:
creating an empty set for storing the identified non-empty boundary grids;
Traversing each grid from the grid index of the adaptive resolution;
for each traversed mesh, checking whether the mesh contains water depth data points;
If a grid contains water depth data points, checking whether the grid has at least one edge adjacent to an outer boundary of the data region; if any one adjoining mesh of one mesh does not contain a water depth data point, then the current mesh is considered a boundary mesh.
Optionally, triangulating all water depth data points by a triangulation method according to the non-empty boundary grid and the terrain characteristic line to generate an initial triangular grid, including:
acquiring water depth data points and topography characteristic line data in all non-empty boundary grids;
constructing a constraint edge set according to the topographic feature line data;
creating an empty triangle mesh data structure for storing and managing the generated triangle patches;
calculating a convex hull according to all water depth data points, and constructing an initial triangular mesh frame according to the boundary of the convex hull;
Acquiring inserted data points from the unprocessed water depth data point set, and finding triangles containing the inserted data points in the current triangle network;
Splitting the found triangle into a plurality of new triangles such that the interpolated data point becomes one of the vertices of the new triangle;
the new triangle is locally optimized, and the operation is repeated until all data points are inserted into the triangle mesh, and finally the initial triangle mesh is generated.
Optionally, identifying and processing isolated water depth data points not covered by the initial triangulation network includes:
traversing all water depth data points;
traversing all triangles in the triangular network by using a cyclic spatial index structure for the current processed water depth data point;
judging whether the current point is in the triangle or not for each triangle, if so, terminating the internal circulation;
If the current water depth data point is not contained by any triangle after traversing all triangles, marking the current water depth data point as an uncovered isolated point;
after the current water depth data point is processed, the next water depth data point is continuously traversed, and the operation is repeated until all the water depth data points are traversed, so that an isolated point list containing all the isolated points which are not covered by the triangular net is obtained.
Optionally, inserting the isolated water depth data points into the initial triangulation and updating the structure of the triangulation accordingly to obtain an updated triangulation, comprising:
Selecting a point from the isolated point list as an insertion point;
using a space query algorithm to find a current triangle in the current triangle network;
splitting the current triangle into a plurality of new triangles such that the insertion point becomes one of the vertices of the new triangle;
Adding the new triangle into the data structure of the triangle network, and updating the related adjacency and the spatial index;
the operation is repeated until all isolated water depth data points are inserted into the triangle mesh, and in each iteration, a new isolated point is selected for insertion and the triangle mesh is updated.
It should be noted that, the system is a system corresponding to the above method, and all implementation manners in the above method embodiment are applicable to the embodiment, so that the same technical effects can be achieved.
Embodiments of the present invention also provide a computing device comprising: a processor, a memory storing a computer program which, when executed by the processor, performs the method as described above. All the implementation manners in the method embodiment are applicable to the embodiment, and the same technical effect can be achieved.
Embodiments of the present invention also provide a computer-readable storage medium storing instructions that, when executed on a computer, cause the computer to perform a method as described above. All the implementation manners in the method embodiment are applicable to the embodiment, and the same technical effect can be achieved.
Those of ordinary skill in the art will appreciate that the various illustrative elements and algorithm steps described in connection with the embodiments disclosed herein may be implemented as electronic hardware, or combinations of computer software and electronic hardware. Whether such functionality is implemented as hardware or software depends upon the particular application and design constraints imposed on the solution. Skilled artisans may implement the described functionality in varying ways for each particular application, but such implementation decisions should not be interpreted as causing a departure from the scope of the present invention.
It will be clear to those skilled in the art that, for convenience and brevity of description, specific working procedures of the above-described systems, apparatuses and units may refer to corresponding procedures in the foregoing method embodiments, and are not repeated herein.
In the embodiments provided in the present invention, it should be understood that the disclosed apparatus and method may be implemented in other manners. For example, the apparatus embodiments described above are merely illustrative, e.g., the division of the units is merely a logical function division, and there may be additional divisions when actually implemented, e.g., multiple units or components may be combined or integrated into another system, or some features may be omitted or not performed. Alternatively, the coupling or direct coupling or communication connection shown or discussed with each other may be an indirect coupling or communication connection via some interfaces, devices or units, which may be in electrical, mechanical or other form.
The units described as separate units may or may not be physically separate, and units shown as units may or may not be physical units, may be located in one place, or may be distributed on a plurality of network units. Some or all of the units may be selected according to actual needs to achieve the purpose of the solution of this embodiment.
In addition, each functional unit in the embodiments of the present invention may be integrated in one processing unit, or each unit may exist alone physically, or two or more units may be integrated in one unit.
The functions, if implemented in the form of software functional units and sold or used as a stand-alone product, may be stored in a computer-readable storage medium. Based on this understanding, the technical solution of the present invention may be embodied essentially or in a part contributing to the prior art or in a part of the technical solution, in the form of a software product stored in a storage medium, comprising several instructions for causing a computer device (which may be a personal computer, a server, a network device, etc.) to perform all or part of the steps of the method according to the embodiments of the present invention. And the aforementioned storage medium includes: a usb disk, a removable hard disk, a ROM, a RAM, a magnetic disk, or an optical disk, etc.
Furthermore, it should be noted that in the apparatus and method of the present invention, it is apparent that the components or steps may be disassembled and/or assembled. Such decomposition and/or recombination should be considered as equivalent aspects of the present invention. Also, the steps of performing the series of processes described above may naturally be performed in chronological order in the order of description, but are not necessarily performed in chronological order, and some steps may be performed in parallel or independently of each other. It will be appreciated by those of ordinary skill in the art that all or any of the steps or components of the methods and apparatus of the present invention may be implemented in hardware, firmware, software, or any combination thereof in any computing device (including processors, storage media, etc.) or network of computing devices, as would be apparent to one of ordinary skill in the art upon reading the present specification.
The object of the invention can thus also be achieved by running a program or a set of programs on any computing device. The computing device may be a well-known general purpose device. The object of the invention can thus also be achieved by merely providing a program product containing program code for implementing said method or apparatus. That is, such a program product also constitutes the present invention, and a storage medium storing such a program product also constitutes the present invention. It is apparent that the storage medium may be any known storage medium or any storage medium developed in the future. It should also be noted that in the apparatus and method of the present invention, it is apparent that the components or steps may be disassembled and/or assembled. Such decomposition and/or recombination should be considered as equivalent aspects of the present invention. The steps of executing the series of processes may naturally be executed in chronological order in the order described, but are not necessarily executed in chronological order. Some steps may be performed in parallel or independently of each other.
While the foregoing is directed to the preferred embodiments of the present invention, it will be appreciated by those skilled in the art that various modifications and adaptations can be made without departing from the principles of the present invention, and such modifications and adaptations are intended to be comprehended within the scope of the present invention.

Claims (4)

1. The method for constructing the reservoir underwater digital elevation model is characterized by comprising the following steps of:
establishing a grid index with self-adaptive resolution on a two-dimensional plane according to the density and the change rate of the water depth data;
Identifying a non-empty boundary grid containing water depth data points according to the grid index of the self-adaptive resolution;
triangulating all water depth data points by a triangulating method according to the non-empty boundary grid and the terrain characteristic line to generate an initial triangular network;
identifying and processing isolated water depth data points not covered by the original triangulation network;
Inserting the isolated water depth data points into an initial triangular network, and correspondingly updating the structure of the triangular network to obtain an updated triangular network;
Carrying out local optimization treatment on the updated triangular net to obtain a preliminary digital elevation model;
Verifying the preliminary digital elevation model to obtain a final digital elevation model;
Establishing a grid index with self-adaptive resolution on a two-dimensional plane according to the density and the change rate of water depth data, wherein the grid index comprises the following components:
evaluating the water depth data and determining the spatial distribution and density of the water depth data;
Setting an initial grid according to the density of the water depth data;
Calculating the change rate of the water depth data in each initial grid;
calculating a difference value between the change rate of the water depth data and a preset threshold value;
Dynamically adjusting the size of the initial grid according to the difference value to obtain a self-adaptive resolution grid;
Constructing an index for storing the adaptive resolution grid; the index contains the position information, the size and the water depth data point of each grid;
Identifying a non-empty boundary grid containing water depth data points from the adaptive resolution grid index, comprising:
creating an empty set for storing the identified non-empty boundary grids;
Traversing each grid from the grid index of the adaptive resolution;
for each traversed mesh, checking whether the mesh contains water depth data points;
If a grid contains water depth data points, checking whether the grid has at least one edge adjacent to an outer boundary of the data region; if any one of the adjoining grids of one grid does not contain a water depth data point, the current grid is considered a boundary grid;
according to the non-empty boundary grid and the terrain characteristic line, triangulating all water depth data points by a triangulating method to generate an initial triangular network, which comprises the following steps:
acquiring water depth data points and topography characteristic line data in all non-empty boundary grids;
constructing a constraint edge set according to the topographic feature line data;
creating an empty triangle mesh data structure for storing and managing the generated triangle patches;
calculating a convex hull according to all water depth data points, and constructing an initial triangular mesh frame according to the boundary of the convex hull;
Acquiring inserted data points from the unprocessed water depth data point set, and finding triangles containing the inserted data points in the current triangle network;
Splitting the found triangle into a plurality of new triangles such that the interpolated data point becomes one of the vertices of the new triangle;
performing local optimization on the new triangle, repeating the operation until all data points are inserted into the triangle network, and finally generating an initial triangle network;
Identifying and processing isolated water depth data points not covered by the original triangulation network, comprising:
traversing all water depth data points;
traversing all triangles in the triangular network by using a cyclic spatial index structure for the current processed water depth data point;
judging whether the current point is in the triangle or not for each triangle, if so, terminating the internal circulation;
If the current water depth data point is not contained by any triangle after traversing all triangles, marking the current water depth data point as an uncovered isolated point;
After finishing processing the current water depth data point, continuing to traverse the next water depth data point and repeating the operation until all the water depth data points are traversed, so as to obtain an isolated point list containing all the isolated points which are not covered by the triangular network;
Inserting the isolated water depth data points into the initial triangulation and correspondingly updating the structure of the triangulation to obtain an updated triangulation, comprising:
Selecting a point from the isolated point list as an insertion point;
using a space query algorithm to find a current triangle in the current triangle network;
splitting the current triangle into a plurality of new triangles such that the insertion point becomes one of the vertices of the new triangle;
Adding the new triangle into the data structure of the triangle network, and updating the related adjacency and the spatial index;
repeating the operation until all isolated water depth data points are inserted into the triangular network, selecting a new isolated point to insert in each iteration, and updating the triangular network;
calculating a convex hull according to all water depth data points, and constructing an initial triangular mesh frame according to the boundaries of the convex hull, wherein the method can comprise the following steps:
Selecting a starting point from all water depth data points, taking the starting point as a center, and sequencing according to polar angles between other data points and the starting point, wherein the polar angle is an angle formed by a line segment from the positive direction of an x axis to the anticlockwise direction of the starting point and the point; if the polar angles of the two points and the starting point are the same, sorting is carried out according to the distance from the two points to the starting point, and the point with the closer distance is arranged in front; the ordered point sets are arranged around the starting point in a clockwise direction;
Creating a stack to store points on the convex hull, and sequentially pushing the starting point, the first ordered point and the second ordered point into the stack, wherein the points form an initial part of the convex hull;
Starting from the third point after sorting, traversing the rest points in turn, and for each traversed point, executing the following operations:
ejecting a point at the top of the stack, and marking the point as a top;
Checking whether the penultimate point in the stack is recorded as second_top and the point currently traversed is recorded as current or not forms a right-turning bend or not, and specifically comprising:
assume that there are three points: second_top, top, and current, which represent the penultimate point in the stack, stack vertex, and the point currently traversed, respectively, two vectors can be defined:
Vector quantity From second_top to top: /(I)
Vector quantityDirected from top to current,/>
The computation cross product is a scalar value in two dimensions, and the computation formula is:
Wherein, And/>Vector/>, respectivelyX and y components,/>And/>Vector/>, respectivelyX and y components of (c); if/>0, Then it is stated that going from second_top to top to current constitutes a left turn; if/>< 0, Then it is stated that a turn to the right is made; if/>The three points are collinear, wherein if the curve turns right, it means that the current point current is not on the convex hull, and the points in the stack need to be continuously checked;
Each time traversing to a new point current, cross product calculation is carried out with two points second_top and top at the top of the stack, if a calculation result shows that a right turn curve is formed, the point at the top of the stack is continuously popped up until the convexity condition is met or only two points remain in the stack;
Pressing the current traversed point into a stack;
After traversing all points, the points stored in the stack form vertices on the convex hull, and the points are connected together in the order they are pushed into the stack, forming a minimum convex polygon surrounding all the data points;
splitting the found triangle into a plurality of new triangles such that the interpolated data point becomes one of the vertices of the new triangle, specifically comprising, respectively connecting the interpolated data point with three vertices of the triangle containing it to form three new edges intersecting the three edges of the original triangle, splitting the original triangle into three new triangles, each new triangle having a common vertex, i.e., the interpolated data point;
performing local optimization on the new triangle, repeating the operation until all data points are inserted into the triangle network, and finally generating an initial triangle network, wherein the method specifically comprises the steps of determining the points to be moved according to the side length ratio of the triangle; for each point to be moved, calculating the moving direction and distance by analyzing the relationship between the point to be moved and the adjacent point; moving the point to be moved to a new position according to the moving direction and the distance; updating the data structure of the triangle network after the point is moved; the point movement is performed in multiple iterations until a termination condition is reached.
2. A system for constructing a reservoir underwater digital elevation model, which is applied to the method as claimed in claim 1, and comprises the following steps:
The acquisition module is used for establishing a grid index with self-adaptive resolution on a two-dimensional plane according to the density and the change rate of the water depth data; identifying a non-empty boundary grid containing water depth data points according to the grid index of the self-adaptive resolution; triangulating all water depth data points by a triangulating method according to the non-empty boundary grid and the terrain characteristic line to generate an initial triangular network;
A processing module for identifying and processing isolated water depth data points not covered by the initial triangle mesh; inserting the isolated water depth data points into an initial triangular network, and correspondingly updating the structure of the triangular network to obtain an updated triangular network; carrying out local optimization treatment on the updated triangular net to obtain a preliminary digital elevation model; and verifying the preliminary digital elevation model to obtain a final digital elevation model.
3. A computing device, comprising:
One or more processors;
Storage means for storing one or more programs that, when executed by the one or more processors, cause the one or more processors to implement the method of claim 1.
4. A computer readable storage medium, characterized in that the computer readable storage medium has stored therein a program which, when executed by a processor, implements the method according to claim 1.
CN202410322844.1A 2024-03-21 2024-03-21 Construction method of reservoir underwater digital elevation model Active CN117932974B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202410322844.1A CN117932974B (en) 2024-03-21 2024-03-21 Construction method of reservoir underwater digital elevation model

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202410322844.1A CN117932974B (en) 2024-03-21 2024-03-21 Construction method of reservoir underwater digital elevation model

Publications (2)

Publication Number Publication Date
CN117932974A CN117932974A (en) 2024-04-26
CN117932974B true CN117932974B (en) 2024-06-18

Family

ID=90764930

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202410322844.1A Active CN117932974B (en) 2024-03-21 2024-03-21 Construction method of reservoir underwater digital elevation model

Country Status (1)

Country Link
CN (1) CN117932974B (en)

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2477368B (en) * 2010-10-11 2011-12-14 Visual Technology Services Ltd Triangle mesh compression
CN103530904B (en) * 2013-11-04 2016-03-23 东南大学 A kind of underwater landform digital method for building up based on kriging method
CA2951533C (en) * 2015-12-10 2023-08-08 Ocean Networks Canada Society Automated generation of digital elevation models
CN111553986B (en) * 2020-05-19 2021-03-05 北京数字绿土科技有限公司 Construction method and construction device of triangulation network and generation method of digital surface model
CN113487736B (en) * 2021-07-12 2022-12-02 中国电建集团昆明勘测设计研究院有限公司 Method for converting underwater topography point cloud data into OBJ three-dimensional model
CN115640670A (en) * 2022-09-05 2023-01-24 浙江水利水电学院 Terrain self-adaptive water depth model partition weighting fusion method
CN116415318B (en) * 2023-03-20 2024-03-08 长江水利委员会长江科学院 Modeling method for hydrologic connectivity of lake in inner flow area based on mathematical morphology
CN116359838A (en) * 2023-03-24 2023-06-30 哈尔滨工程大学 Positioning resolving model for indoor low-power consumption Bluetooth
CN116402966A (en) * 2023-04-13 2023-07-07 西安空天仿真科技有限公司 Three-dimensional terrain visual simulation modeling method

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
湖泊水下数字高程模型建模方法及应用模型;邓雪清, 张永生, 李波, 班业胜;华东地质学院学报;20030930(02);第2节 *
顾及水深复杂度的自适应网格DDM构建方法;贾帅东;张立华;曹鸿博;朱穆华;;海洋测绘;20110325(02);第1、2、4节 *

Also Published As

Publication number Publication date
CN117932974A (en) 2024-04-26

Similar Documents

Publication Publication Date Title
CN106529469B (en) Unmanned aerial vehicle-mounted LiDAR point cloud filtering method based on self-adaptive gradient
CN114332366B (en) Digital urban single house point cloud elevation 3D feature extraction method
US9691006B2 (en) Point cloud simplification
US10019649B2 (en) Point cloud simplification
CN113868476B (en) Octree point cloud preprocessing method based on local density
CN112381862B (en) Full-automatic registration method and device for CAD (computer-aided design) model and triangular mesh
CN108920765A (en) A kind of hypothesis planar fit method based on building three-dimensional line segment model
CN111275724A (en) Airborne point cloud roof plane segmentation method based on octree and boundary optimization
Wang et al. A new point cloud simplification method with feature and integrity preservation by partition strategy
CN113838005A (en) Intelligent rock fracture identification and three-dimensional reconstruction method and system based on dimension conversion
CN117874900B (en) House construction engineering supervision method based on BIM technology
CN113342999B (en) Variable-resolution-ratio point cloud simplification method based on multi-layer skip sequence tree structure
CN113409332B (en) Building plane segmentation method based on three-dimensional point cloud
CN117932974B (en) Construction method of reservoir underwater digital elevation model
CN104821015A (en) Method for reconstructing alpha-shape curved surface topology of object surface sample point
CN115937465A (en) Depth map fusion algorithm considering pixel region prediction
CN115512076A (en) Grid reconstruction method, device, equipment and storage medium
CN106652032B (en) A kind of parallel contour lines creation method of DEM based on Linux cluster platform
CN115330971A (en) Geometric model lightweight method for rendering performance optimization
CN112800829B (en) Identification method for local damage degree of object based on three-dimensional measurement
CN115375875A (en) Grain pile concave-convex shape feature recognition method, equipment and medium based on three-dimensional shape
CN117807782B (en) Method for realizing three-dimensional simulation model
CN114332412B (en) Three-dimensional model data thinning simplifying method and device considering scale
CN115063460B (en) High-precision self-adaptive homonymous pixel interpolation and optimization method
Bevilacqua et al. An evolutionary optimization method for parameter search in 3d points cloud reconstruction

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant