#1 Mon 07 August 2023 11:48
- Claire276
- Juste Inscrit !
- Date d'inscription: 18 Apr 2023
- Messages: 5
QGIS: Attribuer la valeur d'une ligne a un point
Bonjour,
J'ai un réseau composé de ligne et de point chaque ligne et relié à un point amont et un point aval.
J'aimerai intégrer une valeur de la ligne dans la table attributaire des points la délimitant.
Est-ce possible ?
J'ai la formule pour intégrer des valeurs d'un point à une ligne (attribute( get_feature( NOM DE LA COUCHE','NOM DE L’ATTRIBUT(champ)', geom_to_wkt( start/ end_point( $geometry ),2)),'VALEUR D’ATTRIBUT à TROUVER')) mais pas l'inverse.
Cordialement, Claire
Hors ligne
#2 Mon 07 August 2023 14:54
- LPlante
- Participant occasionnel
- Date d'inscription: 17 Nov 2021
- Messages: 44
Re: QGIS: Attribuer la valeur d'une ligne a un point
Bonjour,
Il suffirait d'enlever le start/end_point propre au linéaire.
Un buffer sur le $geometry peut être utile en cas de léger décalage entre les points et lignes.
Attention, si les points intersectent 2 lignes jointes aux extremitées
Hors ligne
#3 Mon 21 August 2023 09:28
- Claire276
- Juste Inscrit !
- Date d'inscription: 18 Apr 2023
- Messages: 5
Re: QGIS: Attribuer la valeur d'une ligne a un point
Bonjour,
Je ne comprends pas j'aurai besoin d'avoir le nom de la canalisation amont et de la canalisation aval de chaque regard.
Si on retire Start et END alors je ne pourrai avoir qu'une seule valeur.
Avez-vous une formule à me montrer pour que je comprenne plus facilement comment on retrouve les lignes reliées au point ?
Hors ligne
#4 Tue 29 August 2023 21:20
- li_mgil
- Juste Inscrit !
- Date d'inscription: 15 Mar 2019
- Messages: 1
Re: QGIS: Attribuer la valeur d'une ligne a un point
Bonjour,
De mon côté j'ai adopté la solution suivante : je calcule une sorte d'ID en concaténant le x et y (arrondis à 1 décimale pour limiter les petites erreurs d'accrochage entre canas et regards) dans un champ virtuel de ma table.
Pour un ouvrage ça me fait une valeur du genre 612344.1,344556.2 (coordXY)
Pour les canas, je calcule de la même façon un startPoint et un endPoint avec les fonctions qui vont bien.
Tu dois commencer à voir le truc arriver. Si les canalisations sont connectées à tes regards, et bien tu vas avoir des valeurs en commun. L'air de rien, tu as créé des clés primaires et étrangères.
Reste plus qu'à créer deux petites relations dans les propriétés de projet. Une pour les canalisations entrantes en faisant correspondre coordXY et endPoint. L'autre pour les sortantes en faisant correspondre coordXY avec startPoint.
Si tu as qu'une cana en entrée et une en sortie, les jointures suffiront.
La solution est moins élégante qu'un gros calcul. Mais elle a le mérite d'être plutôt légère à gérer par le SIG sur beaucoup d'entités, et elle est plutôt robuste.
Hors ligne