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

Depuis plusieurs semaines, quand un utilisateur (membre des forums) poste un message (bouton "envoyer"), le délai de mise en ligne est proche de 10 secondes.
Merci de patienter et de ne pas rafraichir l'écran.
Yves (webmaster) est sur le coup wink
Merci pour votre compréhension.

#1 Mon 16 April 2018 14:25

Sylvain M.
Participant assidu
Lieu: Saint-Pierre-des-Nids (53)
Date d'inscription: 8 Sep 2005
Messages: 980

QGIS: Filtre d Entite spatial (ou jointure spatiale dynamique) ?

Bonjour,

Je souhaiterais filtrer une couche selon l'emprise spatiale d'une autre couche, sans avoir à créer une nouvelle couche (virtuelle ou non).
Exemple (fictif) : n'afficher que les lieudits d'une commune (en partant du principe que la couche lieudits n'a pas de référence attributaire communale).

Je crois avoir déjà lu différentes méthodes pour parvenir à mes fins, mais je ne les retrouve pas.

Est-ce que quelqu'un aurait une proposition ?

En SQL (dans le gestionnaire de BDD), cela reviendrait à quelque chose de ce genre :

Code:

SELECT lieudits.*
FROM lieudits
JOIN communes ON ST_INTERSECTS(lieudits.geometry, communes.geometry)
WHERE communes.nom = 'ma commune'

Si c'était possible sans passer par une couche virtuelle, ça m'arrangerait.

Merci pour vos conseils !

Sylvain M.

Dernière modification par Sylvain M. (Mon 16 April 2018 14:26)


Sylvain M.

Hors ligne

 

#2 Mon 16 April 2018 17:33

SANTANNA
Moderateur
Lieu: Angers
Date d'inscription: 18 Jan 2008
Messages: 3777

Re: QGIS: Filtre d Entite spatial (ou jointure spatiale dynamique) ?

Bonjour,
Qu'entends-tu par "filtrer": n'avoir plus que ces entités dans ta couche (comme si tu passais par l'onglet Général des propriétés) ou pouvoir ne sélectionner/manipuler que ces entités?
Si cas 2:
Dans la boîte à outils Traitements, tu as un algorithme "Sélection par localisation" qui fait le job, je pense (en mode interactif, donc).
Il y a aussi, via le chemin des expressions les fonctions d'analyse spatiale de l'extension refFunctions (à explorer, je ne me souviens plus quelles limitations il y a). Et peut-être qu'il y a des extensions pour ce genre de sélection directement; as-tu regardé?

Hors ligne

 

#3 Wed 09 October 2019 10:31

Sylvain M.
Participant assidu
Lieu: Saint-Pierre-des-Nids (53)
Date d'inscription: 8 Sep 2005
Messages: 980

Re: QGIS: Filtre d Entite spatial (ou jointure spatiale dynamique) ?

Désolé pour le délai de réponse, je n'avais pas activé l'abonnement au sujet, et j'avais donc zappé ta réponse.

Effectivement, la sélection par localisation répond à mon besoin, mais elle nécessite de créer une nouvelle couche ensuite si on veut, par exemple :
- n'afficher que les entités sélectionnées,
- calculer des statistiques sur cette sélection,
- faire une symbologie uniquement sur cette sélection, ...

Alors que, avec le filtre d'entités de l'onglet général d'une couche, c'est très pratique de faire cela sur des sous-ensemble de données. Mais il n'est alors possible que de filtrer sur les attributs. Les filtres spatiaux sont a priori absents.

Je viens de le faire avec le gestionnaire de BDD une requête SQL (ST_Intersects), puis en chargeant le résultat dans une nouvelle couche virtuelle.
C'est déjà pas mal, mais si je pouvais filtrer à la base, ce serait encore mieux !


Sylvain M.

Hors ligne

 

Pied de page des forums

Powered by FluxBB