Sélectionner des données

Il est possible de sélectionner des données par leur géométrie :

~ manuellement avec la souris et l'outil de sélection


~ automatiquement en fonction de critère avec l'outil menu Vecteur / Outil de recherche / Sélection par localisation

Il est aussi possible de sélectionner des données par leurs attributs suivant une expression | :

La sélection est seulement une couche mémoire, elle n'est pas sauvegardée avec le projet. Les entités apparaissent en surbrillance.
Il est possible de créer une nouvelle couche à partir de cette sélection :
clic droit sur la couche / Exporter /Enregistrer sous...

Rechercher des entités dans la table attributaire

Utilisation du filtre de colonne de la table attributaire :


Ou utilisation du filtre avancé :

L'utilisation du filtre de colonne ou du filtre avancé de la table attributaire est une opération temporaire
qui n'est pas enregistrée dans le projet.
Elle permet juste de consulter des données à un moment donné ou de faire une sélection.

---

Le Language SQL - la construction de requête

La requête correspond au where ... du language SQL.

Les règles à respecter :
- le nom des champs sont toujours entre guillemets | exemple "nom_champ"
- le texte est toujours entre simples côtes | exemple 'texte à insérer'

Une requête peut faire appel à :
- des opérateurs mathématiques (= + - < >), logiques (AND ILIKE IS NOT OR)
- des fonctions géométriques ($area $lenght), mathématiques (max min tan)
- des champs attributaires

Quelques exemples d'expression

~ Extraire des entités en fonction de la valeur d'un champ texte
"nom_champ" ILIKE 'valeur du texte'
Exemple : extraire les parcelles appartenant à la commune de Lyon -> "nom_commune" ILIKE 'lyon'

Astuce :
On peut utiliser l'opérateur % pour remplacer une chaîne de caractères
Exemple : extraire les voies de type 'avenue' -> "nom_voie" ILIKE '%avenue%'

~ Extraire des entités en fonction de la valeur d'un champ numérique
"nom_champ" > 2000
Exemple : extraire les parcelles ayant une superficie supérieure à 1 000 m -> "superficie" > 1000
Exemple : extraire les parcelles ayant une superficie comprise entre 500 et 1000 m -> "superficie" > 500 AND "superficie" < 1000

~ Utiliser les opérateurs logiques pour combiner plusieurs expressions
"nom_champ" ILIKE 'valeur' AND "nom_champ"=1000 OR "nom_champ" ILIKE 'valeur'
Exemple : extraire les parcelles appartenant à plusieurs propriétaires et ayant une superficie supérieure à 1000m ->
"proprietaire" ILIKE 'Martin' OR "proprietaire" ILIKE 'Dupont' AND "superficie" > 1000

~ Utiliser les fonctions géométriques
Exemple : on n'a pas de champ "superficie" mais on veut faire une requête sur la superficie -> $area > 1000

Filtrer des données

Clic droit sur la couche / Filtrer

Le filtre permet de ne visualiser que certaines données :
seules les entités correspondant à la requête du filtre apparaissent dans le projet QGIS.

Le filtre est enregistré dans le projet.
Le résultat du filtre peut être enregistré comme une nouvelle couche (Exporter).