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 Tue 26 February 2019 17:34

CharlotteR.
Participant occasionnel
Date d'inscription: 16 Feb 2019
Messages: 18

QGIS: Requete Intersect pour afficher des Etiquettes

eBonjour,

J'ai une couche de polygones qui s'étend sur un grand territoire et j'aimerais n'afficher que les étiquettes qui intersectent un plus petit périmètre (ex une commune).

Existerait-il un moyen pour faire cette sélection géographique via une requête SQL directement (je ne souhaite pas créer de nouvelle couche) ?

L'outil Mask ne répond pas tout à fait à mes besoins car il sélectionne les étiquettes des polygones compris dans mon petit périmètre alors que je souhaite aussi avoir celles des polygones qui l'intersectent.

Merci d'avance si vous avez une solution à me proposer !
Cordialement,

Hors ligne

 

#2 Wed 27 February 2019 09:50

sylvain poupard
Participant assidu
Date d'inscription: 19 Mar 2009
Messages: 362

Re: QGIS: Requete Intersect pour afficher des Etiquettes

Bonjour,

Vous pouvez ajouter comme règle d'étiquette :

Code:

intersects( $geometry, geometry( get_feature( layer, attributeField, value ) ) )

En non dynamique, pour ceux qui chercheraient, vous pouvez faire:
- une sélection par localisation avec l'opérateur intersecte (outil vecteur>requête spatiale),
- créer une couche temporaire depuis la fenêtre résultat de l'outil précédent et
- appliquer les étiquettes sur cette couche.

Bon courage


Fichier(s) joint(s) :
Pour accéder aux fichiers vous devez vous inscrire.

Hors ligne

 

#3 Wed 27 February 2019 10:08

CharlotteR.
Participant occasionnel
Date d'inscription: 16 Feb 2019
Messages: 18

Re: QGIS: Requete Intersect pour afficher des Etiquettes

Bonjour,

Merci beaucoup pour votre retour qui répond certainement à ce que je souhaite.

Cependant, je ne suis pas familière avec le sql, pouvez-vous me préciser ceci svp :
Layer = ma couche limite commune ?
attributeField = ?
value = ?


Merci d'avance,

Hors ligne

 

#4 Wed 27 February 2019 10:44

sylvain poupard
Participant assidu
Date d'inscription: 19 Mar 2009
Messages: 362

Re: QGIS: Requete Intersect pour afficher des Etiquettes

Bonjour,

Pour complément:

Code:

intersects( $geometry, geometry( get_feature( 'couche_d'intersection', 'champs_de_référence', 'valeur du champs sélectionnée') ) )

exemple: intersects( $geometry, geometry( get_feature( 'communes', 'code_insee', '44000') ) )


Bon courage

Dernière modification par sylvain poupard (Wed 27 February 2019 10:44)

Hors ligne

 

#5 Wed 27 February 2019 11:38

CharlotteR.
Participant occasionnel
Date d'inscription: 16 Feb 2019
Messages: 18

Re: QGIS: Requete Intersect pour afficher des Etiquettes

Ok je comprends, merci !
Mais dans le cas où il y a qu'un seul polygone dans ma couche d'intersection, est-il possible de faire une requête sans prendre en compte de champs ni de valeurs ?
Juste en disant "sélectionne que les objets qui intersectent la couche d'intersection dans son ensemble".

Merci,

Hors ligne

 

#6 Wed 27 February 2019 11:47

sylvain poupard
Participant assidu
Date d'inscription: 19 Mar 2009
Messages: 362

Re: QGIS: Requete Intersect pour afficher des Etiquettes

Avec les couches virtuelles et la formule suivante (cf PJ) :

select * from a,b where intersects(a.geometry,b.geometry)

Bon courage


Fichier(s) joint(s) :
Pour accéder aux fichiers vous devez vous inscrire.

Hors ligne

 

#7 Wed 27 February 2019 12:49

sylvain poupard
Participant assidu
Date d'inscription: 19 Mar 2009
Messages: 362

Re: QGIS: Requete Intersect pour afficher des Etiquettes

...je viens d'y penser mais le plugin mask suffirait en sélectionnant au préalable tous les objets de la couche d'intersection (cf PJ)


Fichier(s) joint(s) :
Pour accéder aux fichiers vous devez vous inscrire.

Hors ligne

 

#8 Wed 27 February 2019 14:07

CharlotteR.
Participant occasionnel
Date d'inscription: 16 Feb 2019
Messages: 18

Re: QGIS: Requete Intersect pour afficher des Etiquettes

Merci pour l'astuce de la couche virtuelle.

Ah oui avec le plugin mask ça fonctionne mais seulement si je choisi "Fonction utilisée pour filtrer les étiquettes des polygones = Exacte".
Si je choisi "le masque contient un point de la surface" il ne m'affiche que les étiquettes des polygones contenus dans le masque (c'était mon problème initial). Il n'y a pas d'étiquettes pour ceux qui intersectent le masque (un bug ?).

Hors ligne

 

#9 Wed 12 February 2020 18:05

Mossy_D
Participant occasionnel
Date d'inscription: 1 Oct 2018
Messages: 15

Re: QGIS: Requete Intersect pour afficher des Etiquettes

Bonjour,

Petit up car je cherche également à réaliser cette manipulation avec pour ligne de code :

Code:

 intersects( $geometry , geometry ( get_feature_by_id( 'bati',"id")))

Donc ça, ça ne marche pas. L'idée est de faire s'intersecter la géométrie de la couche courante, le parcellaire cadastrale, avec le bâti.
Où se cache l'erreur ?

Hors ligne

 

Pied de page des forums

Powered by FluxBB