#1 Mon 27 January 2025 16:16
- kathy_cano
- Participant occasionnel
- Date d'inscription: 3 Jul 2014
- Messages: 15
QGIS: Detection bouclage
Bonjour,
J'ai un réseau électrique représenté de la manière suivante : une couche de lignes (réseaux ramifiés de câbles) et une couche de points (postes).
EN THÉORIE pour chaque réseau, il n'y a qu'un seul poste.
Sauf que nous nous sommes aperçu que parfois le réseau est mal dessiné sur notre SIG et nous avons 2 postes voire plus.
Je cherche donc une méthode pour détecter les réseaux raccordés à plus d'un poste. Pour cela je pensais faire une jointure pour récupérer l'id du ou des postes mais je ne vois pas comment faire sans que ça ne me récupère que le premier qu'il rencontre et zappe les autres.
Il faudrait dans l'idéal qu'autant de ligne que de poste rencontrés soit créé. Pour être plus claire il me faudrait une sortie comme ceci :
R1 - P43
R2 - P2
R3 - P76
R3 - P23
R4 - P10
Ainsi, en cherchant les réseaux en double on trouverait ceux qui bouclent et avec quels postes. Ici R3.
J'ai l'idée mais je ne sais absolument pas comment faire ni sur QGIS ni sur pgAdmin éventuellement en requête SQL...
Avez-vous une solution à m'apporter ?
Merci d'avance !
Hors ligne
#2 Mon 27 January 2025 21:51
- Julien81
- Participant assidu
- Lieu: Giroussens
- Date d'inscription: 14 Jan 2019
- Messages: 185
Re: QGIS: Detection bouclage
Bonjour,
sans exemple de data ou descriptif de structure un peu compliqué de vous aider mais effectivement si vos datas sont en base autant faire une requête sur vos réseaux directement.
Y a t'il déjà un lien entre vos tables quand vous dites "raccordé" ou est ce seulement la position géométrique des dessins qui raccorde?
S'il n'y a que la relation géographique puisque il ne semble pas y avoir de contraintes interdisant le "raccordement" 1 reau - N postes on pourrait envisager une requête soit depuis le db Manager soit pg Admin du genre
Code:
Select r.id_reseau, count(p.id_poste) as nb_poste, string_agg(p.id.poste) from reseau r, poste p where st_intersects(p.geom,r.geom) group by r.id_reseau
Pour un décompte de vos postes et avoirs les noms dans un autre champ avec une seule ligne par réseau ici. Sinon ce serait plus un cross join.
Après vous pouvez rajouter la geom des réseau etc pour localiser les doublons de poste facilement ensuite avec cette couche de sortie réseau.
En espérant que cela vous aide à avancer, ce serait plus adapté coté forum Geo BD du coup!
Salutations
Hors ligne