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é ?

#1 Tue 06 October 2026 21:37

Tixi
Participant actif
Date d'inscription: 6 Jun 2022
Messages: 148

QGIS/GRASS: Selection par expression

Bonjour,

Parmi des entites correspondant a des parcelles,je souhaite sélectionner celles dont le centroide est à l'intérieur de certaines entités de la couche d'urbanisme :
soit celles dont le champs "libelle" commence par AU
soit celles que j'ai sélectionnées dans la table attributaire (et dont les entités sont celles dont le  champs "libelle" correspond a ce que je souhaite)

J'ai essayé par le select by location de GRASS, il y a une option avec le centroide, mais ca n'a rien donné
Parfois cela echoue car les referentiels sont differents mais j ai vérifié que mes couches sont toutes les 2 en 2154.

Il y a dans QGIS l'outil de selection à l'aide d'une expression. C'est ce que je souhaite utiliser mais je ne sais pas le faire fonctionner. J'ai pourtant bien cherche sur internet, mais il y a quelque chose que je dois mal faire.

Est ce que quelqu'un aurait une piste?

Merci

Hors ligne

 

#2 Wed 07 October 2026 14:44

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

Re: QGIS/GRASS: Selection par expression

Votre besoin pourrait être l'occasion de mettre le nez dans l'apprentissage du SQL, qui permet de faire ces requêtes attributaires et spatiales sans limitations.

Pour l'aspect attributaire ça donne :

Code:

WHERE SUBSTR("libelle",0,2) = 'AU'

pour l'aspect "centroïdes" qui intersectent, ça donne :

Code:

WHERE ST_Intersects(ST_Centroid(coucheA.geometry), coucheB.geometry)

Les deux étant bien évidemment cumulables dans une seule requête.

Pour cela, dans QGis, il faut aller dans le Gestionnaire BD, et cela fonctionne avec tous les types de couches, via les "couches virtuelles" qui interrogent n'importe quel format de fichier chargé (SHP, GeoJSON, GPKG, PostGreSQL, Spatialite, XLSX, ...).

C'est sans doute possible autrement, mais l'intérêt du SQL, c'est que c'est universel (pas limité à QGis).
Ce site est pas mal pour comprendre chaque fonction : https://sql.sh/cours/select
Et pour les fonctions spatiales (Spatialite pour les couches virtuelles dans QGis) : http://www.gaia-gis.it/gaia-sins/spatia … atest.html

Dernière modification par Sylvain M. (Wed 07 October 2026 14:50)


Sylvain M.

Hors ligne

 

Pied de page des forums

Copyright Association GeoRezo