Watershed segmentation and merging of watersheds in civil engineering
Patent Information
- Application Number
- JP2020195443
- Authority / Receiving Office
- JP · JP
- Patent Type
- Patents
- Current Assignee / Owner
- Priority Date
- 2019-11-28
- Filing Date
- 2020-11-25
- Publication Date
- 2025-03-12
- Estimated Expiration
- 2040-11-25
Smart Images

Figure 0007644587000011 
Figure 0007644587000012 
Figure 0007644587000013
Abstract
Description
[Technical field]
[0001] The present disclosure relates to the field of computer programs and systems, and more particularly to methods, systems, and programs for civil engineering. [Background technology]
[0002] For the design, engineering and manufacturing of objects, numerous systems and programs are offered on the market. CAD is an acronym for Computer-Aided Design, e.g., related to software solutions for designing objects. CAE is an acronym for Computer-Aided Engineering, e.g., related to software solutions for simulating the physical behavior of a future product. CAM is an acronym for Computer-Aided Manufacturing, e.g., related to software solutions for defining manufacturing processes and operations. In such Computer-Aided Design systems, the graphical user interface plays a key role regarding the efficiency of the technique. These technologies may be incorporated within Product Lifecycle Management (PLM) systems. PLM refers to a business strategy that helps companies share product data, apply common processes and leverage corporate knowledge to help develop products from concept to life, beyond long-term corporate concepts. The PLM solutions offered by Dassault Systèmes (under the trademarks CATIA, ENOVIA and DELMIA) provide an Engineering Hub that organizes product engineering knowledge, a Manufacturing Hub that manages manufacturing engineering knowledge, and an Enterprise Hub that allows connections to both the Enterprise Hub and the Engineering and Manufacturing Hubs. Overall, the system provides an open object model that links products, processes, and resources to enable dynamic knowledge-based product creation and decision support that drives optimized product definition, manufacturing preparation, production, and service.
[0003] In this and other contexts, civil engineering is gaining widespread importance. The following papers and software are relevant to this technical field and are referenced below. TIFF0007644587000001.tif169170
[0004] All these methods suffer from lack of accuracy and / or robustness and / or efficiency and / or speed and / or do not provide satisfactory results.
[0005] Therefore, there is a need for improved methods for civil engineering. Summary of the Invention
[0006] Accordingly, the present invention provides a computer-implemented method for civil engineering, the method comprising providing a watershed segmentation of a terrain, the watershed segmentation comprising a watershed, the method further comprising merging a first watershed of the watershed segmentation that verifies a smallness criterion with a second watershed downstream of the first watershed.
[0007] The method may include one or more of the following. The watershed segmentation includes, for each watershed, data representative of a water trajectory within the watershed, and the merging calculates, for each first watershed merged with a second watershed, data representative of a water trajectory between the first watershed and the second watershed. Calculating data representative of a water trajectory between the first watershed and the second watershed comprises: based on first data representing the trajectory of water in a watershed and second data representing the trajectory of water in the second watershed. The first data includes a path from an outlet of the first watershed to an outlet of the first watershed, and / or the second data includes a path from an outlet of the first watershed to an outlet of the second watershed. The merging step includes: determining an oriented graph having nodes and arcs, each node representing a watershed and each arc representing a connection between a first watershed verifying the smallness criterion and a second watershed downstream of the first watershed, the arcs being oriented from a first node representing the first watershed to a second node representing the second watershed; merging basins corresponding to nodes of the same connected component of the directed graph; Includes. The step of determining an oriented graph comprises: searching the basins according to a compactness order that rewards compactness of the basins; verifying a smallness criterion for each first basin searched; generating an arc between a node representing a first watershed and a node representing a second watershed downstream of the first watershed; Includes. The arcs are directed from a node representing a first basin to a node representing a second basin. A watershed verifies said smallness criterion if the quantification of its smallness is below a predefined threshold. Quantifying the smallness of the watershed comprises one or more of: quantifying the depth of the watershed; quantifying the area of the watershed; and / or quantifying the volume of the watershed; and / or The terrain is a construction terrain.
[0008] A computer program comprising instructions for carrying out the method is further provided. Furthermore, an apparatus is provided that includes a data storage medium having a computer program recorded thereon. The apparatus may form or function as a non-transitory computer-readable medium, such as on a SaaS or other server or cloud-based platform. The device may alternatively comprise a processor coupled to the data storage medium. Thus, the apparatus may form in whole or in part a computer system (e.g., the apparatus is a subsystem of the overall system). The system may further comprise a graphical user interface coupled to the processor. [Brief description of the drawings]
[0009] [Figure 1] 1 illustrates the present disclosure. [Diagram 2] 1 illustrates the present disclosure. [Diagram 3] 1 illustrates the present disclosure. [Figure 4] 1 illustrates the present disclosure. [Diagram 5] 1 illustrates the present disclosure. [Figure 6] 1 illustrates the present disclosure. [Figure 7] 1 illustrates the present disclosure. [Figure 8] 1 illustrates the present disclosure. [Figure 9] 1 illustrates the present disclosure. [Figure 10] 1 illustrates the present disclosure. [Figure 11] 1 illustrates the present disclosure. [Figure 12] 1 illustrates the present disclosure. [Figure 13] 1 illustrates the present disclosure. [Figure 14] 1 illustrates the present disclosure. [Figure 15] 1 illustrates the present disclosure. [Figure 16] 1 illustrates the present disclosure. [Figure 17] 1 illustrates the present disclosure. [Figure 18] 1 illustrates the present disclosure. [Figure 19] 1 illustrates the present disclosure. [Figure 20] 1 illustrates the present disclosure. [Figure 21]1 illustrates the present disclosure. [Figure 22] 1 illustrates the present disclosure. [Diagram 23] 1 illustrates the present disclosure. [Figure 24] 1 illustrates the present disclosure. [Diagram 25] 1 illustrates the present disclosure. [Figure 26] 1 illustrates the present disclosure. [Figure 27] 1 illustrates the present disclosure. [Figure 28] 1 illustrates the present disclosure. [Figure 29] 1 illustrates the present disclosure. [Diagram 30] 1 illustrates the present disclosure. [Diagram 31] 1 illustrates the present disclosure. [Diagram 32] 1 illustrates the present disclosure. [Diagram 33] 1 illustrates the present disclosure. [Diagram 34] 1 illustrates the present disclosure. [Diagram 35] 1 illustrates the present disclosure. [Diagram 36] 1 illustrates the present disclosure. [Figure 37] An example of a system is shown. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS
[0010] The present invention provides a computer-implemented method for civil engineering.
[0011] In particular, the present invention provides a first computer-implemented method for civil engineering.
[0012] The first method includes providing a mesh representing the terrain. The first method further includes calculating a watershed segmentation of the terrain based on the mesh. The watershed segmentation calculation includes identifying one or more saddle points on the mesh. The watershed segmentation calculation further includes identifying, for each identified saddle point, a path ascending from the saddle point according to a direction of maximum gradient around the saddle point and a path descending from the saddle point according to a direction of steepest gradient around the saddle point. The identified ascending paths divide the mesh into connected components. The watershed segmentation calculation further includes merging, for each identified saddle point, each connected component that is a saddle point with a connected component that includes an identified path descending from the saddle point according to a direction of steepest gradient around the saddle point. This merging results in at least a portion of a watershed. The first method may be referred to as a "watershed segmentation method."
[0013] The watershed division method constitutes an improved method of civil engineering.
[0014] In particular, the watershed segmentation method makes it possible to perform a watershed segmentation of the terrain represented by the mesh, i.e., to perform a segmentation of the terrain into one or more watersheds (hereinafter sometimes simply referred to as "watersheds") bounded by watershed lines (described below). The watershed segmentation method notably results in the watersheds and watershed lines of the terrain. For example, the identified ascent paths include ascent branch lines. However, at least some of the identified ascent paths are not watershed lines. The watershed segmentation of the terrain is Objective physical information about a terrain that allows, for example, segmenting the terrain into parts where water flow has similar behavior, i.e., watersheds, which ultimately allows for performing civil engineering analysis and / or one or more physical operations related to civil engineering on the terrain, as discussed further below.
[0015] Furthermore, the watershed segmentation is performed based on a mesh representing the terrain, which means that the watershed segmentation is performed directly on the input (i.e. provided) mesh, i.e. without any modification of the input mesh. Such modifications may indeed reduce the quality of the mesh, e.g. the degree of realism with which the input mesh represents the terrain. In contrast, this modification does not occur in the watershed segmentation method, so that the watershed segmentation method is accurate and robust, resulting in a relatively realistic watershed segmentation of the terrain. Also, with regard to the realism of the results, the quality of the watershed segmentation calculated by the watershed segmentation method does not depend on the size and / or regularity of the mesh.
[0016] Furthermore, the watershed segmentation method performs watershed segmentation on a mesh that includes one or more saddle points, where, as known per se from the field of civil engineering, a mesh that represents a terrain almost always includes one or more saddle points, as the terrain does in the real world. The watershed segmentation method therefore makes it possible to perform watershed segmentation on a quality mesh, as the quality mesh includes one or more saddle points. The watershed segmentation method is therefore accurate and results in a realistic watershed segmentation of the terrain.
[0017] Moreover, the watershed segmentation computed by the watershed segmentation method is performed directly on a mesh that contains one or more saddle points, as mentioned above. In this way, the watershed segmentation handles the almost inevitable presence of saddle points on a mesh without modifying the input mesh making the watershed segmentation method robust and efficient. The watershed segmentation does so by identifying, for each identified saddle point, several paths that respectively ascend from the saddle point according to the local maximum slope direction and a path that descends from the saddle point with the steepest slope direction. In this way, the watershed segmentation method divides the mesh into connected components, each of which is bounded by two identified ascending paths. In particular, the identification of paths divides the mesh into connected components that correspond either to connected parts of the terrain that bottom out at the saddle point, to connected parts of the terrain where water necessarily flows towards the saddle point, or to connected parts of the terrain that form the steepest valleys descending from the saddle point. It should be understood that water does not stop, but remains at the saddle point, thereby passing / flowing and eventually reaching the lowest elevation point, which is the lowest point of the watershed. The watershed segmentation method then merges each connected component with the saddle point as its bottom with the steepest valley around the saddle point. This merging results in a single connected component of the mesh that comprises the saddle point, representing the connected portion of the landscape where water must flow downstream to enter a unique watershed. In other words, the single connected component forms at least a portion of the watershed. As such a watershed portion is determined for each identified saddle point, the watershed segmentation ultimately determines the complete watershed into which the landscape is segmented.
[0018] Moreover, in the example, at least one of the identified one or more saddle points is a degenerate saddle point. Thus, the watershed segmentation method handles degenerate saddle points that are often present in mesh-realistic representations of real-world terrain. In this manner, the watershed segmentation method takes as input a realistic mesh representation of the terrain and outputs a realistic watershed segmentation thereof. Moreover, the watershed segmentation method handles degenerate saddle points without modifying the input mesh, which makes the watershed segmentation method particularly robust and efficient.
[0019] The present invention also provides a second computer-implemented method for civil engineering.
[0020] The second method includes providing a watershed segmentation of the terrain. The watershed segmentation includes a watershed. The second method further includes merging a first watershed of the watershed segmentation, each verifying the smallness criterion, with a second watershed downstream of the first watershed. The second method may be referred to as a "regularization method."
[0021] The regularization method constitutes an improved method for civil engineering.
[0022] In particular, the regularization method makes it possible to regularize the provided watershed segmentation of the terrain, by regularizing the watershed segmentation to a means of merging the watersheds of the watershed segmentation, so that the merging result is a merged watershed, also called filtered watersheds, each violating a smallness criterion. In other words, the merging results in a large filtered watershed.
[0023] The regularization method can remove (or at least reduce the number of) small watersheds that correspond to numerical artifacts and / or noise by regularizing the watershed segmentation of the terrain. In other words, depending on how the provided watershed segmentation was calculated, the watershed segmentation can include one or more watersheds that are not believed to exist in the real world but exist numerically due to numerical artifacts and / or noise. The numerical artifacts and / or noise can result from physical measurements performed to obtain data on the terrain (which is further described below), for example to obtain a mesh that represents the terrain. Additionally or alternatively, the numerical artifacts and / or noise can correspond to unimportant details about the terrain (e.g., molehills). These watersheds respect the smallness criterion. The regularization method filters these watersheds by merging them into larger watersheds.
[0024] Additionally or alternatively, one or more watersheds may be small in the real world, so that each may verify the smallness criterion. However, they may be so small that they are meaningless to civil engineers, e.g., because of their smallness, they do not have much effect on the trajectory of water over the landscape and / or other physical phenomena. Only the larger filtered watersheds have such an effect. The regularization method makes it possible to obtain such filtered watersheds. In other words, the regularization method results in a filtered segmentation that is meaningful to civil engineers.
[0025] As mentioned above, if the watershed segmentation constitutes objective physical information, enabling a civil engineering analysis and / or one or more civil engineering physical actions to be performed, regularizing this watershed segmentation according to the watershed segmentation method improves the relevance of this physical information.
[0026] Furthermore, the regularization method does not modify the representation of the terrain (e.g., mesh) to perform the regularization of the watershed segmentation. In particular, the regularization method does not modify the characteristics of such watersheds, but only merges watersheds. As discussed above in the context of the watershed segmentation method, not modifying the representation of the terrain (e.g., mesh) contributes to improving the realism of the results obtained by the regularization method.
[0027] The present invention also provides a third computer-implemented method of civil engineering.
[0028] A third method includes providing a mesh representing a terrain and a polyline on the mesh. The third method further includes calculating a contributor for the polyline. The calculating the contributor includes modifying the mesh by determining a trench under the polyline based on the polyline. The calculating the contributor includes modifying the mesh by determining a trench under the polyline based on the modified mesh. The method further includes calculating a watershed segmentation of the terrain based on the calculated watershed segmentation. The contributor calculation further includes identifying watersheds, including trenches, on the modified mesh based on the calculated watershed segmentation. The contributors correspond to the identified watersheds. The third method may be referred to as a "contributor calculation method."
[0029] Contributor calculus constitutes an improved method for civil engineering.
[0030] In particular, the contributor calculation method allows to calculate the contributors of a polyline, which are the contributors of two or more points connected by a line segment (i.e., areas of the terrain where water necessarily flows towards and reaches the polyline). A polyline may typically represent the alignment on a terrain such as a road, a railway, a channel, a mine, or a building. The contributors therefore constitute objective physical information for civil engineering, since they allow to determine the water trajectory of the water flowing across the polyline. This objective physical information may be used to perform civil analysis and / or one or more civil physics actions, as discussed further below.
[0031] Furthermore, the contributor calculation method proceeds in three steps, namely, modifying the mesh by generating a trench under the polyline, calculating the watershed of the modified mesh by calculating a watershed segmentation of the modified mesh, and identifying the watershed on the segmentation that corresponds to the contributor. Furthermore, these three steps use a single operation to calculate the contributor of the polyline, i.e., they calculate all the points (e.g., mesh vertices) of the contributor at once, and not one by one. This makes the contributor calculation method fast, robust, efficient, and accurate. Furthermore, the generated results are consistent with the results of the watershed segmentation. Furthermore, the calculation is not affected / dependent on the complexity and / or accuracy of the polyline, which makes the contributor calculation method even more robust and efficient.
[0032] The watershed segmentation method, the regularization method, and the contributor calculation method may be performed independently of each other. Alternatively, the watershed segmentation method, the regularization method, and / or the contributor calculation method may be combined. For example, the watershed segmentation provided according to the regularization method may be a watershed segmentation calculated according to the watershed segmentation method. For example, the providing of the watershed segmentation of the regularization method may include providing a mesh representing the terrain according to the watershed segmentation method and calculating the watershed segmentation according to the watershed segmentation method, where the calculated watershed segmentation is the provided watershed segmentation. Additionally or alternatively, the calculation of the watershed segmentation according to the contributor calculation method may be performed following the calculation of the watershed segmentation according to the watershed segmentation method.
[0033] The watershed division method, the regularization method, and / or the contributor calculation method may be integrated into the same civil engineering process, also referred to as a “civil engineering process.” In other words, the civil engineering process includes performing one or more of the watershed segmentation method, the regularization method, and / or the contributor calculation method.
[0034] Specifically, civil engineering involves providing a mesh that represents the terrain.
[0035] The civil engineering process may further include, in an example, understanding the morphology of the terrain. Understanding the terrain may include identifying elements of the terrain, such as ridges and / or valleys. Understanding the terrain may begin by the user calculating the slope on the terrain, for example on each triangle of a mesh. Understanding the terrain may then be performed by the user. The contributor calculations can include estimating valleys and ridges by the contributor. The valleys and ridges provide the user with enough information to start calculating watershed segmentation on a portion of the terrain that is of particular interest. They also allow the user to infer new information (e.g., estimating the volume of water received by an outlet to dimension a drainage system). Note that the contributor calculations can replace the watershed segmentation calculations, for example, when the user is considering an artwork. The user can also modify road alignments if the contributor calculations indicate that the drainage system is not sufficient. This allows a loopback between the artwork concept work and the water volume estimation.
[0036] The civil engineering process may then include computing a watershed segmentation of the terrain based on the mesh, where the computing the watershed segmentation is computing the watershed segmentation by a watershed segmentation method. The civil engineering process may then include regularizing the computed watershed segmentation by merging a first watershed of the computed watershed segmentation, each verifying the smallness criterion, with a second watershed downstream of the first watershed, where the merging is a merging regularization method. This improves robustness since small (e.g., shallow) watersheds of the computed watershed segmentation are filtered out.
[0037] Additionally or alternatively, the civil engineering process may include providing a polyline on the mesh according to a contributor computation method, and computing contributors of the polyline according to a contributor computation method. Calculating the contributors includes computing a watershed segmentation of the terrain based on the modified mesh, as described above. Calculating the watershed segmentation may include computing an initial watershed segmentation of the terrain based on the modified mesh according to a watershed segmentation method, and performing regularization of the computed initial watershed segmentation according to a regularization method, as described further below.
[0038] Thus, the civil engineering process results in one or more of the watershed segmentation method calculated by the watershed segmentation method and / or regularized by the regularization method, and / or the polyline contributors calculated by the contributor calculation method. The civil engineering process may further include displaying the calculated and / or regularized watershed segmentation and / or the calculated contributors. In this manner, the process may, for example, enable determining the trajectory of water flowing across a portion of the terrain based on the display, and / or segmenting the terrain into portions where water flow has similar behavior. This may enable performing civil engineering analysis on the terrain, as described below.
[0039] The civil processing may further include performing a civil analysis based on the calculated and / or regularized watershed segmentation and / or the calculated contributors. The civil processing may further include performing one or more physical operations based on the civil analysis, the calculated and / or regularized watershed segmentation, and / or the calculated contributors. The civil analysis and / or the one or more physical operations may be performed while the calculated and / or regularized watershed segmentation and / or the calculated contributors are displayed on a computer display. This may guide a civil engineer when performing the task of civil analysis and / or when performing the one or more physical operations.
[0040] In particular, the computed and / or regularized watershed segmentation and each of the computed contributors form objective physical information that can, for example, perform civil engineering analysis and / or one or more physical actions based on a representation of the objective physical information. One or more physical operations may also be performed based on civil engineering analysis.
[0041] The civil analysis may include analyzing and / or designing the terrain and / or human structures on the terrain based on (e.g., based on a representation of) the calculated and / or regularized watershed segmentation and / or the calculated contributors. The civil analysis may include one or more of the following: For example, topographic analysis based on computed and / or regularized watershed segmentation (e.g., its representation); Determination of water flow over the landscape, e.g., based on calculated and / or regularized watershed segmentation (e.g., its representation); Segmenting the landscape into watersheds, for example, based on the calculated and / or regularized watershed segmentation (e.g., a representation thereof); For example, visualizing areas of the terrain where rainfall reaches a particular area of interest, such as a planned or existing road alignment, based on the calculated contributors (e.g., representations thereof) of a particular area of interest (e.g., road alignment), with a polyline representing the particular area of interest (e.g., road alignment); Sizing drainage tools for draining one or more trenches of the terrain, railway, waterway, mine and / or building based on the contributors (e.g., representations of) the terrain around the road, railway, waterway, mine and / or building, e.g., the calculated road, railway, waterway, waterway, mine and / or building, polylines representing the road, railway, waterway, mine and / or building; designing one or more storm water drainage systems, for example, based on the calculated and / or regularized watershed segmentation (e.g., a representation thereof); For example, designing a watershed for a proposed or existing road alignment based on (e.g., a representation of) the calculated contributors of the road alignment (polylines representing the road alignment); determining the impact of water flow on one or more urban structures on the landscape based on the calculated and / or regularized watershed subdivisions and / or the calculated contributions of each of said urban structures, and / or a polyline representing each of said urban structures (e.g., a representation thereof); Modifying the design of a human construction to be constructed on the terrain, for example, based on the calculated and / or regularized watershed segmentation and / or calculated contributors of the construction, a polyline representing the construction (e.g., a representation thereof); Determining the impact of constructing a dam on the terrain, e.g., based on the calculated and / or regularized watershed segmentation and / or the calculated contributors of the dam, a polyline representing the dam (e.g., a representation thereof); Determining the impact of dyke transplantation, e.g., based on the calculated and / or regularized watershed segmentation and / or the calculated contributors of the dyke, a polyline representing the dyke. Determining the impact of water flow on a mine in the terrain and / or determining the impact of mine buildings on the terrain may be based, for example, on a calculated and / or regularized watershed segmentation of the mine and / or calculated contributors, a polyline representing the mine (e.g., a representation thereof).
[0042] The one or more physical actions may include performing natural risk management and / or construction and / or maintenance operations on the terrain and / or one or more human constructions on the terrain based on the calculated and / or regularized watershed segmentation, the calculated contributors, and / or the civil analysis (e.g., displaying the same). The one or more physical actions may, among others, include one or more of the following: For example, natural risk management based on calculated and / or regularized watershed segmentation, calculated contributors and / or water flow estimates resulting from engineering analysis. Natural risk management determines whether the risks associated with the implementation of a structure at a given location are acceptable. This can include determining the amount of water received around a given location and comparing it to preventative measures (e.g., dikes, drains); Constructing and / or modifying one or more roads, railroads, channels, mines, and / or buildings on the terrain. The construction and / or modification can be based on the calculated contributors of each road, railroad, channel, mine, and / or building, polylines representing the road, railroad, channel, mine, and / or building (e.g., a representation thereof). Additionally or alternatively, the construction and / or modification can be based on results of a civil engineering analysis. The results can include one or more of the following: ·Terrain analysis. - Water flow over a determined terrain. - Terrain topography. · Watersheds that divide the terrain. Areas where rainfall reaches roads, railways, waterways, mines and / or buildings. ·The determined effect of the water flow on one or more roads, railways, waterways, streams, mines and / or buildings. ·Revised designs of roads, railways, waterways, mines and / or buildings. · Determined impact of dam construction on the terrain. Determined effects of dike embedding. Constructing and / or modifying a dam on a terrain. The constructing and / or modifying can be based on calculated contributors of the dam (e.g., its representation), where the polyline represents the dam. Additionally or alternatively, the constructing and / or modifying can be based on results of a civil engineering analysis. The results can include one or more of the following: ·Terrain analysis, - Topographically determined water flow, Topography of the terrain, - Watersheds that divide the terrain; Determined impact of dam construction on the terrain; Determined impact of dike filling or drainage systems; Construction and / or modification of road alignments. The construction and / or modification may be based on road alignments, polylines representing roads, and calculated contributors to the alignment (e.g., their representations). Additionally or alternatively, the construction and / or modification may be based on results of civil engineering analysis. The results may include one or more of the following: ··Terrain analysis, determined water flow on the terrain, topography of the terrain, distributaries dividing the terrain, areas where rainfall will reach road alignment, designed catchment areas for road alignment, determined impact of water flow on road alignment, determined impact of dam construction on the terrain, determined impact of dike filling; Construction and / or modification of mines on the terrain. The construction and / or modification can be based on calculated contributors of the mines (e.g., display of polylines representing the mines). Additionally or alternatively, the construction and / or modification can be based on results of a civil engineering analysis. The results can include one or more of the following: ·Terrain analysis. -Determined water flow over the terrain. - Terrain topography. - Watersheds that divide the terrain. The area where the mine should be reached. ·Mine modification design. Determined impact of mine embedment. · Determined impact of dam construction on the terrain. · The determined impact of water flow on the mine and / or the impact of mine construction on the mine. For example, forming a terrain around a human construction on the terrain. The terraforming can be based on (e.g., a representation of) a calculated and / or regularized watershed segmentation. Additionally or alternatively, the terraforming can be based on the results of a civil engineering analysis. The results can include one or more of the following: ·Terrain analysis. -Determined water flow over the terrain. - Terrain topography. · Watersheds that divide the terrain. - Determined impact of water flow on construction. - Revised design of construction. · Determined impact of dam construction on the terrain. Determined impact of dyke transplantation. Constructing one or more water management systems on a terrain. The construction may be based on a calculated and / or regularized watershed segmentation (e.g., a representation thereof). Additionally or alternatively, the construction may be based on results of a civil engineering analysis. The results may include one or more of the following: ·Terrain analysis. -Determined water flow over the terrain. - Terrain topography. -Watersheds that divide the terrain. · A drainage tool sized to drain one or more trenches on the terrain. ·One or more designed storm drainage systems. ·The determined effect of water flow on one or more structures on the terrain. The determined impact of dam construction and / or dike filling on the terrain; and / or Constructing one or more water management systems on a terrain. The construction may be based on a calculated and / or regularized watershed segmentation (e.g., a representation thereof). Additionally or alternatively, the construction may be based on results of a civil engineering analysis. The results may include one or more of the following: ·Terrain analysis, - Topographically determined water flow, Topography of the terrain, - Waterways that divide the terrain, A drainage tool sized to drain one or more trenches on the terrain; One or more designed storm water drainage systems; · The determined effect of the water flow on one or more structures on the terrain; · The determined impact of building a dam on the terrain; Determined effects of dike embedding.
[0043] The methods and processes are for civil engineering.
[0044] As known per se, civil engineering is a branch of engineering that encompasses the study of means of transportation and works of art, including roads, bridges, waterways, dams, airports, sewerage systems, pipelines, structural parts of buildings, and public works such as railways. Each of the methods and processes therefore relates to determining and / or calculating objective physical information on terrains (i.e. watershed segmentation, regularized watershed segmentation, and / or contributors) related to civil engineering. Each of the methods and processes also belongs to the field of terrain analysis and geometric simulation, which allows to determine the trajectory of water flowing across some parts of a terrain and / or to divide a terrain into parts where the water flow has a similar behavior.
[0045] In the context of this disclosure, a terrain is a part of the earth's soil surface. A terrain has a topography. In the context of this disclosure, a terrain is impermeable, i.e., water flows only on the terrain surface. Impermeable terrains are often considered in civil engineering methods for several objective physical reasons. For example, in urban situations, the terrain is at least partially urbanized and most of the soil is made impermeable by permanently covering the soil surface with impermeable materials. Even in non-urban situations, the soil is considered impermeable because in the case of heavy rainfall, the soil capacity to absorb water is reached and the water can no longer permeate into the ground.
[0046] Here, each terrain may be a construction terrain. The construction terrain is the following terrain: and / or one or more human constructions, such as roads, bridges, waterways, dams, airports, sewerage systems, pipelines, buildings, structures and / or railways; For example, based on the civil engineering analysis, one or more human-made constructions, such as roads, bridges, waterways, mines, dams, airports, sewer systems, pipelines, buildings, structural components of buildings, and / or railroads, are constructed.
[0047] Each terrain in this disclosure is represented by a discrete geometric representation. In other words, each of the civil engineering methods in this disclosure is performed on a discrete geometric representation of the terrain. Each of the civil engineering methods and processes in this disclosure can specifically include providing a geometric representation of the terrain. For example, the watershed division method and the contributor calculation method both include providing a mesh that represents the terrain as a discrete geometric representation of the terrain.
[0048] A discrete geometric representation of a terrain, in this disclosure, is a data structure that includes a discrete set of data. Each datum represents a respective geometric entity (e.g., point, surface) of the terrain. Each geometric entity represents a corresponding location of the terrain (in other words, a corresponding portion of the soil surface). The collection (i.e., union or juxtaposition) of the geometric entities represents the entire terrain. Any discrete geometric representation of this disclosure can include a large number of such data, in examples exceeding one million. A discrete geometric representation may be two-dimensional or three-dimensional.
[0049] The discrete geometric representation of the terrain may be a mesh, where each geometric entity is a mesh element, such as a tile or face. Any mesh in the present disclosure may be a 3D mesh or a 3D mesh. Any mesh in the present disclosure may be regular or irregular (i.e., may or may not consist of faces of the same type). Any mesh in the present disclosure may be a polygonal mesh, e.g. a triangular mesh, where the mesh faces are triangles, each with a boundary defined by mesh edges and each with a boundary defined by mesh vertices. Any mesh in the present disclosure may be obtained from a point cloud, for example, by triangulating the point cloud (e.g., using Delaunay triangulation).
[0050] Any mesh representing a terrain of the present disclosure may for example be derived from (i.e. determined from) physical measurements performed on the terrain within a reconstruction process. The reconstruction process may comprise performing one or more lidar surveys of the terrain, as known per se from the civil engineering field. The reconstruction process may additionally or alternatively comprise one or more surveys by triangulation of parts of the terrain, as known per se from the civil engineering field. The reconstruction process may additionally or alternatively comprise performing photogrammetry on the terrain, as known per se from the civil engineering field. The lidar survey, triangulation and / or photogrammetric survey may result in a point cloud representing the terrain, and the reconstruction process may further comprise triangulating the point cloud to obtain a mesh. Any mesh representing a terrain of the present disclosure may be a digital elevation model, as known per se from the civil engineering field. Additionally or alternatively, any mesh representing a terrain of the present disclosure may be a 3D triangle that may be parameterized by a 2D subset D of the plane Oxy. In other words, the projection of the mesh triangles induces a triangulation of the domain D, which entails that there are no overhanging triangles in the mesh.
[0051] Both the watershed segmentation method and the contributor calculation method include providing a mesh representing the terrain. Providing a mesh representing the terrain may include constructing the mesh, for example, by performing a reconstruction process as described above. Alternatively, providing the mesh may include retrieving the mesh from a (e.g., remote) memory in which the mesh was stored after construction.
[0052] Information relating to water trajectories through the terrain, such as watershed segmentation or contributors, constitutes objective physical information for civil engineering, based on which a civil engineer can perform civil analysis and / or one or more physical operations, as described above. The concept of water trajectories will now be described.
[0053] The altitude over a terrain can be encapsulated by an altitude function f, which is defined on a discrete geometric representation of the terrain and takes real values. The value of f at a point on the discrete geometric representation corresponds to the altitude at this point. Note that if f is differentiable, then its slope is a vector representing the steepest slope at each point.
[0054] A point A in the discrete geometric representation flows towards a point B if there is a unique downward path from A to B on the discrete geometric representation, and for any point P on that path, the tangent vector of the path at point P is the gradient vector
number
[0055] A watershed (also simply called a "watershed") of a terrain is represented on a discrete geometric representation by a set of points that flow towards the same point. This point represents the outlet of the watershed and is a local minimum of the elevation function. In other words, the watershed is a point of attraction of the water flow induced by the inverse gradient of the elevation function. As a result of the watershed segmentation performed by the watershed segmentation method, the boundaries of the watershed are represented on the discrete geometric representation by watershed lines. The watershed lines split the water flow such that any pair of points located from either side of the watershed line gives rise to two paths that reach two different outlets. It should be noted that in the example where the terrain is represented by a triangular mesh, the boundaries of the watershed are polylines that may or may not each pass through the mesh triangles.
[0056] The contributors of a subset S of the discrete geometric representation of the landscape are the set of points in the landscape whose paths reach points in S, from which water flows towards points in S. For example, the contribution of a local minimum in the elevation function is given by the watershed associated with its drainage basin.
[0057] In the context of this disclosure, watershed segmentation of a terrain refers to segmenting a discrete geometric representation of the terrain into portions of the discrete geometric representation that represent each drainage basin of each terrain. A respective one boundary of each of these portions is a watershed line of each watershed represented by the respective one portion, representing the boundary of each watershed. Any watershed segmentation in this disclosure may involve the segmentation of data representing one or more physical properties within the watershed of the watershed segmentation. Such a physical property may further include, for example, the water trajectory within each watershed of the watershed segmentation.
[0058] Basin depth is the difference in elevation between the spillway (i.e. the lowest saddle point on the basin boundary, the lowest meaning with the smaller elevation) and the outlet. This quantity represents the maximum height of water that this basin can contain before it inundates the downstream basin. Basin volume is the volume of solids bounded downwards and upwards by a horizontal plane that contains the lowest saddle point on the basin boundary.
[0059] 1 illustrates an example of a landscape 10. The landscape includes a watershed 12 having a drainage basin 14 and a spillway 16. Double arrow 18 represents the depth of the watershed 12.
[0060] The watershed segmentation method will now be further described.
[0061] "Computing a watershed segmentation of a terrain based on a mesh" means determining the watershed lines of the terrain by computing a representation of these watershed lines on a provided mesh. Similarly, "computing a watershed segmentation of a terrain" means determining the drainage watersheds of the terrain by computing a representation of these drainage watersheds on a provided mesh. Thus, the watershed segmentation computation takes a provided mesh as input and determines the segmentation of the terrain into watersheds by computing a representation on the mesh of the watershed lines of these watersheds. In other words, the watershed segmentation method outputs a portion of the mesh (e.g., a set of faces, e.g., triangles) that represent each watershed.
[0062] The watershed segmentation calculation involves identifying one or more saddle points on the mesh. A saddle point on the mesh is a vertex that represents a saddle point of the terrain. A saddle point of the terrain is a point that has at least two locally maximum directions of descent and at least two locally maximum directions of ascent, where the soil surface forms, for example, a topographic saddle or mountain that passes around the saddle point. This is illustrated in FIG. 2. For saddle points on regular surfaces, the descent directions are opposite and the ascent directions are likewise opposite. This is not the case for saddle points on generally triangular surfaces.
[0063] In the watershed partitioning examples, the mesh is a 3D triangular mesh with triangles, edges, and vertices. In these examples, the saddle points of the mesh can be defined as follows: A star of a vertex V of a mesh is the set of triangles and edges that contain V (i.e., V is the vertices of these triangles and edges), and the stars of V are denoted as St(V). A star above (or below) a vertex V is the set of star simplices St(V) such that the value of f at any other vertex is greater than (or less than) Vf(V). In other words, a simplex
number
number
[0064] In these examples, the critical points of the mesh are defined using the previous notion of upper and lower stars (see reference [3] cited above, which is incorporated by reference into this disclosure). Specifically, regular points that are not critical are vertices where the upper and lower stars are formed by exactly one connected component. Minima are vertices where the lower star is empty (the upper star consists of a single connected component). Maxima are vertices where the lower star is empty (the upper star consists of a single connected component). Saddle points are critical points of the altitude function, vertices where the lower and upper stars consist of at least two connected components. Equivalently, they are critical points of the altitude function that are not minima and are not maxima.
[0065] Figures 5-10 illustrate these concepts, with the top star shaded and the bottom star unshaded. Figure 5 shows a vertex and its incident edge. Figure 6 shows the case where the vertex is a critical base (local minimum). Figure 7 shows the case where the vertex is a critical top (local maximum). Figure 8 shows the case where the vertex is a regular vertex. Figure 9 shows the case where the vertex is a regular saddle point. Figure 10 shows the case where the vertex is a monkey saddle (the top and bottom stars have connected tree components).
[0066] Identifying the one or more saddle points may be performed by any known method adapted to identify saddle points on a mesh. In an example where the mesh is a 3D triangle mesh, identifying the one or more saddle points may include, for each vertex of the mesh, determining whether the vertex is a saddle point. Determining whether the vertex is a saddle point may include: Calculating lower and upper stars by comparing the altitudes of the vertices nearby. · If the computed lower star has at least two connected components and if the computed upper star has at least two connected components, then determine that the vertex is a saddle point.
[0067] If the vertex is an interior vertex of the mesh, i.e., a vertex that is not a boundary vertex, then it is sufficient to analyze only the lower star of the vertex, since the vertex is the complement of the upper star on the circle of directions (this is described below) and the two have the same number of associated components. In such a case, if the vertex is an interior vertex of the mesh, the step of determining whether the vertex is a saddle point may include: - Calculating lower and upper stars by comparing the altitudes of its vertices with its adjacent vertices. If the computed lower star has at least two connected components, determine that the vertex is a saddle point.
[0068] This does not hold if the vertex is a boundary vertex of the mesh.
[0069] Determining whether a vertex is a saddle point may be referred to as a “Determine if vertex V is a saddle point” algorithm, and may be performed by executing the algorithm described by the following pseudocode:
number
[0070] It should be appreciated that the watershed segmentation method may identify all saddle points in the mesh or at least a portion of them. In an example, the watershed segmentation method identifies all saddle points in the mesh.
[0071] In an example, at least one of the identified one or more saddle points is a degenerate saddle point. A degenerate saddle point on a mesh is a vertex of the mesh that represents a degenerate saddle point of a terrain. A degenerate saddle point of a terrain is a point where the soil surface bends upward in at least two directions and downward in at least three other directions. In fact, if the saddle point corresponds to an interior vertex of the mesh, there are three directions of maximum descent locally around the saddle point. In an example of a watershed segmentation method, an interior degenerate saddle point on a mesh is a saddle point on a mesh such that the lower star contains at least three connected components and the upper star contains at least three connected components.
[0072] The calculation of the watershed segmentation further includes identifying, for each identified saddle point, a path ascending from the saddle point, respectively, according to the direction of the maximum gradient around the saddle point. A path ascending from a saddle point is a path on the mesh that starts at the saddle point and ascends the mesh such that the altitude increases along the path until the path reaches an end point that is either on the boundary of the watershed or on the boundary of the terrain. For example, the end point can correspond to a maximum value of the altitude function and / or can be on the boundary of the mesh. The path ascends from the saddle point to the end point according to the direction of the maximum gradient. The means is that the path tends to follow where the gradient is maximum as it ascends to the end point. In other words, the path starts at the saddle point by ascending the maximum gradient around the saddle point (there may be many such maximum gradients) and then tends to always ascend according to the steepest ascending direction. It should be noted that the identified ascending paths may be any path on the mesh, i.e. they do not necessarily follow mesh edges and can cross mesh faces. Identification of the ascending path may be performed by any known method adapted for such purpose.
[0073] In examples, identifying paths ascending from a saddle point includes determining a gradient maximum around the saddle point. In these examples, each one of said paths ascending from the saddle point is oriented according to the determined local gradient maximum. This is an efficient way of identifying an ascending path, as it ensures that the ascending path starts from the saddle point in the steepest possible direction.
[0074] As mentioned before, each ascent path is a saddle by ascending the maximum gradient around the saddle point. Starting at the saddle point, there may be several such local maximum gradients. In these examples, identifying the path includes determining these local maximum gradients by determining gradient local maxima around the saddle points. Finding the steepest direction of ascent on the saddle point means determining the gradient local maxima. Determining the gradient local maxima may include calculating a radial gradient around the saddle point, i.e., calculating an ascent direction that extends radially around the saddle point. Determining the gradient local maxima may further include determining a local maximum of radial gradient around the saddle point, where the local maximum of radial gradient around the saddle point is an example of a local maximum of radial gradient around the saddle point. This improves the simplicity and efficiency of the watershed segmentation method.
[0075] In examples, identifying a path ascending from a saddle point includes projecting a mesh element that includes the saddle point onto a plane. In these examples, the radial tilt about the saddle point is the directional angle about the projection of the saddle point on the plane. These examples are described below.
[0076] In these examples, the mesh may be parameterized by a 2D subset of the Oxy plane (i.e., the plane onto which the mesh elements are projected), where the 2D subset is the domain. In other words, the projection of the mesh elements (e.g., mesh tiles or faces, such as triangular faces) induces the meshing of the 2D subset. In these examples, the mesh is a 3D triangular mesh (i.e., the mesh elements are triangles) and may be parameterized by a 2D subset of the Oxy plane, where the 2D subset is the domain. In these examples, the projection of the triangles induces a triangulation of the domain, i.e., there are no overhanging triangles in the 3D triangular mesh.
[0077] Projecting the mesh elements may include computing a parameterization of the mesh with the 2D subset. Additionally or alternatively, projecting the mesh elements may include providing the parameterization, for example by retrieving the parameterization from a (e.g., remote) memory where it was stored after computation. In any case, the projection of the mesh elements onto the Oxy plane results in a 2D subset, or at least a portion of the 2D subset, including a projection of the mesh elements that include the saddle points.
[0078] Saddle points, which are part of the projected mesh elements, are also projected onto the plane. The projections of the saddle points are therefore 2D points of a 2D subset that is a pole of the polar coordinate system that parameterizes the plane. The orientation angle about the saddle point is a polar coordinate angle, which lies in [0,2π]. The radial slope around the saddle point is a function of the orientation angle, which is any function that takes an orientation angle as input (i.e. lies in [0,2π]) and outputs a slope in the direction of the orientation angle. The output slope in the direction of this orientation angle is the radial slope in the direction of the orientation angle. The watershed splitting method reduces this determination to a simple and robust computation of a local maximum of a function of the orientation angle, thereby determining the direction of the local maximum slope around the saddle point in an efficient, robust and simple manner.
[0079] As discussed above, the watershed division method involves determining a local maximum of this radial gradient, for example, according to any known method for determining a local maximum of a function of direction angle.
[0080] Identifying the respective ascending paths from the saddle point may further comprise, after determining each direction of the local maximum gradient, calculating each path starting from the saddle point according to one direction of the local maximum gradient and ascending to an end point according to the steepest ascending gradient, as described above. The calculation of each path may be performed according to any method capable of calculating the steepest ascending path from a given point P on the mesh.
[0081] An example of such a method is described below. In this example, the mesh is a 3D triangular mesh. In this example, the watershed segmentation method takes as input any point of the mesh and calculates a path ascending from this point according to the steepest ascending direction. This may be performed by executing the following algorithm, which may be called the "Compute ascending path from point P" algorithm, which is described by the following pseudocode:
number
[0082] Figures 11-14 show different types of droplet movement. Figure 11 shows droplet movement from inside a triangle. Figure 12 shows droplet movement along a ridge. Figure 13 shows droplet movement through a triangle. Figure 14 shows droplet movement from a mesh vertex.
[0083] It will be appreciated that calculating each ascent path may involve applying the above algorithm such that P is a saddle point and for each steepest ascent direction around P, the above algorithm calculates each path ascending from P according to the steepest ascent direction.
[0084] The watershed segmentation calculation further comprises identifying, for each identified saddle point, a path descending from the saddle point according to the steepest direction around the saddle point. "A path descending from the saddle point according to the steepest direction around the saddle point" means "the steepest descending path around / from the saddle point". A path descending from the saddle point according to the steepest direction around the saddle point can also be called the steepest descending valley around the saddle point. The steepest descent is such that by following it the water droplet flows towards a local minimum critical point of the elevation function and / or a point located on the boundary of the terrain.
[0085] Identifying a path that descends from the saddle point according to the steepest direction around the saddle point may include calculating a gradient global minimum around the saddle point. The gradient global minimum is, for example, a global minimum of the radial gradient around the saddle point, and calculating may include determining a global minimum of the radial gradient around the saddle point. Determining the global minimum of the radial gradient may be performed by projecting the mesh element that includes the saddle point onto a plane and calculating the global minimum of the aforementioned function of the orientation angle around the saddle point. Identifying a path that descends from the saddle point according to the steepest direction may include starting at the saddle point according to the steepest direction (e.g., the direction of the smallest radial gradient centered around the saddle point) and always calculating a path that descends from the saddle point according to the steepest possible descent direction.
[0086] In examples, there are two valleys of steepest descent around a saddle point (i.e., the same unit vector). In these examples, identifying the path descending from the saddle point may include applying a symbolic perturbation to the mesh (but without modifying the geometry) and determining the lowest unitary vector of the two valleys, i.e., the unitary vector of the valley corresponding to the steepest descent around the saddle point. Determining whether the first unitary vector is lower than the second unitary vector includes comparing the z coordinates of the first and second unitary vectors. In case of equality, determining whether the first unitary vector is lower than the second unitary vector includes comparing the x coordinates of the two vectors, and in case of equality between the x coordinates, includes comparing the y coordinates.
[0087] For each identified saddle point, the identified ascent paths divide at least a portion of the mesh into connected components. The identified ascent paths actually all intersect at a saddle point, and each connected component is a connected portion of the mesh whose boundary is defined by two identified ascent paths and does not contain any other identified ascent paths. All identified ascent paths for all identified saddle points completely divide the mesh into such connected components.
[0088] In an embodiment, the identification of the path ascending from the saddle point includes, for each mesh element that includes the saddle point and that includes at least two local maxima of radial gradient, searching among a pair of at least two local maxima of radial gradient, including the pair of local maxima, the direction of which pair forms a maximum angle in the projection of the mesh element, each direction of the connection maxima resulting in one of said connected components. These embodiments are discussed further herein.
[0089] In these examples, each mesh element containing a saddle point is projected onto a plane as described above.
[0090] Identifying the path then involves determining each direction angle around the projection of the saddle point on the plane that corresponds to a local maximum in radial slope, as discussed above. Each projected mesh element will contain a local maximum in radial slope if, for example, the mesh element belongs to the lower star of the saddle point. Either the mesh element does not have any local maxima of radial gradient, or it contains one or more local maxima of radial gradient, for example, if the mesh element belongs to the upper star of the saddle point. For each mesh element containing at least two local maxima of radial gradient, the watershed splitting method searches for two local maxima of radial gradient corresponding to the two respective directional angles that form the maximum angle in the projection of the mesh element. The angle is the maximum among all angles formed by the combination of the respective directional angles. The identified ascent paths ascending from the saddle point according to the two directions corresponding to these two local maxima of radial gradient intersect at the saddle point. Also, they each form a boundary between two connected components that divide the mesh. This holds true for each projected mesh element containing at least two local maxima of radial gradient.
[0091] In other words, for each identified saddle point, the identified ascent path divides at least a portion of the mesh into connected components, each of which is bounded by one of the following: Two ascent paths, each ascending from a saddle point according to the two direction angles that form the maximum angle within the same projected mesh element. an ascent path belonging to the set of ascent paths and another ascent path belonging to another set of ascent paths, or Ascent paths belonging to the set of such ascent paths and ascent paths belonging to another set of such ascent paths ascending from a saddle point according to a direction angle corresponding to a unique radial gradient local maximum of the projected mesh element.
[0092] All identified ascent paths intersect at a saddle point. Each connected component does not contain any identified ascent paths other than those that bound the connected component. All identified paths for all identified saddle points completely partition the mesh into such connected components.
[0093] In the example, the search for the couple that forms the maximum angle includes searching for the first local maximum of the radial gradient and the last maximum of the radial gradient according to the triangle order or according to the antitriangle order in the projection of the mesh element. This improves the simplicity, efficiency and robustness of the watershed division method since it ensures that the couple is searched by only moving angularly around the projection of the saddle point in the projection of the mesh element to search for the first and last local maxima of the radial gradient. These obtained first and last local maxima form the obtained couple.
[0094] It should be understood that the identification of paths is performed for each identified saddle point. The mesh is completely divided into connected components by all these identified ascending paths. The watershed division method then further includes merging, for each identified saddle point, each connected component that is a saddle point with a connected component that includes an identified path descending from the saddle point according to the steepest direction around the saddle point. This merging results in at least a portion of the watershed.
[0095] Merging connected components means linking them to form one connected component of the mesh. For each identified saddle point, the merged connected components thus form a connected component of the mesh representing at least a part of the watershed. The identified ascending paths are such that this formed connected component is bounded by ascending paths that respectively rise from the saddle point according to the maximum gradient direction around the saddle point. These ascending paths are such that the water droplets on at least a part of the watershed represented by this connected component necessarily flow towards the outlet of the watershed.
[0096] The merging is performed, for example iteratively, for all identified saddle points. For each identified saddle point, the corresponding merging is performed for the mesh forming at least a portion of the watershed. This results in a connected component. It should be understood that at least a part of the watershed may be within the watershed. Alternatively, it is obtained by merging connected components that consist of a strict part of the watershed, the watershed or at least other parts of the watershed being bounded by other ascent paths identified for other identified saddle points. In other words, when merging is performed for all identified saddle points, the watershed segmentation finally results in connected components of the mesh as a result of all these mergings, each component representing a whole watershed. These complete watersheds form the watershed segmentation of the landscape.
[0097] Examples of merging are now further described, in which by "merging" it is understood not a merge performed for a given identified saddle point, but rather a combination of all merges performed for all identified saddle points, as previously described.
[0098] In these examples, the merging includes determining a graph with nodes each representing a connected component and arcs each representing a connection between two connected components. In these examples, the merging further includes extracting connected components of the graph. Each connected component of the graph represents a watershed of the terrain. This is a robust and efficient way of merging connected components to yield the watersheds of the watershed segmentation.
[0099] Each node of the graph represents a connected component of the connected components that divide the mesh. Determining the graph may include assigning the nodes to the connected components. The identified ascending paths are such that the bottom of the connected components is, for each connected component, either a saddle point or a minimum point of altitude. Determining the graph may further include generating arcs that respectively connect two nodes that represent two connected components, each representing a connection between the two connected components. Generating arcs may include, for each node that represents a connected component having a saddle point as a bottom, generating an arc between this node and a node that represents a connected component of the mesh that is located below the saddle point and that includes an identified path that descends from the saddle point according to the steepest direction around the saddle point. Thus, in the example, each node that represents a connected component that has a bottom at a saddle point is connected by an arc in the graph to a node that represents a connected component of the mesh that is located below the saddle point and that includes an identified path that descends from the saddle point according to the steepest direction around the saddle point. A connected component of the mesh that is located below the saddle point and contains an identified path that descends from the saddle point according to the direction of the steepest gradient around the saddle point is unique.
[0100] In the examples, the computation of watershed segmentation according to the watershed segmentation method is performed by executing the algorithms discussed herein. The algorithms in these examples are described by the following pseudocode:
number
[0101] According to the above algorithm, all the water that reaches the vertex V (from the connected components of the star above) will flow through the valley of the valley and stay in the same drainage basin.
[0102] Figures 15 and 16 illustrate the above algorithm. Figure 15 shows a degenerate saddle point (corresponding to the center of the circle) whose valley is the steepest descent, and the three connected components 150, 152 and 154 of the star above it, and for each of them, the first and last orientation angles θf and θl. Figure 16 shows the result of merging around the saddle point (one different shade of grey for each basin 160, 162, 164).
[0103] The above algorithm is particularly efficient since it does not need to browse all mesh vertices, but only the saddle points. Thus, the computational complexity depends on the number of saddle points, and not on the mesh vertices. Subdividing the mesh triangles as in the above algorithm has little effect on the computation time. In particular, doubling the number of triangles for the same geometry does not double the computation time. The above algorithm is also exact, since the watershed boundaries are not constrained by the edges of the terrain, but follow the steepest ascent direction.
[0104] In examples where the mesh is a triangular mesh, during the computation of the watershed partitions, triangles intersected by the ascending watershed line are partitioned and the resulting fragments are associated with the watershed that is provided as output. Thus, in these examples, the watershed segmentation method is not bounded such that it follows mesh edges when identifying paths, which makes the watershed segmentation method robust and ensures relatively accurate results.
[0105] In any case, the computed watershed segmentation is accurate in that it matches the water trajectory. That is, the watershed segmentation method reliably prevents the trajectory of any fall lying inside a given watershed from ending at the watershed outlet. Also, the watershed segmentation method does not require any modification of the input terrain (i.e., the provided mesh), for example, by adding and / or removing vertices and / or by changing vertex coordinates. In particular, the watershed segmentation does not require splitting degenerate saddle points into regular saddle points, which makes the watershed segmentation method particularly robust.
[0106] The watershed segmentation method may further include displaying the calculated watershed segmentation on a computer display. Displaying the calculated watershed segmentation may enable performing civil engineering analysis and / or one or more physical actions based on the displayed calculated watershed segmentation, as described above.
[0107] The regularization method will now be further explained.
[0108] The regularization method includes providing a watershed segmentation of the terrain. The watershed segmentation includes a watershed. The concept of watershed segmentation has been discussed previously and will not be discussed further.
[0109] Providing the watershed segmentation may include computing the watershed segmentation by any known method. For example, providing the watershed segmentation may include computing the watershed segmentation according to the watershed segmentation methods described above. Alternatively, providing the watershed segmentation may include retrieving the watershed segmentation from a (e.g., remote) memory where it was stored after its computation (e.g., according to the watershed segmentation method).
[0110] The regularization method further comprises: regularizing a first watershed of the watershed segmentations each of which verifies the smallness criterion; The regularization method includes merging the first watershed with a second watershed downstream of the first watershed. This means that the regularization method searches the watersheds (e.g., all) of the watershed segmentation and merges each of the first watersheds searched to verify the smallness criterion with a second watershed downstream of the first watershed. The second watershed is a subwatershed of the first watershed and is a watershed adjacent to the first watershed through the spillway of the first watershed. This allows merging the small watersheds (in terms of the smallness criterion) with each downstream second watershed, which finally results in the watershed segmentation being regularized. After merging, the watershed segmentation includes only large watersheds or only relatively large watersheds that violate the smallness criterion. It should be understood that the second watershed and / or the merged watershed may also be first watersheds verifying the smallness criterion, in which case they are also merged with their downstream watersheds. Thus, each watershed of the regularized watershed segmentation is the result of merging two or more watersheds of the provided watershed segmentations.
[0111] A watershed that meets the smallness criterion is a relatively small watershed. In an example, this may mean that the watershed is very small and not relevant to a civil engineer, for example, when performing civil engineering analysis. Additionally or alternatively, it may mean that the watershed corresponds to numerical artifacts and / or noise in the watershed division, but does not exist in the real world.
[0112] In an embodiment, the watershed verifies the smallness criterion if the quantification of the watershed compactness is lower than a predefined threshold. The predefined threshold may be a threshold predefined by a user (e.g., a civil engineer) before executing the regularization method. This allows merging the first watersheds of the segmentation that are too small to exist in the real world and / or are too small to be relevant to civil engineers. The quantification of the smallness may be any value that represents the watershed compactness. In an embodiment, the quantification of the watershed compactness includes one or more of a quantification of the watershed depth, a quantification of the watershed area, and / or a quantification of the watershed volume. If the quantification of the watershed smallness is a quantification of the watershed depth, the order of magnitude of the threshold may be meters (e.g., for a model of the entire landscape) or decimeters (e.g., for a city model). If the quantification of the watershed smallness is a quantification of the watershed area, the order of magnitude of the threshold may be square meters. If the quantification of the watershed compactness is a quantification of the watershed volume, the threshold size may be in cubic metres (e.g. in the context of dyke studies) or may be much smaller than that (e.g. in the context of drainage studies, since the civil engineer is later interested in the rate at which the watershed fills itself). The quantification of the watershed depth may be the watershed depth value, i.e. the value of the watershed depth. The quantification of the watershed area may be the watershed area value, i.e. the value of the watershed area. The quantification of the watershed volume may be the watershed volume value, i.e. the value of the watershed volume.
[0113] Merging will now be further explained.
[0114] The merging may be performed iteratively, i.e., the merging may include iteratively searching the watersheds of the watershed segmentation. The merging may iteratively identify exploration watersheds that are first watersheds that verify the smallness criterion. Each identified first watershed is merged (e.g., connected) with a second watershed that is a downstream watershed to the first watershed. It should be understood that the second watershed may be the first watershed that verify the smallness criterion, in which case the second watershed is also merged with its downstream second watershed during merging.
[0115] In examples, the merging includes determining a directed graph having nodes and arcs. Each node represents a watershed. Each arc represents a connection between a first watershed verifying the smallness criterion and a second watershed downstream of the first watershed. The arcs are directed from a first node representing the first watershed to a second node representing the second watershed. In these examples, the merging further includes merging watersheds that correspond to nodes of the same connected component of the directed graph. The graph may be: It may also be a directed acyclic graph (hereinafter referred to as "DAG").
[0116] Determining a directed graph and performing the merging of the first and second watersheds by merging the watersheds that correspond to nodes of the same connected component in the graph is an efficient and robust way of performing the merging and thus regularizing the provided watershed segmentation. In particular, this graph forms a data structure that captures well the placement of small watersheds relative to each other in terms of which watersheds are upstream or downstream of another watershed. In fact, the nodes of the connected components of the graph represent groups of watersheds such that: are basins that are 2x2 downstream of each other, The watershed downstream of the corresponding first watershed of the group for which the smallness criterion is to be verified, excluding the watershed of the group most upstream.
[0117] This means that the watersheds form a DAG that shows the order in which watersheds impoverish one another.
[0118] Thereby, merging watersheds that correspond to nodes of the same connected component of the graph effectively results in a regularized watershed segmentation watershed, which violates the smallness criterion.
[0119] In examples, determining the directed graph includes exploring the watersheds according to an order of smallness that rewards smallness of the watersheds. In these examples, determining the directed graph further includes, for each explored first watershed, verifying the minor criteria and generating an arc between a node representing the first watershed and a node representing a second watershed downstream of the first watershed. The arc is directed from the node representing the first watershed to a node representing the second watershed. Prior to generating the arcs, the determining step may include generating a node in the graph representing the watershed for each explored watershed. In any case, the graph resulting from the generation of the arcs is a DAG.
[0120] The order of smallness is an order that rewards the smallness of the watersheds. In other words, if a watershed is smaller than another watershed, the merged watershed comes before the other watershed in the order of smallness. Thus, exploring the watersheds according to the order of smallness consists of exploring the first smallest watershed of the provided watershed segmentation, exploring the next smallest watershed among the non-explored watersheds of the provided watershed segmentation, exploring the next smallest watershed among the non-explored watershed segmentation of the provided watershed segmentation, and so on until all watersheds of the provided watershed segmentation have been explored. Exploring the watersheds may include calculating, for each watershed, a quantification of said watershed's smallness, for example by calculating the watershed's depth, the watershed's area, or the watershed's volume. Exploring the watersheds may further include sorting the watersheds according to increasing quantification of smallness, for example, by sorting the watersheds according to increasing depth (order of smallness by depth), by increasing area (order of smallness by area), or by increasing volume (order of smallness by volume). Exploring the watersheds may then include exploring (e.g., visiting) the classified watersheds in order of smallness.
[0121] Searching for watersheds according to minimum degree is an efficient and robust way of ensuring that each connected component of the graph represents a group of watersheds that are 2x2 downstream of each other and downstream of the first watershed in each of the groups that validate the minimum criterion, except for the watershed in the most upstream group. Merging one watershed in each of these groups thus efficiently obtains each watershed in the regularized watershed segmentation.
[0122] In examples, the watershed segmentation includes, for each watershed, data representative of water trajectories within the watershed. In these examples, the merge includes, for each first watershed that is merged with a second watershed, calculating data representative of water trajectories between the first watershed and the second watershed. In addition to regularizing the provided watershed segmentation thereby, the regularization method also results in water trajectories within each watershed of the regularized watershed segmentation. Thus, the regularized watershed segmentation output by the regularization method allows for understanding of water trajectories and / or visualization of any civil engineering impacts on hydraulics, which is highly relevant to civil engineering. Otherwise, the regularization method can regularize the provided watershed segmentation and simultaneously update water trajectories accordingly.
[0123] The data representing the trajectory within the watershed may be any data representing the trajectory of any flow of water within the watershed, such as one or more pathways within the watershed. In an example, the one or more pathways include a pathway from an outlet of the watershed to an outlet of the watershed, also referred to as an "upward pathway extension," and / or a pathway from an outlet of an upstream watershed to an outlet of the watershed, also referred to as a "downward pathway extension." The data representing the trajectory of water between the first watershed and the second watershed may be any data representing the trajectory of any flow of water flowing from the first watershed into the second watershed, and may be calculated based on the data representing the trajectory of water within the first and second watersheds.
[0124] Calculation of the data representative of water trajectories between the first and second watersheds may be based on (e.g., may take as input) first data representative of water trajectories in the first watershed and second data representative of water trajectories in the second watershed, thereby improving accuracy of the calculated water trajectories between the first and second watersheds. In an embodiment, the first data includes an ascending path extending from an outlet of the first watershed to an outlet of the first watershed and / or the second data includes a descending path extending from an outlet of the first watershed to an outlet of the second watershed.
[0125] In an embodiment, the first data includes an extended upward path from the outlet of the first basin to the outlet of the first basin, and the second data includes an extended downward path from the outlet of the first basin to the outlet of the second basin. In these examples, a calculation of data representative of the trajectory of water between the first basin and the second basin can take as input the extended upward path and the extended downward path, and output a path that can be called an "extended path" corresponding to the concatenation of the extended upward path and the extended downward path. That is, the extended path connects the outlet of the first basin to the spillway of the first basin according to an extended upward path, and then connects the spillway of the first basin to the outlet of the second basin according to an extended downward path. This is done whenever a first watershed merges with a downstream second watershed, thereby allowing any waterway arriving at the former watershed (i.e., the outlet of the provided watershed segment) to be extended until it reaches the outlet of the filtered watershed (i.e., the watershed of the regularized watershed segment). Such trajectories of droplets towards the outlet of the filtered (i.e., regularized) watershed segmentation form extension paths. Extension paths constitute objective physical information that is particularly relevant for civil engineering.
[0126] The regularization method may further include displaying the regularized watershed segmentation on a computer display. Displaying the regularized watershed segmentation may enable performing civil engineering analysis and / or one or more physical actions based on the displayed regularized watershed segmentation, as described above.
[0127] Here, an example of a regularization method will be described.
[0128] In this example, the provided watershed segmentation contains many shallow watersheds that impair the readability of the result. This is illustrated in FIG. 17, which shows a screenshot of the provided watershed segmentation as it appears on a computer display. It may be difficult for a geologist (engineer) to understand the trajectory of the water and visualize the impact of any civil engineering works on hydraulic dynamics based on this displayed provided watershed segmentation.
[0129] In this example, merging involves searching the watersheds according to order of smallness, as discussed above. Searching involves sorting the original watersheds (i.e., the watersheds of the provided watershed segmentation) after increasing depth (or area, or volume) ordering. Searching further involves creating a directed acyclic graph (DAG) whose nodes are the initial base-in.
[0130] Then, for each base-in B, following the order of increasing depth (respective area, respective volume), the search involves creating an orientation arc in the graph that connects B towards its downstream base-in B'. At the same time, the search involves associating this arc with two paths, PAscending and PDescending. PAscending is the path from the outlet OB of B to the outlet of B, and PDescending is the path from the outlet OB' of B' to the outlet of B'. Figure 19 shows these paths.
[0131] The set of watersheds in each connected component of the graph are then merged into a so-called filtered watershed to form a regularized (i.e., filtered) watershed segmentation. The remaining (i.e., filtered) watersheds have a depth greater than a given threshold. Figure 20 shows the remaining watersheds after merging watersheds B and B' of Figure 19.
[0132] In this example, the merging is performed by executing the algorithm described in the following pseudocode:
number
[0133] Fig. 18 shows the result of merging the segmentations of Fig. 17 by the above algorithm, where the depth threshold is equal to 0.5 mm. Fig. 21 shows the calculated water trajectory between the first watershed B and the second watershed B' of Fig. 19. Fig. 22 and Fig. 23 further show the merging by the above algorithm. Fig. 22 shows two watersheds of the provided watershed segmentation. It is noted that watershed 1 has a small depth and meets the smallness criterion. Fig. 23 shows the effect of merging, where after merging only one watershed remains.
[0134] In this example, the water trajectory and watershed segmentation remain consistent after merging. Whatever the depth threshold eps given by the user (even eps=0), the path remains in the watershed containing the starting point, reaching the outlet (or ground edge) of this watershed. Thus, when eps>0, the merged watershed still forms a new segmentation of the terrain that verifies the previous characteristics. This is illustrated in Figure 24, showing the original water trajectory (stopping when it reaches the outlet), and in Figure 25, showing the extended path calculated using eps=1m.
[0135] Here, the method of calculating the contributors will be further explained.
[0136] The contributor calculation method includes providing a mesh representing the terrain. Providing a mesh representing the terrain has been described above and will not be described further. The contributor calculation method further includes providing polylines on the mesh.
[0137] A polyline is a line formed by the vertices of a mesh and the edges of the mesh, each connecting two of said vertices. Providing a polyline may include defining a polyline on the mesh, for example by graphical user interaction. For example, the mesh may be displayed on a computer display and a user may define a line by graphically interacting with the display, for example using a touch or haptic device. The user may, for example, draw a line or select the vertices and / or edges of the line. Alternatively, the polyline may already be defined on the mesh when the mesh is provided. In such a case, the polyline is provided with the mesh. The polyline may represent a construction on a terrain, which may be a construction terrain. For example, the polyline may represent a road, a railway, a channel, a building, or a mine.
[0138] The contributor calculation method further includes calculating contributors of the polylines. As explained above, a contributor is a set of mesh points to which water necessarily flows toward the polyline points. The polylines may be connected and / or open or closed. Contributors are calculated in either case, making the contributor calculation method robust.
[0139] The contributor computation includes modifying the mesh by determining, based on the polyline, a trench under the polyline. In other words, the modification results in a modified mesh that is identical to the provided mesh except for the polyline, which is replaced by the trench under the polyline. In an example, modifying the mesh includes converting (e.g., deforming, mapping) the polyline into a trench, for example, by continuously bending the polyline. For example, continuously bending the polyline may include lowering the elevation coordinates of the points of the polyline such that there is only one elevation local minimum along the trench and the points of the trench are all lower than the original mesh vertices. For example, if the polyline has 2N points, the elevation coordinates on the trench decrease from point 0 to point N-1, then increase from point N to point 2N-1. The trench is a portion of the mesh that has substantially the shape of a trench, such as a U-shape or V-shape under the polyline.
[0140] In the examples, each point of the polyline corresponds to a point of the trench. In other words, the modification consists in mapping the polyline onto the trench. For example, the mapping may consist in that the vertices belonging to the provided mesh are mapped to the corresponding vertices of the trench by the vertices belonging to the modified mesh. In these examples, each point of the trench has a lower elevation than the corresponding point on the polyline. In other words, the mapping reduces the elevation of the points (e.g., vertices) of the polyline so as to convert the polyline into a trench. This is a simple, robust and efficient way of determining the trench.
[0141] An example of mesh modification is now described. In this example, the modification consists in applying a mapping to the vertices of a polyline, which reduces the elevation of these vertices and converts them into trench vertices, thereby converting the polyline into a trench. In this example, the modification is performed by executing the following algorithm, which can be called the "Modify Elevations of Polyline Points" algorithm, and is described by the following pseudocode:
number
[0142] In the example, only one of the points of the trench is the local minimum in altitude. In other words, the mesh modification results in only one point (e.g., one vertex) of the trench having the minimum altitude among all points (e.g., vertices) of the trench. This ultimately improves the robustness of the watershed segmentation computation and the identification of watersheds containing the mesh.
[0143] The computation of the polyline contributors further comprises computing a watershed segmentation of the terrain based on the modified mesh. In other words, the computation of the watershed segmentation takes the modified mesh as input and outputs a watershed segmentation of the terrain from the input modified mesh. The computation of the watershed segmentation may be performed according to any method for computing a watershed segmentation based on a mesh. In an example, the computation of the watershed segmentation comprises applying a watershed segmentation method as described above. In such a case, the computation of the watershed segmentation benefits from the aforementioned improvements in accuracy, efficiency, and robustness provided by the watershed segmentation method.
[0144] In the examples, the calculation of the watershed segmentation includes calculating an initial watershed segmentation of the terrain based on the modified mesh, for example by applying a watershed segmentation method. In these examples, the calculation of the watershed segmentation further includes performing a regularization of the calculated initial watershed segmentation, for example by applying a regularization method. This allows the identification of watersheds to be performed on the regularized (i.e., filtered) watershed segmentation initially calculated based on the modified mesh. This in fact removes watershed segmentation watersheds that are very small, for example with very small depth, area, and / or volume values, from the initial watershed segmentation watersheds, as they correspond to numerical artifacts and / or noise in the calculation of the initial watershed segmentation and / or as they are not relevant from a civil engineering point of view. Finally, the identification of watersheds constituting trenches is improved, since it is ensured that the identified watersheds do not correspond to watersheds that are so small that they are discarded and not identified for the reasons mentioned above. Furthermore, the regularization in the examples results in identified watersheds that are larger than those identified without regularization. These examples thereby result in a calculated contributor that is larger and / or more relevant to civil engineers, which is sometimes referred to as the "enhanced" contributor.
[0145] In either case, the calculation of the watershed segmentation results in the modified mesh being segmented into portions each representing a watershed of the calculated watershed segmentation. The trench is included in one watershed that has the mesh point as an outlet because of its shape (e.g., because the trench contains only one altitude local minimum). The calculation of the contributors further includes identifying, on the modified mesh, a watershed that contains the trench based on the calculated watershed segmentation. In other words, the identification search between the watersheds of the calculated watershed segmentation searches for one watershed that contains the trench and has the mesh point as an outlet, and identifies this watershed. In yet another word, the identified watershed that constitutes the trench is one watershed that contains the trench and has the mesh point as an outlet. In an example, only one of the trench points is an altitude local minimum, and the identified watershed has this altitude local minimum as an outlet.
[0146] The identified watershed corresponds to a contributor. This means that the identified watershed belonging to the modified mesh corresponds to a part of the provided mesh that represents a contributor. In particular, the identified watershed is composed of (e.g., is the union of) a trench and another part of the deformed mesh. The other part is identical in the modified mesh and in the provided mesh. In this case, the contributor is composed of (e.g., is the union of) a polyline and the other part. In an embodiment, the calculation of the contributor further comprises modifying the watershed by converting the trench back to a polyline. Since the trench is deformed back to a polyline, the modified watershed resulting from this modification is a contributor. In other words, the modified watershed is made from a polyline and the other part, and is thereby a contributor. Reversing the modification of the mesh that resulted in determining the trench based on the polyline means converting the trench back to a polyline. For example, if a polyline has been mapped onto a trench with the modifications described above, inverse transformation means applying the inverse mapping to the trench to map it back onto the polyline.
[0147] An example of the computation of contributors is discussed here. In this example, the mesh is a 3D triangle mesh. In this example, the computation of contributors is performed by executing the following algorithm, which is described by the following pseudocode:
number
[0148] 26 to 36 show the above algorithm and will now be explained.
[0149] Figure 26 shows the terrain and a polyline 260 on the terrain. Figure 27 shows the determined trenches 270. Figure 28 shows the identified watersheds 280 of the watershed segmentation calculated on the modified mesh. Figure 29 shows the calculated contributors 290 of the polyline, extracted by recovering the coordinates.
[0150] Figure 30 shows the terrain and a polyline 300 representing an alignment on the terrain. Figure 31 shows a cross-section of a trench 310 on a modified mesh of the terrain. Figure 32 shows the modified mesh. FIG. 32 shows an identified watershed 320 (circled in FIG. 32) on the calculated watershed segmentation of the line. The outlet of this identified watershed is located on trench 310 of FIG. 31. FIG. 33 shows the calculated contributors 330 of polyline 300 of FIG. 30.
[0151] As mentioned above, the calculation of the watershed segmentation may include calculating an initial watershed segmentation according to the watershed segmentation method and performing regularization of the initial watershed segmentation by applying the regularization method. The resulting calculated segmentation still includes the watershed whose outlet is on the trench, which gives rise to an expanded contributor (topologically filtered contributor) as a result of the topological filtering (i.e., regularization). This means that any expansion path starting from a point included in the expanded contributor will cross the input polyline. FIG. 34 shows the expanded contributor of the polyline 300 of FIG. 30 calculated in this way. FIG. 34 shows the expanded contributor for several values of the depth threshold used when performing the regularization method: 0.5 m (340, red), 1 m (350, dark pink), and 2 m (360, light pink).
[0152] The above algorithm is particularly efficient and accurate. In particular, it computes the polyline contribution using a single operation as described above, and is not affected by the complexity of the polyline (only the number of critical points matters in the example). The above algorithm is particularly much more robust and efficient than methods that sample the polyline into points, compute the contributors for each point, and then compute the union of all of these contributors. The result of the Boolean union of all the contributors of the sample points is not actually equal to the contributor of the polyline. In fact, it is possible to find points from the Boolean union that flow towards the polyline. This is illustrated in Figures 35 and 36. Figure 36 shows the polyline contributors computed by the above algorithm. Figure 36 shows the combination of the contributors of the sample points on the polyline.
[0153] The contributor calculation method may further include displaying the polyline contributors on a computer display, where displaying the contributors enables performing civil engineering analysis and / or one or more physical actions based on the displayed contributors, as described above.
[0154] The watershed segmentation method, the regularization method, and the contributor calculation method are computer-implemented methods.
[0155] This means that the steps of the method (or substantially all steps) are performed by at least one computer or any system. Thus, the steps of the method are performed by a computer, possibly fully automatically or semi-automatically. In an example, the triggering of at least some of the steps of the method may be performed via user / computer interaction. The level of user / computer interaction required depends on the level of automation expected and can be balanced against the need to implement the user's wishes. In an example, this level may be user-defined and / or predefined.
[0156] A typical example of a computer implementation of the method is to execute the method using a system adapted for this purpose. The system may comprise a processor coupled to a memory and a graphical user interface (GUI), the memory having recorded thereon a computer program comprising instructions for executing the method. The memory may also store a database. The memory is any hardware adapted for such storage, and may optionally comprise several physically distinct parts (e.g. a part for the program and possibly a part for the database).
[0157] FIG. 37 shows an example of a system where the system is a client computer system, eg, a user's workstation.
[0158] The client computer in this example comprises a central processing unit (CPU) 1010 connected to an internal communications bus 1000, and a random access memory (RAM) 1070 also connected to the bus. The client computer is further provided with a graphical processing unit (GPU) 1110 associated with a video random access memory 1100 connected to the BUS. The video RAM 1100 is also known in the art as a frame buffer. A mass storage controller 1020 manages access to mass storage devices such as a hard drive 1030. Mass memory devices suitable for tangibly embodying computer program instructions and data include all forms of non-volatile memory including, by way of example, semiconductor memory devices such as EPROM, EEPROM, and flash memory devices, magnetic disks such as internal hard disks and removable disks, magneto-optical disks, and CD-ROM disks 1040. Any of the foregoing may be supplemented by or incorporated in specially designed ASICs (application specific integrated circuits). A network adapter 1050 manages access to a network 1060. The client computer may also include a cursor control device, a haptic device 1090 such as a keyboard. A cursor control device is used in the client computer to allow a user to selectively position a cursor at any desired location on the display 1080. In addition, the cursor control device allows a user to select various commands and input control signals. The cursor control device includes a number of signal generators for inputting control signals to the system. Typically, the cursor control device may be a mouse, with the buttons on the mouse being used to generate the signals. Additionally or alternatively, the client computer system may include a touch pad and / or a touch screen.
[0159] Any computer program of the present disclosure may include computer executable instructions, which include means for causing the above system to perform one or more of the watershed segmentation method, the regularization method, and / or the contributor calculation method. The program may be recordable in any data storage medium, including the memory of the system. The program may be implemented, for example, in digital electronic circuitry, or in computer hardware, firmware, software, or in combinations thereof. The program may be implemented as an apparatus, for example, an article of manufacture tangibly embodied in a machine-readable storage device for execution by a programmable processor. The steps of the method may be executed by a programmable processor executing a program of instructions to perform the functions of the method by operating on input data and generating output. Thus, the processor is programmable and may be coupled to receive data and instructions from, and transmit data and instructions to, the data storage system, at least one input device, and at least one output device. The application program may be implemented in a high level procedural or object oriented programming language, or in assembly language or machine language as appropriate. In either case, the language may be a compiled or interpreted language. The program may be a full installation program or an update program. Application of the program on the system will in any event result in instructions for carrying out one or more of the watershed segmentation method, the regularization method, and / or the contributor calculation method.
Claims
1. A computer-implemented method for civil engineering, which is automatically performed by a computer, comprising: providing a watershed segmentation of the terrain, said watershed segmentation comprising a plurality of watersheds, said provided watershed segmentation being a watershed segmentation resulting from a previous run of watershed segmentation applied to a mesh representing the terrain; merging a first basin of the watershed segmentation that satisfies a smallness criterion with a second basin downstream of the first basin, where a basin satisfies the smallness criterion if for that basin a quantification of the smallness of the basin is less than a predefined threshold; The method includes:
2. the watershed segmentation includes, for each watershed, data representing the trajectory of water within the watershed; The merging includes calculating, for each first watershed merged with a second watershed, data representative of a water trajectory between the first watershed and the second watershed; Calculation of data representative of a water trajectory between the first watershed and the second watershed is based on first data representative of a water trajectory in the first watershed and second data representative of a water trajectory in the second watershed; The first data includes data representing a first path from an outlet of a first watershed to a spillway of a first watershed, and the second data includes data representing a second path from a spillway of the first watershed to an outlet of a second watershed, and calculating data representing a water trajectory between the first watershed and the second watershed includes calculating a connection between the first path and the second path. The method of claim 1.
3. The merging step includes: determining an oriented graph having nodes and arcs, each node representing a watershed and each arc representing a connection between a first watershed verifying the smallness criterion and a second watershed downstream of the first watershed, the arcs being oriented from a first node representing the first watershed to a second node representing the second watershed; merging basins corresponding to nodes of the same connected component of the directed graph; The method according to claim 1 or 2, comprising:
4. The step of determining an oriented graph comprises: searching the basins according to a compactness order that rewards compactness of the basins; for each first basin found that satisfies the smallness criterion, generating an arc between a node representing the first basin and a node representing a second basin downstream of the first basin; Including, The arc is directed from a node representing a first basin to a node representing a second basin. The method according to claim 3.
5. Quantifying the smallness of the watershed includes one or more of: quantifying the depth of the watershed; quantifying the area of the watershed; and / or quantifying the volume of the watershed.
5. The method according to any one of claims 1 to 4.
6. The terrain is a terrain of a man-made structure.
6. The method according to any one of claims 1 to 5.
7. A computer program comprising instructions for carrying out the method according to any one of claims 1 to 6.
8. Apparatus including a data storage medium having recorded thereon a computer program according to claim 7.
9. The apparatus of claim 8 , further comprising a processor coupled to the data storage medium.
Citation Information
Patent Citations
Generation system for drainage area information
JP2003066161A
Determining maximally stable external regions using a parallel processor
US20140286579A1