Atteindre cet objectif est quelque peu une tâche fondamentale dans le SIG, mais la méthode dans QGIS n'est peut-être pas triviale. Votre meilleure chance est d'utiliser la r.walk
fonction de GRASS , qui crée une surface de coût anisotrope (dem + pente + autres facteurs).
Tout d'abord, vous devez créer une surface de friction en entrée r.walk
. Dans votre cas, il peut s'agir d'un raster à valeur unique (1.0) correspondant à l'étendue de votre DEM. Vous pouvez le créer r.mapcalculator
avec la formule: A*0+1
où A est votre DEM.
Ensuite, vous devez sélectionner un ensemble de points de départ dans votre CSV. Ce sont les points, la surface de coût cumulée sera calculée à partir de. Vous devez créer une surface de coût individuelle à partir de chaque point de départ. Il peut être judicieux de définir les points de fin associés à chaque point de départ de cette étape (dans les couches individuelles bien sûr). Après, vous pouvez exécuter r.walk
avec les entrées créées. Les points de départ peuvent être dans une seule couche, vous pouvez les parcourir à l'aide de la flèche verte dans la boîte de dialogue.
Maintenant, dans un cas idéal, vous avez les surfaces de coût et les points de fin pour chaque surface de coût. En théorie, vous pourriez trouver les chemins les moins coûteux avec r.drain
, mais pour moi, cela s'est terminé par une erreur (python n'a pas pu importer la bibliothèque QgisRaster). Si vous exécutez le même problème, vous pouvez utiliser l'algorithme "Seast Cost Paths" de SAGA. Il créera un point et un calque de ligne pour chaque point d'arrivée avec la surface de coût (utilisez à nouveau le bouton d'itération). Une fois que vous avez toutes les lignes, vous pouvez les fusionner en un seul fichier de formes avec l'outil "Fusionner les couches de formes" de SAGA.
Cette méthode peut être très lente avec l'incrémentation de points, donc si vous en avez beaucoup, vous pouvez essayer d'automatiser la méthode avec python. Il faudra encore beaucoup de temps pour calculer (en particulier les surfaces de coût), mais vous n'avez pas à créer manuellement des tonnes de couches de points de fin.