Nous utilisons des cookies pour vous garantir la meilleure expérience sur notre site. Si vous continuez à utiliser ce dernier, nous considèrerons que vous acceptez l'utilisation des cookies. J'ai compris ! ou En savoir plus !.
banniere

Le portail francophone de la géomatique


Toujours pas inscrit ? Mot de passe oublié ?
Nom d'utilisateur    Mot de passe              Toujours pas inscrit ?   Mot de passe oublié ?

Annonce

Printemps des cartes 2024

#1 Fri 19 January 2018 07:59

Allan
Juste Inscrit !
Date d'inscription: 18 Jan 2018
Messages: 1

QGIS: Référencer les nœuds amont/aval d'une ligne

Bonjour tout le monde,

Je dispose d'une couche de ligne et d'une couche de point.
Chaque ligne possède un nœud amont et aval (référencer dans la couche point).
Je souhaite faire apparaître dans ma table attributaire l'ID des nœuds amont et d'autre part l'ID des nœuds aval.

C'est à dire:

Couche de point
ID
1
2
3
4
5
6

Couche ligne
ID    Nœud amont     Nœud aval
1              1                      2
2              3                      4
3              5                      6

Après de multiples recherches impossible de trouver une solution "directe". Sans passer par de multiples étapes.
Existe t-il une méthode, à partir du calculateur d'expression par exemple, pour obtenir facilement ce type de résultat?

Merci par avance,

Hors ligne

 

#2 Fri 19 January 2018 12:05

Ratonlaveur
Participant occasionnel
Date d'inscription: 25 Aug 2017
Messages: 40

Re: QGIS: Référencer les nœuds amont/aval d'une ligne

Bonjour
J'ai testé avec succès la dernière réponse/méthode exposée sur cette page
https://gis.stackexchange.com/questions … gis/208893

Hors ligne

 

#3 Fri 19 January 2018 15:51

MathieuR
Membre
Lieu: aix-en-provence
Date d'inscription: 16 Feb 2009
Messages: 1690
Site web

Re: QGIS: Référencer les nœuds amont/aval d'une ligne

Bonjour,

Cela est possible. Mais il faut dans un premier temps, pour plus de simplicité, configurer une relation entre la couche de lignes et de points.

Pour cela, il faut rajouter une clé étrangère à la couche de points contenant l'id de la ligne à laquelle chacun appartient : idligne. Il doit être possible de le récupérer, si vous ne l'avez pas déjà, par une requête d'intersection.

Vous auriez alors deux tables de structures suivantes :
points :
- idpoint
- idligne

lignes :
- idligne

Ensuite, il faut configurer une relation entre lignes et points : projet > Propriétés du projet, par ex. appelé myrelation
Voir https://docs.qgis.org/2.14/fr/docs/user … -relations

Enfin, on peut créer deux champs virtuels dans lignes de nom idamont, idaval qui :
pour le premier aura comme code :

Code:

relation_aggregate(relation:='myrelation',aggregate:='q1',expression:="idpoint")

Pour le second :

Code:

relation_aggregate(relation:='myrelation',aggregate:='q3',expression:="idpoint")

q* fait référencer aux quantiles. Du coup, sur deux valeurs, le premier quantile est la valeur minimale, le second la valeur maximale.

edit : je n'avais pas vu la réponse du dessus qui convient aussi, sans doute, quoiqu'elle semble plus complexe


geodata au cerema et petits billets en géomatique

Hors ligne

 

Pied de page des forums

Powered by FluxBB