#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