Il existe différentes implémentations possibles, mais la plupart des procédures démarrent à partir d'une grille et non à partir d'un TIN.
La plus simple est probablement la procédure D8: vous calculez la direction où l'eau coulerait. Il y a 8 possibilités, les 8 cellules qui sont à côté d'une cellule de grille centrale. Vous pouvez d'abord calculer ces directions, puis comment les cellules sont connectées, et enfin vous pouvez dessiner les lignes). Une implémentation facile se trouve dans SAGA, il se lit presque comme un pseudocode:
http://saga-gis.svn.sourceforge.net/viewvc/saga-gis/trunk/saga-gis/src/modules_terrain_analysis/terrain_analysis/ta_channels/D8_Flow_Analysis. cpp? revision = 911 & view = markup
Bien que très facile, ce n'est pas très réaliste: vous n'aurez pas de flux commençant dans chaque cellule. Des algorithmes plus avancés ferment généralement d'abord les puits (surtout si vous avez un DEM détaillé), puis calculent la zone de captage par cellule, c'est-à-dire le nombre de cellules qui contribuent à l'eau d'une cellule particulière, puis utilisent un seuil pour déterminer si un ruisseau est présent.
SAGA GIS met en œuvre un grand nombre de ces méthodes de zone de chalandise, vous pouvez en trouver une description dans ce manuel http://sourceforge.net/settings/mirror_choices?projectname=saga-gis&filename=SAGA%20-%20Documentation/SAGA%20Documents/ SagaManual.pdf
Il a été écrit pour une ancienne version de SAGA GIS, mais la description des algorithmes est encore assez précise, et je vais le copier ici pour référence rapide (c'est autour de la page 120), car il est open source, vous pouvez vérifier le détails d'implémentation en regardant le code.
- Déterministe 8 (D8): Le classique. Le flux va du centre d'une cellule au centre d'une (et d'une seule) des cellules environnantes. Les directions d'écoulement sont donc limitées à des multiples de 45o, ce qui est la principale raison de la plupart des inconvénients de la méthode. (O'Callaghan et Mark 1984).
- Rho8: idem que ci-dessus mais avec une composante stochastique qui devrait l'améliorer. La direction du flux est déterminée par un argument aléatoire qui dépend de la différence entre l'aspect et la direction des deux cellules voisines adjacentes. Pas très utile. . . (Fairfield et Leymarie 1991).
- Infini déterministe (D∞): le flux va d'une cellule à deux cellules contiguës environnantes, considérant ainsi un flux bidimensionnel et surmontant les inconvénients de la méthode D8. (Tarboton 1998).
- Braunschweiger Digitales Reliefmodell: Un autre algorithme à directions d'écoulement multiples. Le flux est partagé entre la cellule environnante dont l'orientation est la plus proche de l'aspect de la cellule centrale et ses deux cellules adjacentes. (Bauer, Bork et Rohdenburg 1985).
- FD8 (trouvé dans SAGA simplement sous la forme de directions d'écoulement multiples): algorithme de routage de flux bidimensionnel dérivé de D8 (Quinn et al 1991).
- Algorithme de routage cinématique (KRA). Un algorithme de traçage de flux unidimensionnel. Flow se comporte comme une balle qui descend le DEM, sans restreindre sa position au centre des cellules. (Lea 1992).
- Réseau de modèles numériques d'élévation (DEMON): le plus complexe. Un algorithme de traçage de flux bidimensionnel. Plutôt long. (Costa-Cabral et Burgess 1994).
Encore plus de modèles ont été ajoutés récemment:
- Triangular Multiple Flow Direction - Seibert, J. / McGlynn, B. (2007): «Un nouvel algorithme triangulaire à plusieurs directions d'écoulement pour calculer les zones de pente ascendante à partir de modèles d'élévation numériques maillés», Water Resources Research, Vol. 43, W04501. Cela peut être intéressant pour vous car il peut également fonctionner directement sur un TIN
- La méthode du flux massique (MFM) pour le calcul basé sur DEM de l'accumulation de flux, comme proposé par Gruber et Peckham (2008). Gruber, S., Peckham, S. (2008): Paramètres et objets terre-surface en hydrologie. Dans: Hengl, T. et Reuter, HI [Eds.]: Geomorphometry: Concepts, Software, Applications. Developments in Soil Science, Elsevier, Bd.33, S.293-308.
- L'algorithme latéral: http://watershed.montana.edu/Hydrology/Home_files/2010WR009296.pdf et son code est également sur son site Web: http://thomasgrabs.com/side-algorithm/
Si vous avez accès à Spatial Analyst dans ArcGIS, vous disposez d'une série d'outils pour calculer les chemins de flux. Un workflow complet est fourni dans la référence ESRI, mais le workflow typique comprend:
Bien sûr, il existe de nombreux articles universitaires décrivant différentes méthodes, mais cette méthode est facile pour tous ceux qui ont accès à Spatial Analyst.
la source
Dans les modèles d'élévation numériques basés sur une grille, des déterminations fiables des lignes de pente sont fournies par la méthode D8-LTD:
Orlandini, S. et G. Moretti (2009), Détermination des voies d'écoulement de surface à partir des données d'élévation maillées, Water Resour. Res., 45 (3), W03417, doi: 10.1029 / 2008WR007099.
Orlandini, S., G.Moretti, M. Franchini, B.Aldighieri et B.Testa (2003), Méthodes basées sur les trajectoires pour la détermination des directions de drainage non dispersives dans les modèles d'élévation numériques basés sur une grille, Water Resour. Res., 39 (6), 1144, doi: 10.1029 / 2002WR001639.
Dans les modèles d'élévation numériques basés sur les contours, les lignes de pente peuvent être déterminées automatiquement en résolvant des structures topographiques complexes en utilisant le modèle (complexe) décrit dans l'article suivant:
Moretti, G. et S. Orlandini (2008), Délimitation automatique des bassins de drainage à partir des données d'élévation des contours à l'aide de techniques de construction de squelettes, Water Resour. Res., 44 (5), W05403, doi: 10.1029 / 2007WR006309.
la source
Semble que ce sera tout à fait le travail d'écrire un outil à partir de zéro. ESRI y est depuis des décennies et ils n'ont toujours pas le droit.
AutoCAD (Civil 3D) peut le faire en utilisant un TIN. Je ne suis pas au courant de ce qui se passe dans les coulisses, mais dans ArcGIS, l'identification des réseaux de flux est gérée via une analyse raster.
En bref une trame de DEM d'entrée (où chaque cellule a X, Y, les valeurs de z) est utilisée comme entrée et un algorithme calcule citant le « débit cumulé (comme le poids accumulé) de toutes les cellules qui se déversent dans chaque cellule de pente descendante dans la trame d'entrée. " Le produit est un raster où chaque cellule a une valeur d'accumulation de flux. Pour identifier le réseau de cours d'eau, vous isolez ensuite les cellules de haut débit qui sont les zones de "flux concentré". Il existe d'autres considérations telles que le facteur de poids facultatif, le DEM d'entrée hydrologiquement correct, etc.
Je vais juste jeter quelques idées: En termes de "mécanique" d'un tel algorithme, je suppose que cela pourrait être assez simple; récursivement et pour chaque cellule, déterminez l'emplacement et l'élévation de toutes les cellules environnantes et, en fonction de son élévation, additionnez le nombre de cellules qui y circulent. Quant au TIN, vous pourriez probablement construire une ligne à partir de deux points sur chaque triangle (sommet le plus haut et le plus bas), puis relier tous ces éléments en un réseau.
la source