Pages: 1
- Sujet précédent - QGIS: Recup attributs lignes sur des points a l aide de WKT - Sujet suivant
#1 Wed 17 June 2020 20:19
- Axel S
- Participant occasionnel
- Date d'inscription: 23 Apr 2019
- Messages: 18
QGIS: Recup attributs lignes sur des points a l aide de WKT
Bonjour,
Il y a quelques temps j'avais demandé comment récupérer l'ID des noeuds situes au début d une couche ligne
Et après test et conseil j'ai pu trouver la solution suivante :
couche points :un nouveau champ 'WKT' texte avec l'expression geom_to_wkt($geometry)
couche ligne :
nouveau champ : attribute( get_feature('points','WKT', geom_to_wkt(start_point($geometry) )),'ID')
J'avais réussi à choper l'ID des point situés au début de la ligne puis l'ID de ceux à la fin de la ligne.
Maintenant j'essaye de faire l'inverse, à savoir récupérer des attributs de la ligne dans une couche point
Admettons que la ligne possède les attributs suivants : A1 correspondant au point A au début de la ligne et B1 correspondant au point B situé à la fin de la ligne.
Comment récupérer la données A1 pour le point A et B1 pour le point B ?
J'ai essayé avec la méthode précédente mais l'inverse me parait plus compliqué sachant que je ne sais pas comment un point peut différencier une ligne d'une autre et récupérer la bonne info.
Des idées ?
Hors ligne
#2 Wed 17 June 2020 21:57
- JD
- Moderateur
- Date d'inscription: 8 Aug 2013
- Messages: 726
Re: QGIS: Recup attributs lignes sur des points a l aide de WKT
Bonsoir,
Voici un début de piste qui dépend grandement de votre donnée.
Je créerai deux champs dans votre couche ligne qu'on nommera
start_wkt et end_wkt avec les formules suivantes
Code:
geom_to_wkt( start_point($geometry)) geom_to_wkt( end_point($geometry))
et puis après pour votre point vous pouvez créer deux champs aussi avec deux formules :
Code:
attribute( get_feature('lignes', 'start_wkt', geom_to_wkt($geometry)), 'champs_a_recuperer') attribute( get_feature('lignes', 'end_wkt', geom_to_wkt($geometry)), 'champs_a_recuperer')
vous pouvez aussi récupérer tout d'un coup si vos lignes ne se touchent pas
Code:
coalesce( attribute( get_feature('lignes', 'start_wkt', geom_to_wkt($geometry)) , 'champs_a_recuperer' ), attribute( get_feature('lignes', 'end_wkt', geom_to_wkt($geometry)) , 'champs_a_recuperer' ) )
Mais ceci dépend de vos données
Hors ligne
#3 Thu 18 June 2020 09:12
- Axel S
- Participant occasionnel
- Date d'inscription: 23 Apr 2019
- Messages: 18
Re: QGIS: Recup attributs lignes sur des points a l aide de WKT
Merci ! Je ne savais pas que l'on pouvais récupérer la géométrie du début et fin de ligne, je vais essayer ces expressions sur mes données.
Bonne journée,
A S
Hors ligne
#4 Thu 03 November 2022 09:32
- PhilCAD64
- Participant occasionnel
- Date d'inscription: 26 Nov 2013
- Messages: 32
Re: QGIS: Recup attributs lignes sur des points a l aide de WKT
Bonjour,
Je l'avais utilisé la formule de liaison Ligne/Point, il y a quelques temps et le ratio était plutôt acceptable 10% d'échec.
Aujourd'hui le résultat est assez décevant 10 / 1200 retours corrects.
Je cherche d’où peut provenir le problème:
Je fais geom_to_wkt( start_point($geometry)) sur un attribut de la couche ligne.
Je fais geom_to_wkt($geometry) sur la couche point
Mais je constate des différences de coordonnée (arrondis)
ex:
Point (404187.63166153 6266271.32360449)
Point (404187.63166153 6266271.3236045)
j'ai testé avec round( 'WKT', 3) mais ça a pas l'air de fonctionner puisque c'est un texte. LOL
edit: il faut faire geom_to_wkt($geometry,3)
Dernière modification par PhilCAD64 (Thu 03 November 2022 10:21)
Hors ligne
#5 Thu 03 November 2022 10:05
- PhilCAD64
- Participant occasionnel
- Date d'inscription: 26 Nov 2013
- Messages: 32
Re: QGIS: Recup attributs lignes sur des points a l aide de WKT
à supprimer, merci.
Dernière modification par PhilCAD64 (Thu 03 November 2022 10:20)
Hors ligne
Pages: 1
- Sujet précédent - QGIS: Recup attributs lignes sur des points a l aide de WKT - Sujet suivant