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

Rencontres QGIS 2025

L'appel à participation est ouvert jusqu'au 19 janvier 2025!

#1 Wed 07 February 2018 17:20

Gael_83
Participant occasionnel
Date d'inscription: 10 Oct 2013
Messages: 19

QGIS: Comment détecter géométries superposées dans une couche ?

Bonjour,

Je cherche à trouver sur Qgis ou sous Postgres une ligne de commande me permettant de détecter des objets qui se superposent dans une même couche et en sortir une liste.
Il ne s'agit pas de doublons (ou pas forcément), mais bien de géométries d'une même couche qui ont des surfaces en commun, totalement ou partiellement.
Bref, ça correspond à une fonction  ST_Intersects avec deux couches... mais quid avec une seule ???

Merci d’avance pour vos conseils ! = )

Gaël

Hors ligne

 

#2 Wed 07 February 2018 18:32

Hocine Amine
Participant actif
Lieu: Tunisie
Date d'inscription: 9 Jul 2007
Messages: 55

Re: QGIS: Comment détecter géométries superposées dans une couche ?

Bonjour,
Pour trouver les géométries dupliquées, vous pouvez utiliser le "Panneau vérificateur de topologie" qui se trouve dans l’onglet vecteur (choisissez la couche et mettre la règle  " ne doit pas contenir de doublons ".
Pour supprimer  les géométries dupliquées : l’onglet Traitement  --> Boite à outil de traitements  --> Outils généraux de vecteur  -->  Supprimer les géométries dupliquées.

Hors ligne

 

#3 Thu 08 February 2018 06:44

atilio
Participant actif
Lieu: Brest
Date d'inscription: 17 Jan 2006
Messages: 80

Re: QGIS: Comment détecter géométries superposées dans une couche ?

Avec une requête classique d'intersection entre deux couches, mais en mettant le même nom de table pour a et pour b, et en ajoutant une condition pour que l'identifiant de a soit différent de l'identidiant de b

SELECT a.somfield, b.somefield2
FROM a INNER JOIN b ON ST_Intersects(a.the_geom, b.the_geom) WHERE a.id <> b.id

Hors ligne

 

Pied de page des forums

Powered by FluxBB