Hydraulic simulation result processing method and processing device

By determining the dynamic grid data packet serialization output of the overall water body and basic grid of the hydraulic simulation area, the performance bottleneck of hydraulic simulation results in three-dimensional dynamic visualization is solved, and the processing efficiency and visualization effect are improved.

CN121638102APending Publication Date: 2026-03-10BEIJING GENERAL MUNICIPAL ENG DESIGN & RES INST
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202511532756.5
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2025-10-24
Publication Date
2026-03-10

AI Technical Summary

Technical Problem

Existing technologies face performance issues caused by massive amounts of data when processing hydraulic simulation results, especially in 3D dynamic visualization and engineering quantity statistics, making it difficult to meet the needs of real-time or near-real-time visualization.

Method used

By acquiring topographic elevation raster data and time-series hydraulic simulation results raster data, the overall water body of each physical partition space in the hydraulic simulation area is determined, and it is serialized and output with the dynamic grid data package of the base grid to reduce the amount of data transmitted to the visualization engine.

Benefits of technology

It significantly improves the processing efficiency of hydraulic simulation results, reduces the amount of data that needs to be transmitted to the visualization engine, enhances visualization performance and smoothness, and achieves more efficient data processing and analysis.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN121638102A_ABST
    Figure CN121638102A_ABST
Patent Text Reader

Abstract

The invention discloses a hydraulic simulation result processing method and device. The processing method comprises the following steps: acquiring terrain elevation raster data of a hydraulic simulation area; obtaining time sequence hydraulic simulation result raster data of the hydraulic simulation area; on the basis of the obtained terrain elevation raster data and the obtained sequential hydraulic simulation result raster data, determining a total water body of each physical partition space of the hydraulic simulation area; for each determined total water body, determining a dynamic grid data packet of a basic grid corresponding to the total water body at each moment in a full simulation time history; and carrying out serialization output on the determined total water body and the determined dynamic grid data packet. Therefore, the processing efficiency of the hydraulic simulation result is improved.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This application relates to the interdisciplinary fields of water conservancy engineering, computer-aided engineering, geographic information systems and three-dimensional visualization, and more specifically, to a method and apparatus for processing hydraulic simulation results. Background Technology

[0002] Hydraulic simulation is an important technical tool in fields such as flood control and drainage, water resource management, and environmental assessment. Its calculation results are usually represented by a series of raster data at different times to show key parameters such as water depth, flow velocity, and flow direction. These raster data, especially the widely used ASCII DEM format, have the advantages of open format and intuitive data expression.

[0003] However, existing technologies face significant bottlenecks when applying these raw simulation results to subsequent advanced analyses, particularly 3D dynamic visualization (such as displaying flooding processes in engines like Unity) and accurate engineering quantity statistics. For example, performance issues arise due to massive amounts of data. Hydraulic simulations typically involve calculations over large areas and long time series. Even if the raster file for a single moment is small, dense time steps (e.g., a depth field every few seconds or minutes) generate a huge amount of accumulated data. Traditional data loading and processing methods are inefficient when dealing with this volume of data and struggle to meet the demands of real-time or near-real-time visualization.

[0004] Therefore, improving the processing efficiency of hydraulic simulation results has become a technical problem that needs to be solved in this field. Summary of the Invention

[0005] In view of this, this application proposes a method and device for processing hydraulic simulation results, so as to improve the processing efficiency of hydraulic simulation results.

[0006] Firstly, this application provides a method for processing hydraulic simulation results. The method includes: acquiring topographic elevation raster data of a hydraulic simulation area; acquiring temporal hydraulic simulation result raster data of the hydraulic simulation area, wherein the temporal hydraulic simulation result raster data includes temporal water depth raster data, temporal flow velocity raster data, and temporal flow direction raster data; and determining the overall water body of each physical partition space in the hydraulic simulation area based on the acquired topographic elevation raster data and the acquired temporal hydraulic simulation result raster data, wherein for any physical partition space... The overall water body is the water body object formed by the maximum area of ​​the physical partition space that has been flooded; for each determined overall water body, the dynamic mesh data packet of the basic mesh corresponding to the overall water body at each moment in the full simulation time is determined, wherein, for any moment of any overall water body, the dynamic mesh data packet includes a first identifier, a time, a second identifier of the overall water body, a list of time-varying vertex coordinates, a list of vertex water depths, a list of vertex flow velocities, and a list of vertex flow directions, and the z-value of each time-varying vertex coordinate is the water surface elevation; the determined overall water body and the determined dynamic mesh data packet are serialized and output.

[0007] Optionally, based on the acquired topographic elevation raster data and the acquired temporal hydraulic simulation result raster data, the overall water body of each physical partition space in the hydraulic simulation area is determined, including: based on the acquired topographic elevation raster data and the acquired temporal hydraulic simulation result raster data, for each moment in the full simulation time of the hydraulic simulation, the instantaneous water body is determined, wherein the instantaneous water body is an independent water area composed of spatially connected raster units with a water depth greater than a preset value; based on the determined instantaneous water body, the overall water body of each physical partition space is determined.

[0008] Optionally, for each determined overall water body, the dynamic mesh data packet of the base mesh corresponding to the overall water body at each moment in the full simulation time history is determined, including: for each determined overall water body, the following are performed: based on all grid cells constituting the overall water body, the base mesh corresponding to the overall water body is determined; for each moment in the full simulation time history, the following are performed: the time-varying vertex attributes of each vertex of the base mesh are initialized; all instantaneous water bodies associated with the overall water body at the time are traversed, and for each instantaneous water body, the water surface elevation, water depth, flow velocity, and flow direction of each grid cell constituting the instantaneous water body are assigned to the time-varying vertex attributes of the corresponding vertex of the grid cell in the base mesh; and a dynamic mesh data packet is generated based on the updated time-varying vertex attributes.

[0009] Optionally, based on the determined instantaneous water body, the overall water body for each physical partition space is determined, including: performing a union operation on the grid cells of the instantaneous water body at all times and performing a connected component analysis to determine the overall water body.

[0010] Optionally, based on the determined instantaneous water body, the total water body of each physical partition space is determined, including: for each physical partition space, determining the instantaneous water body with the largest area or the largest volume, wherein, for any physical partition space, the determined instantaneous water body with the largest area or the largest volume is its total water body.

[0011] Secondly, embodiments of this application also provide a processing apparatus for hydraulic simulation results. The processing apparatus includes: a first acquisition module for acquiring topographic elevation raster data of a hydraulic simulation area; a second acquisition module for acquiring temporal hydraulic simulation result raster data of the hydraulic simulation area, wherein the temporal hydraulic simulation result raster data includes temporal water depth raster data, temporal flow velocity raster data, and temporal flow direction raster data; and a first determination module for determining the overall water body of each physical partition space in the hydraulic simulation area based on the acquired topographic elevation raster data and the acquired temporal hydraulic simulation result raster data, wherein for any given physical partition space... The physical isolation space is defined as follows: the total water body is the water body object formed by the maximum area of ​​the physical isolation space that has been flooded; the second determining module is used to determine the dynamic mesh data packet of the basic mesh corresponding to each determined total water body at each moment in the full simulation time history, wherein, for any total water body at any moment, the dynamic mesh data packet includes a first identifier, a time, a second identifier of the total water body, a list of time-varying vertex coordinates, a list of vertex water depths, a list of vertex flow velocities, and a list of vertex flow directions, and the z-value of each time-varying vertex coordinate is the water surface elevation; the output module is used to serialize and output the determined total water body and the determined dynamic mesh data packet.

[0012] Optionally, the first determining module determines the overall water body of each physical partition space in the hydraulic simulation area based on the acquired topographic elevation raster data and the acquired temporal hydraulic simulation result raster data, including: determining the instantaneous water body at each moment in the full simulation time of the hydraulic simulation based on the acquired topographic elevation raster data and the acquired temporal hydraulic simulation result raster data, wherein the instantaneous water body is an independent water area composed of spatially connected raster units with a water depth greater than a preset value; and determining the overall water body of each physical partition space based on the determined instantaneous water body.

[0013] Optionally, for each determined overall water body, the second determining module determines the dynamic mesh data packet of the base mesh corresponding to the overall water body at each moment in the full simulation time, including: for each determined overall water body, performing the following: determining the base mesh corresponding to the overall water body based on all grid cells constituting the overall water body; for each moment in the full simulation time, performing the following: initializing the time-varying vertex attributes of each vertex of the base mesh; traversing all instantaneous water bodies associated with the overall water body at the moment, and for each instantaneous water body, assigning the water surface elevation, water depth, flow velocity, and flow direction of each grid cell constituting the instantaneous water body to the time-varying vertex attributes of the corresponding vertex in the base mesh of the grid cell; and generating a dynamic mesh data packet based on the updated time-varying vertex attributes.

[0014] Optionally, based on the determined instantaneous water body, the overall water body for each physical partition space is determined, including: performing a union operation on the grid cells of the instantaneous water body at all times and performing a connected component analysis to determine the overall water body.

[0015] Optionally, based on the determined instantaneous water body, the total water body of each physical partition space is determined, including: for each physical partition space, determining the instantaneous water body with the largest area or the largest volume, wherein, for any physical partition space, the determined instantaneous water body with the largest area or the largest volume is its total water body.

[0016] Thirdly, this application also provides a machine-readable storage medium storing instructions that cause a machine to perform the above-described processing method.

[0017] Fourthly, this application also provides an electronic device comprising: a processor; a memory for storing executable instructions of the processor; the processor being configured to read the executable instructions from the memory and execute the executable instructions to implement the above-described processing method.

[0018] According to the technical solution of this application, the overall water body of each physical partition space in the hydraulic simulation area is determined based on topographic elevation raster data and temporal hydraulic simulation result raster data. For each determined overall water body, the dynamic mesh data packet of the corresponding basic mesh at each moment in the entire simulation time is determined. The determined overall water body and the determined dynamic mesh data packet are serialized and output. In this way, the hydraulic simulation data is processed based on the overall water body, and only the vertex attributes of the actual water area are determined for different moments. This can significantly reduce the amount of data that needs to be transmitted to the visualization engine for rendering and improve the processing efficiency of hydraulic simulation results.

[0019] Other features and advantages of this application will be described in detail in the following detailed description section. Attached Figure Description

[0020] The accompanying drawings, which form part of this application, are used to provide a further understanding of this application, and the illustrative embodiments and descriptions thereof are used to explain this application. In the drawings: Figure 1 A flowchart of a method for processing hydraulic simulation results provided in a preferred embodiment of this application; Figure 2 A structural block diagram of the hydraulic simulation results processing device provided in the preferred embodiment of this application. Detailed Implementation

[0021] The technical solution of this application will now be described in detail with reference to the accompanying drawings and embodiments.

[0022] Firstly, this application provides a method for processing hydraulic simulation results.

[0023] Figure 1 A flowchart illustrating the processing method for hydraulic simulation results provided in a preferred embodiment of this application. (For example...) Figure 1 As shown, the processing method includes the following.

[0024] In step S10, topographic elevation raster data of the hydraulic simulation area is acquired. The hydraulic simulation area is the region where hydraulic simulation is to be performed. Furthermore, in this embodiment, the topographic elevation raster data serves as the reference for calculating the water surface elevation.

[0025] Optionally, in this embodiment, a module is provided for reading raster files in formats such as ASCII DEM to obtain topographic elevation raster data of the hydraulic simulation area. Specifically, the standard module can parse the metadata in the raster file header, including the number of columns (NCols), the number of rows (NRows), the coordinates of the lower left corner (XLLCorner, YLLCorner), the raster size (CellSize), and the no-data-value (NoDataValue); it can accurately read the raster data volume and store it as a two-dimensional array. Furthermore, in this embodiment, the standard module can also provide auxiliary methods, such as querying geographic coordinates based on row and column numbers, querying row and column numbers in reverse order based on geographic coordinates, and querying raster values ​​at a specified location.

[0026] In step S11, time-series hydraulic simulation result raster data of the hydraulic simulation area is acquired. This time-series hydraulic simulation result raster data includes time-series water depth raster data, time-series velocity raster data, and time-series flow direction raster data. In this embodiment, the time-series hydraulic simulation result raster data can be acquired by acquiring topographic elevation raster data. The time-series water depth raster data originates from a series of raster files representing water depth distributions at different times, including raster data of water depth distributions at different times; the time-series velocity raster data is the velocity data corresponding to the water depth data in time, including raster data of velocity distributions at different times; the time-series flow direction raster data is the flow direction field corresponding to the water depth data in time, including raster data of flow direction distributions at different times.

[0027] In this application embodiment, the program can automatically identify and manage the aforementioned time-series files, for example, by sorting and matching them based on the timestamp information in the filenames.

[0028] In step S12, based on the acquired terrain elevation raster data and the acquired temporal hydraulic simulation result raster data, the overall water body for each physical partition space in the hydraulic simulation area is determined. For any physical partition space, the overall water body is the water body object formed by the maximum area of ​​that physical partition space that has been submerged. In this embodiment, a physical partition space is a spatially disconnected region. The overall water body refers to the virtual water body object formed by the maximum area of ​​a spatial region that has been submerged during the entire simulation time span. A project may contain multiple spatially disconnected overall water bodies.

[0029] In step S13, for each determined overall water body, the dynamic grid data packet of the basic grid corresponding to the overall water body at each moment in the full simulation time history is determined. For any overall water body at any moment, the dynamic grid data packet includes a first identifier, time, a second identifier of the overall water body, a list of time-varying vertex coordinates, a list of vertex water depths, a list of vertex flow velocities, and a list of vertex flow directions. The z-value of each time-varying vertex coordinate is the water surface elevation.

[0030] In step S14, the determined total water body and the determined dynamic grid data packet are serialized and output.

[0031] Optionally, in this embodiment of the application, determining the overall water body of each physical partition space in the hydraulic simulation area based on the acquired topographic elevation raster data and the acquired temporal hydraulic simulation result raster data may include the following:

[0032] Based on the acquired topographic elevation raster data and the acquired temporal hydraulic simulation raster data, an instantaneous water body is determined for each moment in the full simulation timeline. The instantaneous water body is an independent water area composed of spatially connected raster cells with a depth greater than a preset value. In this embodiment, the preset value can be determined according to specific circumstances; for example, the preset value can be 0 or other specific values. Furthermore, the instantaneous water body corresponds to a specific characteristic moment.

[0033] Optionally, in this embodiment, flood fill or similar connected component analysis logic can be used to determine instantaneous water bodies. Specifically, instantaneous water bodies can be determined based on the following: Using temporal depth raster data, the depth raster data at each time step is traversed, and a "flood fill" or similar connected component labeling algorithm is used to find all connected regions with a depth greater than zero (and not NoDataValue). Each such connected region constitutes an "instantaneous water body" object. In this embodiment, a two-dimensional Boolean array can be used to label processed rasters, avoiding redundant calculations. Furthermore, the algorithm design can consider parallel processing to improve efficiency.

[0034] Optionally, in this embodiment, for each instantaneous water body at any given time, instantaneous water body attributes are determined based on temporal depth raster data, temporal velocity raster data, and temporal flow direction raster data. The instantaneous water body attributes include a first unique identifier, a timestamp, raster information for each raster cell constituting the instantaneous water body, a boundary contour raster cell set, area, volume, maximum water depth information, and maximum flow velocity information. Raster information includes row and column numbers, geographic coordinates, surface elevation, bottom elevation, water depth, flow velocity, and flow direction. Maximum water depth information includes the maximum water depth, geographic coordinates of the location of the maximum water depth, surface elevation, bottom elevation, flow velocity, and flow direction at the location of the maximum water depth. Maximum flow velocity information includes the maximum flow velocity, geographic coordinates of the location of the maximum flow velocity, surface elevation, bottom elevation, water depth, and flow direction at the location of the maximum flow velocity. In this embodiment, all identified instantaneous water body objects and their attributes can be collected.

[0035] Optionally, in this embodiment, instantaneous water body properties can be stored in a list. For example, the raster information for each raster cell can be stored in a list.

[0036] Optionally, in an embodiment of this application, for any instantaneous water body, the contour grid cell set of the boundary can be obtained by performing convex hull calculation or other boundary extraction algorithms on all grid cells constituting the instantaneous water body.

[0037] Specifically, this can be achieved by first identifying instantaneous water bodies at a specific moment based on temporal depth raster data; one or more instantaneous water bodies may be identified. For each identified instantaneous water body, a first unique identifier is assigned, and the corresponding timestamp is recorded. Based on the depth raster data corresponding to that moment, information such as the row and column numbers, geographic coordinates, water depth, and boundary contour raster cell set of the raster cells constituting the instantaneous water body are determined. Based on the row and column numbers and geographic coordinates of each raster cell constituting the instantaneous water body, combined with topographic elevation raster data, the seabed elevation of each raster cell is determined. Based on the seabed elevation and water depth of each raster cell, the water surface elevation is determined. Based on the timestamp, the corresponding velocity and direction raster data are found, and based on the row and column numbers and geographic coordinates of each raster cell constituting the instantaneous water body, the velocity and direction of each raster cell are determined. Based on the determined boundary contour raster cell set, the area and volume of the instantaneous water body are determined. Based on the grid information of each grid cell, the maximum water depth and maximum flow velocity of the instantaneous water body are determined.

[0038] Based on the determined instantaneous water volume, the total water volume of each physical partition space is determined.

[0039] Optionally, in this embodiment, based on the determined instantaneous water bodies and their instantaneous attributes, the overall water body attributes of each overall water body can also be determined. These overall water body attributes include a second unique identifier, the row and column number of each grid cell constituting the overall water body, its geographic coordinates and seabed elevation, the first unique identifier and timestamp of each instantaneous water body associated with the overall water body, the area and volume of the overall water body covered by the instantaneous water bodies at each moment in the full simulation timeline, and the maximum water depth and maximum flow velocity in the full simulation timeline. In this embodiment, for an overall water body, the associated instantaneous water bodies are those spatially belonging to or flowing into the overall water body. In this embodiment, lists can be established for the following: the first unique identifier of each instantaneous water body associated with the overall water body, and the timestamp of each instantaneous water body associated with the overall water body. Furthermore, in the embodiments of this application, for a certain overall water body, the row and column number, geographical coordinates, and seabed elevation of each grid cell in all grid cells constituting the overall water body reflect the topographic and comprehensive hydrological characteristics under the maximum inundation range of the overall water body.

[0040] Optionally, in this embodiment, for each determined overall water body, determining the dynamic grid data packet of the corresponding basic grid at each moment in the full simulation time history may include the following: For each determined overall water body, perform the following.

[0041] Based on all the raster cells constituting the overall water body, a base grid corresponding to the overall water body is determined. Specifically, in this embodiment, for each overall water body, a three-dimensional grid with vertices and indices is constructed based on the set of terrain elevation raster cells under the maximum inundation range, serving as the base grid. Each raster cell corresponds one-to-one with a vertex. In this embodiment, the topology of the base grid remains unchanged throughout the entire time series.

[0042] For each moment in the full simulation timeline, perform the following:

[0043] Initialize the time-varying vertex properties for each vertex of the base mesh. For example, you could set up a list of properties that corresponds one-to-one with the vertices of the base mesh, and initialize the time-varying vertex properties for each vertex with the initial value set to a waterless state.

[0044] The process iterates through all instantaneous water bodies associated with the overall water body at a given moment. For each instantaneous water body, the water surface elevation, water depth, flow velocity, and flow direction of each grid cell constituting the instantaneous water body are assigned to the time-varying vertex attributes of the corresponding vertex in the base grid. Specifically, at any given moment, all instantaneous water bodies associated with a given overall water body are those that flow into that overall water body at that moment. In this embodiment, all instantaneous water bodies flowing into the overall water body at a given moment can be determined based on all grid cells constituting that overall water body. This creates a series of time-varying vertex attribute data (especially water surface elevation), which are combined with a fixed grid index.

[0045] Based on the updated time-varying vertex attributes, a dynamic mesh data packet is generated. The dynamic mesh data packet includes a third unique identifier, a time period, a second unique identifier of the overall water body to which it belongs, a list of first unique identifiers of all instantaneous water bodies associated with the overall water body at that time, a list of time-varying vertex coordinates corresponding to that time, a list of indices corresponding to that time, a list of vertex water depths corresponding to that time, a list of vertex flow velocities corresponding to that time, and a list of vertex flow directions corresponding to that time. The z-value of each time-varying vertex coordinate is the water surface elevation. In this embodiment, the water surface elevation is the sum of the bottom elevation and the water depth.

[0046] Optionally, in this embodiment, the generated dynamic grid data packets can be stored in a preset collection structure. Specifically, they can be indexed by time or by the overall water body.

[0047] Optionally, in this embodiment, determining the overall water body for each physical partition space based on the determined instantaneous water body may include the following: performing a union operation on the grid cells of the instantaneous water bodies at all times and performing connected component analysis to determine the overall water body. That is, performing a union operation on the grid cells of all instantaneous water bodies at all times, and then performing connected component analysis on this total flooded grid cell set, with each connected component constituting an overall water body.

[0048] Optionally, in this embodiment of the application, determining the total water body for each physical partition space based on the determined instantaneous water body may include the following: For each physical partition space, determining the instantaneous water body with the largest area or the largest volume, wherein, for any physical partition space, the determined instantaneous water body with the largest area or the largest volume is its total water body.

[0049] Optionally, in the embodiments of this application, the subordinate relationship between instantaneous water bodies and overall water bodies can be constructed based on the following:

[0050] Iterate through all instantaneous water bodies. For each instantaneous water body, determine which overall water body (e.g., based on its raster cell set or contour raster cell set) has a major overlap or inclusion relationship with its spatial extent (e.g., based on the raster cells constituting the overall water body). For any instantaneous water body, its raster cell set is the set of raster cells constituting that instantaneous water body. Specifically, in this embodiment, a point-to-area inclusion algorithm or an overlap analysis based on raster cell sets can be used. Once the dependency relationship is determined, the dependency relationship between the instantaneous water body and the overall water body is recorded. Specifically, once the dependency relationship is determined, a first unique identifier and timestamp of the instantaneous water body are recorded in a specific list of the corresponding overall water body object, and a second unique identifier of the overall water body to which the instantaneous water body belongs is recorded in the instantaneous water body object.

[0051] Optionally, in this embodiment, the determined overall water body and the determined dynamic grid data packet are serialized and output. This can be done by serializing them using a target format (such as JSON) before outputting. Alternatively, the determined instantaneous water body can also be serialized and output.

[0052] When outputting a defined instantaneous water body, the list of instantaneous water body objects can be serialized and output. Similarly, when outputting a defined total water body, the list of total water body objects can be serialized and output. The list of instantaneous water body objects includes the data structure for each instantaneous water body; the list of total water body objects includes the data structure for each total water body.

[0053] Furthermore, when the determined dynamic grid data is stored in a preset set structure, the preset set structure is serialized and output.

[0054] In this embodiment, the output file may include one or more files containing instantaneous water body data, one or more files containing overall water body data, one or more files containing time-series dynamic grid data, and a top-level index file. The top-level index file describes the relationships and time series between all the data files.

[0055] In this application embodiment, in order to optimize file size and readability, a custom converter can be used to flatten a large number of coordinate lists or multidimensional information into a more compact string representation.

[0056] Optionally, in the embodiments of this application, parallel computing can be used for acceleration. Specifically, the process design can be compatible with and consider using parallel computing technologies (such as multi-threaded CPUs or NVIDIA CUDA GPU acceleration) to accelerate some computationally intensive steps (such as connected component analysis, attribute statistics, data transformation, etc.) to further improve the efficiency of large-scale data processing.

[0057] This application provides a method for intelligently processing and structurally reorganizing time-series raster data (mainly water depth, supplemented by flow velocity and direction data) output from hydraulic simulations, ultimately generating an optimized dataset suitable for GPU-accelerated dynamic visualization and statistical analysis. Specifically, it involves the automated analysis, structural reorganization, and optimization of water depth, flow velocity, and flow direction results expressed in time-series raster data (such as ASCII DEM format) generated by hydraulic simulations, to generate a dataset suitable for GPU parallel processing and dynamic 3D visualization. The core of the technical solution provided by this application lies in introducing and constructing objectified data models of instantaneous water bodies (WaterBody) and global water bodies (GlobalWaterBody), and unfolding a series of automated processing flows around this model. Through the above steps, the original hydraulic simulation raster data is transformed into an objectified, structured, time-series dynamic dataset optimized for GPU visualization.

[0058] The core objective of the technical solution provided in this application is to overcome the performance bottlenecks, expressive limitations, difficulty in depicting dynamic evolution, and underutilization of GPU advantages in processing and applying large-scale time-series hydraulic simulation raster data. It aims to provide a novel, intelligent data processing and structuring method that transforms raw, discrete raster data into a more advanced, object-oriented, structured dataset suitable for GPU-accelerated dynamic visualization and efficient statistical analysis. Specific inventive objectives include the following aspects.

[0059] (1) Automatic identification and construction of water bodies. The concepts of instantaneous water body (WaterBody) and global water body (GlobalWaterBody) are introduced. The algorithm automatically identifies spatially connected instantaneous water body objects with independent inundation ranges from the raster data (such as water depth field) at each moment.

[0060] (2) Construct the temporal evolution relationship of water bodies. By analyzing the spatial inclusion, merging or separation relationships of instantaneous water bodies at different times, they are associated with the overall water body with the largest inundation range in the entire simulation time, thereby establishing the topological relationship and time series of the dynamic evolution of water bodies.

[0061] (3) Optimize data structures to adapt to GPU parallel processing and dynamic visualization. 1) Use the overall water volume as the skeleton of the basic 3D mesh. 2) For each overall water volume, at different times, only update the vertex attributes (such as water level, water depth, flow velocity, and flow direction) of the actual water area within it, instead of generating a completely new, independent mesh for each instantaneous water volume at each time. 3) In this way, the number of vertices that need to be transmitted to the GPU and rendered can be greatly reduced, and the dynamic changes of the water volume (such as water level rise and fall, range expansion) can be achieved through efficient vertex data updates (rather than mesh reconstruction).

[0062] (4) Addressing the bottleneck of large data volume and CPU processing. 1) By optimizing the data structure as described above, the amount of data involved in visualization rendering is reduced from the source. 2) The algorithm design considers parallel processing (such as parallelization attempts of methods within the data processing module in user code, and the mentioned potential of CUDA applications), in order to utilize multi-core CPUs or even GPUs for data transformation and analysis, thereby improving processing efficiency.

[0063] (5) Enhance the realism and information capacity of visualization effects. 1) By directly processing water surface elevation and water depth, it is possible to clearly distinguish between water areas and dry areas in the visualization and accurately display the water surface morphology. 2) It is possible to attach hydrodynamic parameters such as flow velocity and flow direction as vertex attributes or texture information to the water surface mesh to achieve richer dynamic water flow effects.

[0064] (6) Facilitates accurate statistics and querying of hydraulic parameters. Based on objectified instantaneous and total water bodies and their associated attribute data (area, volume, maximum water depth / velocity and its location, etc.), various hydraulic statistical analyses can be performed more conveniently and accurately.

[0065] To achieve the above objectives, this application aims to transform traditional hydraulic simulation grid results data into a new data format that is more intelligent, more efficient, and easier to perform advanced visualization and in-depth analysis.

[0066] The intelligent processing and structuring method for time-series raster data of hydrodynamic simulation proposed in this application, through its innovative data model and processing flow, has achieved significant beneficial effects in the subsequent application of hydrodynamic simulation results, specifically including the following aspects.

[0067] (1) Significantly improves the processing and visualization performance of large-scale time-series data. By introducing the overall water body as the base mesh and only dynamically updating its vertex attributes, the amount of geometric data that needs to be passed to the GPU and rendered in each frame is significantly reduced. This avoids repeatedly creating and destroying Mesh objects for each individual water body at each moment, thereby greatly improving the visualization frame rate and smoothness of large-scale flooding dynamic processes. The optimized data structure makes it more suitable for GPU parallel processing. Combined with optional parallel computing acceleration, it can efficiently process massive raster data and overcome the bottleneck of traditional CPU processing.

[0068] (2) This application achieves intelligent identification and precise description of the dynamic evolution of water bodies. It can automatically identify physically significant instantaneous and overall water bodies from discrete raster data and calculate their geometric and hydraulic properties. By constructing the temporal and spatial relationships between instantaneous and overall water bodies, it can clearly demonstrate the dynamic evolution processes of water bodies, such as expansion, contraction, merging, and separation, providing a more intuitive means to understand flooding patterns.

[0069] (3) Significantly improves the realism and information richness of visualization effects. This application can accurately express the water surface morphology and clearly distinguish between water-covered and waterless areas, avoiding the problem of still needing to render terrain in zero-water-depth areas in traditional methods, making the flooded range and boundaries clearer. Multiple hydraulic parameters such as water depth, flow velocity, and flow direction can be superimposed on the three-dimensional water surface as vertex attributes or textures to achieve synchronous visualization of multi-dimensional information, enhancing the realism and analytical value of the scene.

[0070] (4) Improved the convenience and accuracy of hydraulic statistical analysis. Based on objectified water body data, various statistical queries can be easily performed, such as the cumulative inundation duration of a specific area, the distribution of maximum water depth, and the area / volume of different water depth levels, which is more efficient and intuitive than directly manipulating the original raster data. The properties of the overall water body and the instantaneous water body provide direct data support for quantitative analysis.

[0071] (5) It overcomes the limitations of representing raw raster data. Transforming bit-based raster data into vectorized water objects and optimized dynamic mesh data is more in line with the rendering mechanism of 3D visualization engines. Through semantic compression and structural optimization, it also optimizes data storage and transmission efficiency to a certain extent.

[0072] (6) It lays the foundation for building an interactive hydrological analysis and decision support platform. The output structured data is easy to integrate with modern 3D visualization engines. Combined with the interactive functions of the engine, an interactive platform can be developed for advanced applications such as real-time hydrological monitoring and simulation, emergency plan formulation and drills, and engineering scheme comparison.

[0073] In summary, this application effectively addresses many pain points in the subsequent application of traditional hydraulic simulation grid data by reprocessing it in an intelligent, object-oriented, structured, and visualization-oriented manner, providing a powerful technical means to improve the utilization efficiency, presentation level, and decision support capabilities of hydraulic analysis results.

[0074] Secondly, the embodiments of this application also provide a device for processing hydraulic simulation results.

[0075] Figure 2 A structural block diagram of the hydraulic simulation results processing device provided in the preferred embodiment of this application. (See diagram below.) Figure 2 As shown, the processing device includes a first acquisition module 10, a second acquisition module 20, a first determination module 30, a second determination module 40, and an output module 50.

[0076] The first acquisition module 10 is used to acquire topographic elevation raster data of the hydraulic simulation area. The second acquisition module 20 is used to acquire temporal hydraulic simulation result raster data of the hydraulic simulation area, wherein the temporal hydraulic simulation result raster data includes temporal water depth raster data, temporal flow velocity raster data, and temporal flow direction raster data. The first determination module 30 is used to determine the total water body of each physical partition space in the hydraulic simulation area based on the acquired topographic elevation raster data and the acquired temporal hydraulic simulation result raster data, wherein for any physical partition space, the total water body is the water body object formed by the largest area of ​​the physical partition space that has been submerged by water. The second determining module 40 is used to determine, for each determined overall water body, the dynamic mesh data packet of the corresponding basic mesh at each moment in the full simulation time history. For any given moment in any overall water body, the dynamic mesh data packet includes a first identifier, the time, a second identifier of the overall water body, a list of time-varying vertex coordinates, a list of vertex water depths, a list of vertex flow velocities, and a list of vertex flow directions. The z-value of each time-varying vertex coordinate is the water surface elevation. The output module 50 is used to serialize and output the determined overall water body and the determined dynamic mesh data packet.

[0077] Optionally, the first determining module 30 determines the overall water body of each physical partition space in the hydraulic simulation area based on the acquired topographic elevation raster data and the acquired temporal hydraulic simulation result raster data, including: determining the instantaneous water body at each moment in the full simulation time of the hydraulic simulation based on the acquired topographic elevation raster data and the acquired temporal hydraulic simulation result raster data, wherein the instantaneous water body is an independent water area composed of spatially connected raster units with a water depth greater than a preset value; and determining the overall water body of each physical partition space based on the determined instantaneous water body.

[0078] Optionally, for each determined overall water body, the second determining module 40 determines the dynamic mesh data packet of the base mesh corresponding to the overall water body at each moment in the full simulation time, including: for each determined overall water body, performing the following: determining the base mesh corresponding to the overall water body based on all grid cells constituting the overall water body; for each moment in the full simulation time, performing the following: initializing the time-varying vertex attributes of each vertex of the base mesh; traversing all instantaneous water bodies associated with the overall water body at time, and for each instantaneous water body, assigning the water surface elevation, water depth, flow velocity, and flow direction of each grid cell constituting the instantaneous water body to the time-varying vertex attributes of the corresponding vertex in the base mesh of the grid cell; and generating a dynamic mesh data packet based on the updated time-varying vertex attributes.

[0079] Optionally, based on the determined instantaneous water body, the overall water body for each physical partition space is determined, including: performing a union operation on the grid cells of the instantaneous water body at all times and performing a connected component analysis to determine the overall water body.

[0080] Optionally, based on the determined instantaneous water body, the total water body of each physical partition space is determined, including: for each physical partition space, determining the instantaneous water body with the largest area or the largest volume, wherein, for any physical partition space, the determined instantaneous water body with the largest area or the largest volume is its total water body.

[0081] The specific working principle and benefits of the hydraulic simulation result processing device provided in this application embodiment are similar to those of the hydraulic simulation result processing method provided in this application embodiment, and will not be repeated here.

[0082] Thirdly, this application also provides a machine-readable storage medium storing instructions that cause a machine to perform the above-described processing method.

[0083] Fourthly, this application also provides an electronic device comprising: a processor; a memory for storing executable instructions of the processor; the processor being configured to read the executable instructions from the memory and execute the executable instructions to implement the above-described processing method.

[0084] The preferred embodiments of this application have been described in detail above. However, this application is not limited to the specific details of the above embodiments. Within the scope of the technical concept of this application, various simple modifications can be made to the technical solution of this application, and these simple modifications all fall within the protection scope of this application.

[0085] It should also be noted that the various specific technical features described in the above embodiments can be combined in any suitable manner without contradiction. In order to avoid unnecessary repetition, this application will not describe the various possible combinations separately.

[0086] Furthermore, various different implementations of this application can be combined in any way, as long as they do not violate the spirit of this application, they should also be regarded as the content disclosed in this application.

Claims

1. A method for processing results of a hydraulics simulation, characterized in that, The processing method comprises: acquiring terrain elevation grid data of a hydraulics simulation region; acquiring time-series hydraulics simulation result grid data of the hydraulics simulation region, wherein the time-series hydraulics simulation result grid data comprises time-series water depth grid data, time-series flow velocity grid data and time-series flow direction grid data; based on the acquired terrain elevation grid data and the acquired time-series hydraulics simulation result grid data, determining a total water body of each physical partition space of the hydraulics simulation region, wherein for any physical partition space, the total water body is a water body object formed by the maximum range of the physical partition space being submerged by water; for each determined total water body, determining a dynamic grid data packet of a basic grid corresponding to the total water body at each time in a full simulation time period, wherein for any total water body at any time, the dynamic grid data packet comprises a first identifier, a time, a second identifier of the total water body, a time-varying vertex coordinate list, a vertex water depth list, a vertex flow velocity list and a vertex flow direction list, and the z value of each time-varying vertex coordinate is a water surface elevation; serializing and outputting the determined total water bodies and the determined dynamic grid data packets.

2. The treatment method according to claim 1, characterized in that, Based on the acquired terrain elevation grid data and the acquired time-series hydraulics simulation result grid data, determining a total water body of each physical partition space of the hydraulics simulation region comprises: based on the acquired terrain elevation grid data and the acquired time-series hydraulics simulation result grid data, determining an instantaneous water body for each time in a full simulation time period of hydraulics simulation, wherein the instantaneous water body is an independent water area formed by spatially connected grid cells with water depth greater than a preset value; based on the determined instantaneous water body, determining a total water body of each physical partition space.

3. The treatment method according to claim 2, characterized in that, For each determined total water body, determining a dynamic grid data packet of a basic grid corresponding to the total water body at each time in a full simulation time period comprises: For each determined total water body, the following is performed: based on all grid cells constituting the total water body, determining a basic grid corresponding to the total water body; for each time in a full simulation time period, the following is performed: initializing time-varying vertex attributes of each vertex of the basic grid; traversing all instantaneous water bodies associated with the total water body at the time, for each instantaneous water body, assigning water surface elevation, water depth, flow velocity and flow direction of each grid cell constituting the instantaneous water body to time-varying vertex attributes of the corresponding vertex of the grid cell in the basic grid; based on the updated time-varying vertex attributes, generating a dynamic grid data packet.

4. The treatment method of claim 2, wherein Based on the determined instantaneous water body, determining a total water body of each physical partition space comprises: performing a set operation on grid cells of the instantaneous water bodies of all times and performing a connected component analysis to determine the total water body.

5. The treatment method of claim 2, wherein Based on the determined instantaneous water body, determining a total water body of each physical partition space comprises: For each physical partitioned space, determine an instantaneous water body with the largest area or volume, wherein for any physical partitioned space, the determined instantaneous water body is the overall water body of the physical partitioned space.

6. A processing device of a hydraulics simulation result, characterized by, The processing device comprises: A first obtaining module, configured to obtain terrain elevation grid data of a hydraulics simulation region; A second obtaining module, configured to obtain time-series hydraulics simulation achievement grid data of the hydraulics simulation region, wherein the time-series hydraulics simulation achievement grid data comprises time-series water depth grid data, time-series flow velocity grid data and time-series flow direction grid data; A first determining module, configured to determine, based on the obtained terrain elevation grid data and the obtained time-series hydraulics simulation achievement grid data, an overall water body of each physical partitioned space of the hydraulics simulation region, wherein for any physical partitioned space, the overall water body is a water body object formed by the largest range of the physical partitioned space submerged by water; A second determining module, configured to, for each determined overall water body, determine a dynamic grid data packet of a corresponding base grid of the overall water body at each time point in a full simulation time period, wherein for any overall water body at any time point, the dynamic grid data packet comprises a first identifier, a time point, a second identifier of the overall water body, a time-varying vertex coordinate list, a vertex water depth list, a vertex flow velocity list and a vertex flow direction list, and a z value of each time-varying vertex coordinate is a water surface elevation; An output module, configured to serialize and output the determined overall water bodies and the determined dynamic grid data packets.

7. The processing device of claim 6, wherein, The first determining module determines, based on the obtained terrain elevation grid data and the obtained time-series hydraulics simulation achievement grid data, an overall water body of each physical partitioned space of the hydraulics simulation region, comprising: Based on the obtained terrain elevation grid data and the obtained time-series hydraulics simulation achievement grid data, for each time point in a full simulation time period of hydraulics simulation, determine an instantaneous water body, wherein the instantaneous water body is an independent water area formed by grid cells with a water depth greater than a preset value on a space that is connected. Based on the determined instantaneous water body, determine an overall water body of each physical partitioned space.

8. The processing device of claim 7, wherein, The second determining module, for each determined overall water body, determines a dynamic grid data packet of a corresponding base grid of the overall water body at each time point in a full simulation time period, comprising: For each determined overall water body, the following is performed: Based on all grid cells constituting the overall water body, determine a base grid corresponding to the overall water body; For each time point in a full simulation time period, the following is performed: Initialize time-varying vertex attributes of each vertex of the base grid; Traverse all instantaneous water bodies associated with the overall water body at the time point, and for each instantaneous water body, assign a water surface elevation, a water depth, a flow velocity and a flow direction of each grid cell constituting the instantaneous water body to time-varying vertex attributes of a corresponding vertex of the grid cell in the base grid; Based on the updated time-varying vertex attributes, generate a dynamic grid data packet.

9. The processing device of claim 7, wherein, Based on the determined instantaneous water body, determine an overall water body of each physical partitioned space, comprising: A union operation is performed on the raster cells of the instantaneous water bodies at all times and a connected component analysis is performed to determine the overall water body.

10. The processing device of claim 7, wherein, Based on the determined instantaneous water bodies, an overall water body is determined for each physical partitioned space, including: For each physical partitioned space, an instantaneous water body with the largest area or volume is determined, wherein for any of the physical partitioned spaces, the determined instantaneous water body with the largest area or volume is the overall water body thereof.

11. A machine-readable storage medium, characterized in that, The machine readable storage medium has stored instructions for causing a machine to perform the processing method of any one of claims 1-5.

12. An electronic device, comprising: The electronic device includes: a processor; a memory for storing instructions executable by the processor; the processor, configured to read the executable instructions from the memory and execute the executable instructions to implement the processing method of any one of claims 1-5.