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 Wed 21 March 2018 13:11

manon.laeron
Juste Inscrit !
Date d'inscription: 22 Dec 2017
Messages: 1

QGIS: Relation de type n-n

Bonjour,

Pour dessiner un réseau de fibre optique sur Qgis, je souhaite créer un boitier, puis dessiner un câble qui l'intersecte et ensuite renseigner la colonne id_cable de la couche des boitiers, celle-ci me proposant une liste déroulante des câbles qui intersectent le boitier sur lequel je clique.

J'ai créé ma liste sur Postgres grâce à une vue:
CREATE OR REPLACE VIEW bvs.liste_id_cable AS
SELECT concat(ebp.id_ebp, cable.id_cable) AS id,
    cable.id_cable AS cable_id,
    ebp.id_ebp AS ebp_id,
    ebp.geom
   FROM bvs.cable,
    bvs.ebp
  WHERE st_distance(cable.geom, ebp.geom) < 5::double precision;

Cette table contient bien les données souhaitées.

Dans les propriétés de la couche des boitiers sur Qgis > Champs > Choix de Valeur relationnelle pour le champ id_cable.
Dans Valeur relationnelle, je charge ma couche liste_id_cable, colonne clé "id", colonne de valeurs "id_cable".

Dans Filtrer l'expression au dessous, je ne parviens pas à faire en sorte que lorsque je clique sur un boitier, il ne me propose dans la liste déroulante que les câbles liés au boitier sur lequel j'ai cliqué. Pour l'instant il me propose tous les câbles qui intersectent un boitier, quelque il soit.

J'ai essayé les expressions suivantes sans succès :
- intersects( geom , $geometry)
-   geomintersects( 'liste_id_cable', 'id_cable')

Auriez-vous une solution ? Merci d'avance !

Hors ligne

 

Pied de page des forums

Powered by FluxBB