Closed jeanpommier closed 3 years ago
liste_tronçons.zip les fichiers csv ne passent pas, donc j'ai zippé :) Je t'ai mis 23 stations avec en colonne: l'ID (indicatif, aucune signification particulière) le MINIBASSIN (pour que tu puisses aller chercher les bonnes données dans les netcdf le nom de la ville la plus proche (pour info, on a souvent pris des tronçons proches de stations insitu, donc si ça peut être affiché quelque part c'est bien, sinon pas de souci) les coordonnées Lon/Lat pour affichage du point où cliquer
Tu me dis si tu as besoin d'autre chose, si le format ne convient pas, je peux modifier à souhait...
Merci @AdrienOceanNext. J'ai remarqué que les coordonnées ne semblent pas correspondre exactement au centre des minibassins correspondants. C'est un choix ? Parce que sinon, on peut sans doute se contenter de ID, Minibassin et nom de la ville, et j'extrais les coordonnées du minibassin (milieu du troncon, ou bien coordonnées xcen, ycen données dans le shapefile), histoire d'éviter les redondances d'informations (coordonnées)
Oui c'est fait exprès, les centroides (xcen, ycen) ne tombant que très rarement proche des rivières à cause des formes biscornues des minibassins (et ça me semblait un peu contre-intuitif d'avoir des points loin des cours d'eau). Mais si tu peux prendre directement le milieu du tronçon ça me va très bien, tu peux ne pas considérer mes lon/lat
Ah, ok, xcen, ycen, c'est les barycentres. Oui, je peux prendre le limieu sur le tronçon, il y a une fonction postgis pour ça. OK, dans ce cas, je fais comme ça, le CSV sera donc encore plus simple. Et ça évite des erreurs potentielles où les coordonnées ne correspondraient pas au bon minibassin stations.csv.txt
Parfait, merci!
Ah, non, on dirait que ça ne va pas marcher. La plupart des tronçons sont des polylignes, en fait. Non jointives pour un bon nombre, de sorte que je ne peux même pas les fusionner facilement. C'est dommage ça.
@AdrienOceanNext Il a été généré comment, ce shapefile des minibassins ? (Drainage ACAP Niger)
Mince, une issue réouverte, bad news. C'est une sortie des plugins MGB, mais c'est utilisé uniquement pour de la visu donc pas forcément génant le côté non homogène/polylines... Si je t'en sors un identique mais avoir passé un algo "de morceaux multiples à morceaux uniques", ça peut t'aider?
ça te permettrait de ne sélectionner qu'une partie (par exemple la plus longue comme dans l'exemple):
J'ai dans PostGIS une fonction qui fait aussi ça, en principe (ST_LineMerge), mais elle n'arrive pas à tout rassembler, il reste des polylignes. Peut-être que QGIS s'en sort mieux, je n'ai pas essayé.
Après, je me demande si ça vaut le coup. L'alternative est un chouilla moins optimale, et consiste à utiliser les coordonnées que tu m'as fournies dans le CSV liste_troncons.csv
morceaux multiples à morceaux uniques, tu veux dire découper les polylignes en plusieurs blocs ? Si c'est ça, ça va rompre la contrainte d'unicité sur l'identifiant MINI, ça ne me plait pas.
oui c'est ça, il y aurait plusieurs morceaux pour une même ID, pas top. Je pense que tu peux partir sur ma solution, j'ai fait attention aux coordonnées et aux identifiants donc pour ces 23 stations il ne devrait pas y avoir de problème...
Ha, oui, c'est ce que fait la fonction "morceaux multiples à morceaux uniques" de QGIS, ça explose chaque polyligne en fragments simples. Ca ne me plait pas.
Je vais essayer de changer d'approche, j'ai peut-être une autre piste : je détermine le centroide (barycentre) du minibassin, puis je prend le point sur ce même minibassin, le plus proche du centroide. Ca t'irait ?
le plus proche du drainage? Oui c'est parfait :)
Ca a l'air de bien marcher. On prend ça ?
L'algo est simple : SELECT ST_ClosestPoint(geom, ST_Centroid(geom) FROM table;
(assez explicite : on prend le centroid, puis on l'utilise pour identifier le point de la polyligne le plus proche du centroide)
Go! parfait.
Je referme l'issue. Ca c'est de l'efficacité. Merci !
Merci à toi! Efficace indeed!
La liste des stations sera un sous-ensemble des tronçons de rivière (biefs). Il me faudrait un moyen de déterminer ce sous-ensemble. Une liste des IDs des biefs retenus (CSV par exemple) serait parfait