#1 Thu 24 September 2020 11:52
- GlaDal
- Participant assidu
- Date d'inscription: 30 Aug 2013
- Messages: 1012
QGIS 3.14: Creation/Selection point amont aval ligne
Bonjour,
D'avance désolé pour le sujet qui a certainement été traité déjà dans le forum mais en faisant des recherches dessus, je ne trouve pas ce que je souhaite faire.
J'ai créé des points aux extrémités de mes lignes. Je cherche maintenant à extraire (ou à sélectionner) le point situé au début et/ou à la fin de ma ligne. Quelle est la bonne expression pour ça ?
D'avance merci,
Hors ligne
#2 Fri 25 September 2020 16:10
- sylvainSIG
- Participant assidu
- Lieu: Moissac
- Date d'inscription: 29 Nov 2018
- Messages: 265
Re: QGIS 3.14: Creation/Selection point amont aval ligne
Bonjour,
Les points et les lignes sont deux couches différentes. Tu cherches à extraire quoi de tes points ? Une donnée provenant des lignes ?
Je comprend pas très bien parce qu'une ligne n'a pas de début ni de fin. Est ce que ça se rapporte à un raster, à une donnée particulière (altitude par exemple.
Si tu cherches à relier des points entre eux, je te conseille d'utiliser "Matrice des distances" dans "Analyse vectorielle" de la Boîte à Outils.
https://www.idgeo.fr/qgis-grass-comment … e-logique/
Bien à toi
Sylvain
Hors ligne
#3 Mon 28 September 2020 09:42
- GlaDal
- Participant assidu
- Date d'inscription: 30 Aug 2013
- Messages: 1012
Re: QGIS 3.14: Creation/Selection point amont aval ligne
Désolé, je n'ai pas été clair.
Code:
Je comprend pas très bien parce qu'une ligne n'a pas de début ni de fin.
Bon, là il faut que je révise car pour moi une ligne avait bien un début et une fin qui se matérialise par le premier et le dernier noeud d'une ligne numérisée qu'on retrouve dans les expressions start_point() et end_point() qu'on peut retrouver dans une expression du type :
Code:
attribute( get_feature( 'Name_of_point_layer' , 'WKT', geom_to_wkt(start_point($geometry))) , 'ID_of_point_attribute')
Dans mon cas, je ne cherche pas à récupérer des données de mes points sur mes lignes (comme le fait la dernière expression en se basant sur les coordonnées WKT des noeuds des "débuts" et "fins" de ligne)
Je souhaite extraire de mes lignes soit les noeuds de "départ" (premier point numérisé) soit les noeuds de fin de ligne (dernier point numérisé). Mes lignes étant numérisées dans le sens d'écoulement, le noeud de départ correspond au point haut et le noeud de fin correspond au point bas (on parle évidemment d'altitude).
L'objectif est de générer une géométrie ponctuelle (peut importe ses attributs) et, deuxième étape, de conserver ou non ses points en fonction de leur localisation (requête spatiale d'intersection entre couches).
En fait, je suis en train de mettre en place un modèle de traitement qui assure la cohérence géométrique de mon réseau en fonction de mes différents projets. Je sais que des extensions font déjà ça (Qgep notamment) mais je ne suis pas en capacité de les mettre en place pour l'instant (n'ayant aucune connaissance en base de données).
Hors ligne
#4 Mon 28 September 2020 10:00
- SANTANNA
- Moderateur
- Lieu: Angers
- Date d'inscription: 18 Jan 2008
- Messages: 3881
Re: QGIS 3.14: Creation/Selection point amont aval ligne
Bonjour,
Je souhaite extraire de mes lignes soit les noeuds de "départ" (premier point numérisé) soit les noeuds de fin de ligne (dernier point numérisé).
end_point( $geometry ) renvoie, dans ton cas, la géométrie du nœud aval. Et au cas où, il y a un algorithme pour extraire lesdites extrémités d'une ligne (ou segment, pour satisfaire Sylvain ). J'ai peur de ne pas bien comprendre la suite du problème.
Hors ligne
#5 Mon 28 September 2020 10:17
- GlaDal
- Participant assidu
- Date d'inscription: 30 Aug 2013
- Messages: 1012
Re: QGIS 3.14: Creation/Selection point amont aval ligne
Bonjour SANTANNA, merci pour ton aide !
J'utilise l'algorithme "V.to.points" de GRASS pour générer mes points aux extrémités de mes segments (!). Mon problème réside, à ce moment là, à sélectionner le point qui intersecte le noeud "amont" (start_point) ou aval (end_point) de mon segment.
A la base, je pensais pouvoir me passer de l'algorithme "v.to.points" et de créer les géométries uniquement avec une expression ce qui m'aurait évité de faire des intersections entre une couche de points et une couche de lignes (rendu possible par la création de tampon sur mes points pour pouvoir faire mes intersections. Unique subterfuge que j'ai trouvé pour le faire mais je rallonge mes temps de calculs dans mon modèle de traitements). Mais ça reste un problème subsidiaire. Ma priorité, pour l'instant, c'est bien de sélectionner les points "amont" et "aval".
Hors ligne
#6 Mon 28 September 2020 10:55
- Renaud
- Membre
- Lieu: Ploemeur (56)
- Date d'inscription: 9 Mar 2006
- Messages: 2315
Re: QGIS 3.14: Creation/Selection point amont aval ligne
Bonjour,
Vous cherchez à recomposer le graphe 'from node to node'
En mode simple :
Dans la table attributaire de vos lignes, ajoutez 4 champs, renseignés par formule :
- xfrom=x(start_point($geometry))
- y from
- xto
- yto
Vous passez tout ça dans une base de données, ou dans Excel.
Vous mettez à la suite les paires de colonnes 'xyfrom' et 'xyto', et suppression des doublons pour obtenir la liste des points
Ensuite, une jointure entre ces points et la table des lignes, et hop, vous avez votre graphe 'from-node-to-node'
Sur un réseau de cours d'eau à échelle un peu fine, vous aurez des confluences, mais aussi des diffluences.
Egalement dans le milieu naturel tout les arcs ne sont pas orientés (influence des marées, zones humides, canaux de navigation, etc)
La nature s'assure que l'on ne s'ennui pas
Renaud Mouche
Hors ligne
#7 Mon 28 September 2020 11:06
- GlaDal
- Participant assidu
- Date d'inscription: 30 Aug 2013
- Messages: 1012
Re: QGIS 3.14: Creation/Selection point amont aval ligne
Bonjour Renaud,
Ok, je vais regarder d'un peu plus près cette piste.
Pour info, je viens de découvrir l'algorithme "extraire des points spécifiques" qui me permet également d'avancer sur mon modèle de traitements.
Hors ligne