#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

