Вы находитесь на странице: 1из 60

7- Slections Requtes

QGIS

3.0

7 aot 2014

Table des
matires

Introduction

I - slection attributaire

A. Diffrence entre les deux types de slection attributaire....................................7


B. Constructeur de requte................................................................................8
C. Slection par expression..............................................................................20
D. Conseils d'utilisation....................................................................................33
E. recherche avance et constructeur de requte................................................34

II - Requtes spatiales

37

A. Les diffrents outils de requtes spatiales......................................................37


B. Slection par localisation..............................................................................37
C. Extension Requte spatiale...........................................................................40
D. requtes spatiales.......................................................................................57
E. Tableau de synthse des diffrents types de filtres et de slections...................57

III - Exports

59

A. Sauvegarder le rsultat d'un filtre ou d'une slection.......................................59

Solution des exercices

Matrise d'ouvrage : MEDDE - METL - MAAF / Matrise d'uvre : ENTE Aix - ENSG /
Licence ouverte ETALAB

63

Introduction

Ce module va vous permettre de :


Slectionner des entits rpondant des critres de filtre sur les donnes attributaires
Slectionner des entits gographiques sur une couche cible en fonction d'une autre
couche spatiale
Exporter le rsultat d'une slection dans diffrents formats
La slection permet de choisir dans une couche les entits rpondant un ou plusieurs
critres.
Les thmes abords dans ce module sont :
La slection attributaire
Constructeur de requte (sous-ensemble de la couche)
Slection par expression (surbrillance de la slection des entits qui rpondent aux
critres)
Attention : les rsultats produits par ces deux types de slection attributaire sont diffrents.
La requte spatiale (relation entre les objets gographiques de plusieurs tables)
Vecteurs / outils de recherche
Extension requte spatiale
L'export d'une slection

Matrise d'ouvrage : MEDDE - METL - MAAF / Matrise d'uvre : ENTE Aix - ENSG /
Licence ouverte ETALAB

slection
attributaire
I -

Diffrence entre les deux types de slection attributaire

Constructeur de requte

Slection par expression

20

Conseils d'utilisation

33

recherche avance et constructeur de requte

34

A. Diffrence entre les deux types de slection


attributaire
QGIS propose deux modes de slection attributaire qui ne conduisent pas aux mmes
rsultats, mme si les botes de dialogue se ressemblent.
Les diffrences peuvent paratre assez subtiles :
Le constructeur de requte (dont la bote de dialogue se reconnat son titre)
Dfinit un sous-ensemble d'entits ('feature subset') de la couche initiale.
Le constructeur de requte, vritable assistant de requte SQL agit comme un
filtre SQL SELECT * FROM Couche WHERE condition en simplifiant
beaucoup l'criture de la requte. Il constitue un premier pas vers le langage
SQL qui sera abord au niveau perfectionnement.
Aprs la slection, seules les entits correspondant la requte apparaissent
dans la fentre carte et dans la table attributaire.
Ce filtre reste actif tant que l'expression n'a pas t efface dans le
constructeur de requte
Cette slection peut tre sauvegarde comme une couche (clic droit sur la
couche puis Sauvegarder sous ). La couche sauvegarde ne comprend que
les entits slectionnes.
Cette slection est sauvegarde en enregistrant le projet, dans ce cas la
couche initiale entire est sauvegarde avec la requte active.
A la rouverture du projet, la slection sera affiche dans la fentre carte. Il
suffira d'effacer l'expression dans le constructeur de requte pour retrouver
l'ensemble des entits de la couche initiale.

Matrise d'ouvrage : MEDDE - METL - MAAF / Matrise d'uvre : ENTE Aix - ENSG /
Licence ouverte ETALAB

slection attributaire

La slection par expression (dont la bote de dialogue se reconnat aussi son


titre)
La slection d'entits par une expression consiste marquer ces entits
dans la fentre carte au moyen d'une couleur particulire (par dfaut, c'est le
jaune, mais la couleur de slection est paramtrable) .
Dans la table attributaire de la couche, les lignes des entits slectionnes
apparaissent en surbrillance.
Cette slection qui est seulement une couche en mmoire (memory layer)
peut tre enregistre dans une vraie couche (physique) en faisant un clic droit
sur la couche puis Sauvegarder la slection sous... .

Attention
Cette slection (couche mmoire) N'EST PAS sauvegarde dans le projet (elle est
perdue si on ouvre le fichier projet enregistr).

B. Constructeur de requte
Mthode : 1re mthode
Pour accder au Constructeur de requte :
Faire un clic droit sur le nom de la couche (active) dans le panneau Couches
Cliquer sur Filtrer

Matrise d'ouvrage : MEDDE - METL - MAAF / Matrise d'uvre :


ENTE Aix - ENSG / Licence ouverte ETALAB

slection attributaire

Menu Filtrer

Mthode : 2me mthode


Cliquer sur Ouvrir Proprits de la couche

Matrise d'ouvrage : MEDDE - METL - MAAF / Matrise d'uvre : ENTE Aix - ENSG /
Licence ouverte ETALAB

slection attributaire

Dans l'onglet Gnral, cliquer sur le bouton Constructeur de requte en bas droite :

Bote de dialogue Proprits de la couche

Mthode : 3me mthode


Menu Couche Filtrer

10

Matrise d'ouvrage : MEDDE - METL - MAAF / Matrise d'uvre :


ENTE Aix - ENSG / Licence ouverte ETALAB

slection attributaire

La bote de dialogue Constructeur de requte se prsente comme suit :

Bote de dialogue Constructeur de requte

La bote de dialogue Constructeur de requte est compose des zones suivantes :


1 : Nom de la table sur laquelle est effectue la slection attributaire
2 : Cadre Champs : contient tous les attributs de la couche. Pour ajouter un attribut
la clause WHERE (cadre expression), double-cliquer sur son nom dans la liste.
3 : Cadre Valeurs : liste tout ou partie des valeurs (attributs) du champ slectionn
dans le cadre Champs.
Pour lister la totalit des valeurs, cliquer sur le bouton [Tout]. Pour lister uniquement
les 25 premires valeurs, cliquer sur [chantillon].
Pour ajouter une valeur la clause WHERE (cadre expression), double-cliquer
dessus.
Attention : si la couche a dj fait l'objet d'une slection au moyen du constructeur
de requte, seules les valeurs rsultant de cette slection sont affiches et la
slection sera effectue sur le sous-ensemble dj slectionn.
Pour obtenir la liste de toutes les valeurs du champ, cocher la case Utiliser la couche

Matrise d'ouvrage : MEDDE - METL - MAAF / Matrise d'uvre : ENTE Aix - ENSG /
Licence ouverte ETALAB

11

slection attributaire

non filtre'.
4 Cadre Oprateurs Les oprateurs principaux utiliss dans les requtes figurent sous
forme de boutons cliquer. Pour ajouter un oprateur la requte SQL, cliquez sur
le bouton correspondant.
5 Cadre expression (Expression de filtrage spcifique au fournisseur') Ce cadre
contient l'expression littrale de la slection. C'est la clause WHERE de la requte
SQL .
Le bouton [Tester] affiche une fentre comptabilisant le nombre d'entits
correspondant la requte, permettant de savoir si la requte est
correctement crite.
Le bouton [Effacer] annule le texte de la requte.
Le bouton [OK] effectue la slection en fonction de la recherche dfinie et
ferme la bote de dialogue Constructeur de requte. Si la requte a t efface
avant, la couche entire rapparat.
Le bouton [Annuler] ferme la fentre, sans effectuer la requte

Remarque
Il est aussi possible d'crire directement l'expression de la slection dans le cadre
expression, mais l'utilisation des double-clics est plus ergonomique et vite les
erreurs d'criture, notamment pour les valeurs des attributs.

Exemple
Dans la couche COMMUNE (BD_TOPO/H_ADMINISTRATIF) on souhaite slectionner
les communes du canton de MALICORNE-SUR-SARTHE.

Couche COMMUNE

A Choix du champ

12

Matrise d'ouvrage : MEDDE - METL - MAAF / Matrise d'uvre :


ENTE Aix - ENSG / Licence ouverte ETALAB

slection attributaire

Aprs avoir ouvert la couche et l'avoir rendue active (surbrillance dans le panneau
Couches), faire apparatre le constructeur de requte (clic droit sur la couche active
Filtrer ):
Double-cliquer sur le champ CANTON dans le cadre champs (1)
Le texte 'CANTON' apparat dans le cadre expression (2) (QGIS a ajout les doubles
quotes autour de CANTON, c'est la syntaxe SQL):

Choix du champ

B Choix de l'oprateur
Choisir l'oprateur '=' en cliquant sur le bouton '=' (3)

Matrise d'ouvrage : MEDDE - METL - MAAF / Matrise d'uvre : ENTE Aix - ENSG /
Licence ouverte ETALAB

13

slection attributaire

L'oprateur '=' est ajout l'expression avec l'espace qui le spare de CANTON
(4) :

Choix de l'oprateur
Le curseur de texte clignotant est en attente aprs l'oprateur '='

C Choix de la valeur du champ


Pour crire la valeur qui convient (MALICORNE-SUR-SARTHE) on a choix entre taper
directement la chane de caractres (fastidieux et source d'erreurs) ou bien la choisir
dans un chantillon de valeurs affiches.
Pour afficher toutes les valeurs du champ CANTON, il suffit de slectionner le champ
CANTON (un seul clic sur CANTON dans le cadre Champs) puis de cliquer sur le
bouton Tout dans le cadre Valeurs droite (5).

14

Matrise d'ouvrage : MEDDE - METL - MAAF / Matrise d'uvre :


ENTE Aix - ENSG / Licence ouverte ETALAB

slection attributaire

Toutes les valeurs prsentes dans le champ CANTON de la table d'attributs sont
affiches dans le cadre Valeurs (6):

Choix de la valeur

Un double -clic sur la valeur MALICORNE-SUR-SARTHE permet de l'crire dans le


cadre expression ("Expression de filtrage spcifique au fournisseur").
QGIS ajoute les simples quotes autour de la valeur (syntaxe SQL).
L'expression complte de la clause WHERE est :
"CANTON" = 'MALICORNE-SUR-SARTHE'

Matrise d'ouvrage : MEDDE - METL - MAAF / Matrise d'uvre : ENTE Aix - ENSG /
Licence ouverte ETALAB

15

slection attributaire

Requte complte

La requte complte en langage SQL est la suivante (c'est celle qui est excute par
le logiciel) :
SELECT * FROM COMMUNE WHERE "CANTON" = 'MALICORNE-SUR-SARTHE'
En langage courant :
Slectionner (SELECT)
tous les champs (*) (on prend toutes les colonnes de la table attributaire)
de la couche COMMUNE (FROM COMMUNE)
lorsque la valeur du champ CANTON est gale MALICORNE-SUR-SARTHE (WHERE
"CANTON" = 'MALICORNE-SUR-SARTHE')
La syntaxe peut paratre un peu lourde au dbut, mais avec un peu d'habitude, le
langage SQL est praticable et il est trs puissant !
Les notions fondamentales du langage SQL sont prsentes dans le stage QGIS
perfectionnement.

16

Matrise d'ouvrage : MEDDE - METL - MAAF / Matrise d'uvre :


ENTE Aix - ENSG / Licence ouverte ETALAB

slection attributaire

Un clic sur le bouton Tester donne le rsultat suivant :

Information sur le rsultat de la requte


(dommage pour l'accord du participe pass, le franais est souvent plus compliqu
que le SQL !)

Aprs avoir cliqu sur OK pour effectuer la requte, seules les entits slectionnes
apparaissent dans la carte :

Sous-ensemble de la couche COMMUNE rsultant de la requte

Matrise d'ouvrage : MEDDE - METL - MAAF / Matrise d'uvre : ENTE Aix - ENSG /
Licence ouverte ETALAB

17

slection attributaire

Il en est de mme dans la table attributaire :

Table attributaire du sous-ensemble

Remarque
Dans l'onglet Gnral de la bote de dialogue Proprits de la couche, l'expression de
la slection (la clause WHERE de la requte SQL) apparat dans le cadre Sousensemble (sous-ensemble d'entits) :

Cadre Sous-ensemble de l'onglet Gnral

Attention
Tant que la requte n'a pas t efface, c'est le sous-ensemble contenant les entits

18

Matrise d'ouvrage : MEDDE - METL - MAAF / Matrise d'uvre :


ENTE Aix - ENSG / Licence ouverte ETALAB

slection attributaire

slectionnes qui est affich.


Cela peut conduire des confusions, car rien n'indique a priori dans le Panneau
Couches que ce qui est affich correspond une requte (c'est le nom de la couche
qui continue d'apparatre).
En cas de doute, il ne faut pas hsiter consulter le constructeur de requte ou
l'onglet gnral des proprits de la couche, pour visualiser l'expression de la requte
.
Pour effacer la requte, il faut lancer nouveau le constructeur de requte et cliquer
sur le bouton Effacer .

Remarque
Pour enregistrer le sous-ensemble slectionn comme une nouvelle couche, faire un
clic droit sur la couche et cliquer sur Sauvegarder sous..., et prciser le nom de la
couche sauvegarde.

Rappel
La slection est sauvegarde en enregistrant le projet et le sous-ensemble sera
affich dans la fentre carte la rouverture du projet.

C. Slection par expression


Il existe 2 faons d'accder la slection par expression

Mthode : 1re mthode

Cliquer sur la couche dans le panneau contrle des couches pour la rendre
active
Dans la barre d'outils Attributs, cliquer sur le bouton (epsilon) [Slectionne
les entits en utilisant une expression] :

Barre d'outils attributs

Matrise d'ouvrage : MEDDE - METL - MAAF / Matrise d'uvre : ENTE Aix - ENSG /
Licence ouverte ETALAB

19

slection attributaire

Mthode : 2me mthode

Slectionner la couche dans le panneau contrle des couches


Clic droit et ouvrir la table d'attributs
Dans la table attributaire, cliquer sur le bouton [Slectionne les entits en
utilisant une expression] :

Table attributaire

20

Matrise d'ouvrage : MEDDE - METL - MAAF / Matrise d'uvre :


ENTE Aix - ENSG / Licence ouverte ETALAB

slection attributaire

La bote de dialogue Slection par expression se prsente comme suit :

Bote de dialogue Slection par expression

La bote de dialogue Slection par expression est compose des zones suivantes (elle
ressemble celle du constructeur de requte mais la liste des fonctions permet un
choix beaucoup plus tendu) :
1 Liste des fonctions
Un vaste choix est offert :
Oprateurs boolens, arithmtiques,
Branchements conditionnels,
Fonctions mathmatiques, de conversion de format, de date
Fonctions de traitement de chanes de caractres,
Fonctions de gomtrie (oprateurs spatiaux et gotraitement),
Fonctions d'information sur les enregistrements de la table attributaire, et de
gestion des champs de la table attributaire et des valeurs des champs pour les
entits de la couche
L'ensemble des fonctions offertes est le mme que pour la calculatrice de champ qui
sera prsente au niveau perfectionnement.

Matrise d'ouvrage : MEDDE - METL - MAAF / Matrise d'uvre : ENTE Aix - ENSG /
Licence ouverte ETALAB

21

slection attributaire

Remarque
Parmi les oprateurs logiques proposs il manque l'oprateur IN, trs pratique pour
slectionner une valeur dans une liste de valeurs, mais il peut tre tap directement
dans le cadre d'expression, avec la syntaxe adquate, QGIS le reconnatra :
'Nom_du_champ'' IN (valeur1 , valeur2, valeur3)
2 Cadre Oprateurs
Quelques oprateurs principaux utiliss le plus couramment dans les requtes ainsi
que les parenthses ouvrante et fermante figurent sous forme de boutons cliquer.
Pour ajouter un oprateur ou une parenthse la requte, cliquez sur le bouton
correspondant.

Remarque
Les oprateurs peuvent aussi tre choisis en double-cliquant dans la section
Oprateurs de la liste des fonctions
3 Cadre Expression
Comme dans le constructeur de requte, ce cadre contient l'expression littrale de la
slection. C'est la clause WHERE de la requte SQL
4 Menu droulant Slection

Menu droulant Slection

Pour commencer, nous utiliserons le premier item du menu, la Slection


Les autres choix possibles seront prsents un peu plus loin.

22

Matrise d'ouvrage : MEDDE - METL - MAAF / Matrise d'uvre :


ENTE Aix - ENSG / Licence ouverte ETALAB

slection attributaire

Une 5me zone n'apparat pas ce stade, mais est active lorsqu'on clique sur un
champ dans le cadre Liste de fonctions :

Cadre Valeurs du champ slectionn

5 Cadre Valeurs du champ slectionn


Comme dans le constructeur de requte, ce cadre permet de lister tout ou partie des
valeurs (attributs) du champ slectionn prcdemment.
Pour afficher toutes les valeurs qui existent dans le champ (dans la colonne de la
table attributaire) cliquer sur le bouton Toutes'' en dessous du cadre.

Exemple
Reprenons l'exemple prcdent o nous souhaitions slectionner les communes du
canton
de
MALICORNE-SUR-SARTHE
dans
la
couche
COMMUNE
(BD_TOPO/H_ADMINISTRATIF)
L'enchanement des oprations est identique :
A Choix du champ
Dans le cadre Liste des fonctions, dans la branche Champs et valeurs, double-cliquer
sur le champ CANTON.

Matrise d'ouvrage : MEDDE - METL - MAAF / Matrise d'uvre : ENTE Aix - ENSG /
Licence ouverte ETALAB

23

slection attributaire

La chane de caractres CANTON est crite (en couleur!) dans le cadre expression,
entoure de guillemets :

Choix du champ

2 Choix de l'oprateur
Cliquer sur le bouton = dans le cadre Oprateurs.

24

Matrise d'ouvrage : MEDDE - METL - MAAF / Matrise d'uvre :


ENTE Aix - ENSG / Licence ouverte ETALAB

slection attributaire

L'oprateur = apparat dans le cadre expression, entour par des espaces :

Choix de l'oprateur

3 Choix de la valeur
Aprs avoir cliqu sur le bouton Toutes' pour afficher toutes les valeurs dans le cadre
Valeurs de champs, double-cliquer sur 'MALICORNE-SUR-SARTHE'.

Matrise d'ouvrage : MEDDE - METL - MAAF / Matrise d'uvre : ENTE Aix - ENSG /
Licence ouverte ETALAB

25

slection attributaire

Choix de la valeur

Remarque
Dans la slection par expression, les valeurs sont affiches entoures de simples
quotes , ce n'est pas le cas dans le constructeur de requte.

26

Matrise d'ouvrage : MEDDE - METL - MAAF / Matrise d'uvre :


ENTE Aix - ENSG / Licence ouverte ETALAB

slection attributaire

La chane de caractres est crite dans le cadre expression avec une couleur
particulire, ce qui facilite la lecture de l'expression (les couleurs permettent de
distinguer les champs, les oprateurs et les valeurs, c'est trs pratique) :

Syntaxe de l'expression

Matrise d'ouvrage : MEDDE - METL - MAAF / Matrise d'uvre : ENTE Aix - ENSG /
Licence ouverte ETALAB

27

slection attributaire

Un clic sur le bouton Slection et les entits slectionnes apparaissent en jaune


dans la carte :

Slection des entits de la couche COMMUNE

Les autres entits de la couche sont toujours apparentes, contrairement ce qui se


passe avec le constructeur de requte.

28

Matrise d'ouvrage : MEDDE - METL - MAAF / Matrise d'uvre :


ENTE Aix - ENSG / Licence ouverte ETALAB

slection attributaire

Dans la table attributaire aussi, toutes les entits de la couche sont affiches et les
entits slectionnes apparaissent en surbrillance :

Table attributaire : entits slectionnes

Pour enregistrer les entits slectionnes comme une nouvelle couche, faire un clic
droit sur la couche et cliquer sur Sauvegarder la slection sous...
Pour dselectionner les entits, cliquer sur le bouton Dselectionner toutes les
entits' dans la barre d'outils attributs ou dans la table attributaire :

Bouton Tout dslectionner

Matrise d'ouvrage : MEDDE - METL - MAAF / Matrise d'uvre : ENTE Aix - ENSG /
Licence ouverte ETALAB

29

slection attributaire

Remarque
La slection par expression n'est pas sauvegarde en enregistrant le projet.
Cependant, une fois excute, elle est enregistre dans le cadre Liste des fonctions'
de la bote de dialogue Slection par expression', dans le rpertoire Rcent
(Selection)' . Un double-clic sur la requte enregistre et l'expression est affiche
dans le cadre Expression.
Menu droulant slection dans la slection par expression

Menu droulant Slection

Ce menu propose en plus de la slection les actions suivantes :


Enlever, Ajouter la slection :
Permet d'ajouter ou d'enlever une autre slection ralise aprs une premire
slection.

30

Matrise d'ouvrage : MEDDE - METL - MAAF / Matrise d'uvre :


ENTE Aix - ENSG / Licence ouverte ETALAB

slection attributaire

Par exemple si l'on a d'abord slectionn les communes du canton de Malicorne-surSarthe, il est possible de dslectionner celles qui ont moins de 500 habitants
('POPUL < 500) :

Dslectionner des entits dans une slection

Les communes de Bousse et de Ligron ne sont plus slectionnes car elles ont moins
de 500 habitants.
On peut les rajouter la slection en cliquant sur Ajouter [] la slection'
Slectionner depuis la slection

Matrise d'ouvrage : MEDDE - METL - MAAF / Matrise d'uvre : ENTE Aix - ENSG /
Licence ouverte ETALAB

31

slection attributaire

A l'inverse, on peut slectionner les communes de moins de 500 habitants du canton


de Malicorne-sur-Sarthe en les slectionnant depuis la slection pralable :

Slectionner depuis une slection

Les communes de Bousse et de Ligron sont slectionnes parmi celles du canton de


Malicorne-sur-Sarthe car elles ont moins de 500 habitants.
Il est possible de remplacer cet enchanement de 2 slections conscutives par une
seule slection conjuguant les deux prcdentes en une seule expression.
Ce type de slection SQL plus labore sera tudi au niveau perfectionnement.

32

Matrise d'ouvrage : MEDDE - METL - MAAF / Matrise d'uvre :


ENTE Aix - ENSG / Licence ouverte ETALAB

slection attributaire

Le tableau ci-dessous prsente une synthse utile la comprhension des filtres et


slections attributaires dans QGIS (modules 3 et 7):

Synthse des filtres et slections attributaires

D. Conseils d'utilisation
Pour choisir l'outil le mieux adapt ses besoins, quelques conseils d'utilisation :

Conseil

Le constructeur de requte
est adapt au travail sur un sous-ensemble (ou subset) de la couche de base,
sans avoir besoin de crer une couche supplmentaire correspondant ce
sous-ensemble.
La slection par expression

Matrise d'ouvrage : MEDDE - METL - MAAF / Matrise d'uvre : ENTE Aix - ENSG /
Licence ouverte ETALAB

33

slection attributaire

qui cre une couche mmoire (temporaire) est adapte l'utilisation des
fonctions qui s'appliquent des slections au lieu de la couche entire. Il
est galement utile si l'on veut sauvegarder les rsultats de la slection sous
forme d'une nouvelle couche (par Enregistrer la slection sous... )
Le rsultat peut tre utilis dans les deux cas par les outils sur les donnes
vecteurs qui proposent la case cocher 'Utiliser uniquement les valeurs
slectionnes' (requte spatiale par exemple).
Par exemple, pour travailler sur une seule commune au lieu d'ouvrir toute la couche
d'un dpartement pour le bti cadastral, il faut utiliser le constructeur de requte.
Cette ouverture de la commune seule sera mmorise dans les fichiers projets.

E. recherche avance et constructeur de requte


Exercice 17 : slection par expression et constructeur de requte
Objectif : utiliser les 2 modes de slections et constater les rsultats diffrents
Question
[Solution n1 p 63]

Ouvrir la couche vectorielle


BD_TOPO\H_ADMINISTRATIF\COMMUNE.SHP
1) A l'aide de la slection par expression surligner les communes qui ont une
population suprieure 1000 habitants
2) A l'aide du constructeur de requte filtrer la table commune pour n'afficher que les
communes qui ont une population suprieure 1000 habitants
Comparer les rsultats

34

Matrise d'ouvrage : MEDDE - METL - MAAF / Matrise d'uvre :


ENTE Aix - ENSG / Licence ouverte ETALAB

slection attributaire

Exercice 17

Matrise d'ouvrage : MEDDE - METL - MAAF / Matrise d'uvre : ENTE Aix - ENSG /
Licence ouverte ETALAB

35

Requtes
spatiales
II -

II

Les diffrents outils de requtes spatiales

37

Slection par localisation

37

Extension Requte spatiale

40

requtes spatiales

57

Tableau de synthse des diffrents types de filtres et de slections

57

A. Les diffrents outils de requtes spatiales


QGIS propose plusieurs outils de requte spatiale, notamment les deux suivants qui
permettent des slections en utilisant des critres gographiques plus ou moins
complets :
La slection par localisation recherche les entits d'une couche par rapport une
autre mais en utilisant seulement l'intersection (2 objets gographiques de 2 couches
diffrentes superposes s'intersectent quand ils ont au moins un point commun).
L'extension requte spatiale qui permet d'utiliser d'autres oprateurs spatiaux (
l'intrieur, contient, touche, croise, chevauche, disjoint, etc..)
Le rsultat de ces deux outils est une slection d'entits qui sont mises en
surbrillance. (Il s'agit d'une couche mmoire memory layer ).
Pour tre sauvegarde, cette slection doit tre enregistre comme une nouvelle
couche vectorielle.

B. Slection par localisation


Mthode
Pour
slectionner
tous
les
objets
de
la
couche
ZONE_VEGETATION
(BD_TOPO/F_VEGETATION/ZONE_VEGETATION.SHP) qui intersectent la commune de
Clermont-Crans (nouvelle couche crer par une slection dans la couche
BD_TOPO/H_ADMINISTRATIF/COMMUNE.SHP) :
Ouvrir le Menu Vecteur
Cliquer sur Outils de recherche

Matrise d'ouvrage : MEDDE - METL - MAAF / Matrise d'uvre : ENTE Aix - ENSG /
Licence ouverte ETALAB

37

Requtes spatiales

Choisir Slection par localisation

Slection par localisation

Bote de dialogue Slection par localisation

38

Matrise d'ouvrage : MEDDE - METL - MAAF / Matrise d'uvre :


ENTE Aix - ENSG / Licence ouverte ETALAB

Requtes spatiales

Tous les objets (polygones) de la couche ZONE_VEGETATION qui sont dans la


commune de Clermont-Crans y compris les polygones en dbordement sont
slectionns (en jaune) :

Rsultat de la slection par localisation

C. Extension Requte spatiale


Pour rendre active l'extension Requte spatiale :
Ouvrir le menu Extensions
Cliquer sur Installer/Grer les extensions

Matrise d'ouvrage : MEDDE - METL - MAAF / Matrise d'uvre : ENTE Aix - ENSG /
Licence ouverte ETALAB

39

Requtes spatiales

Cocher la case gauche de l'extension :

Gestionnaire d'extensions

Fermer la bote de dialogue


Le sous-menu Requte spatiale est ajout au menu Vecteur, ainsi que le bouton
Requte spatiale

Bouton requte spatiale

40

Matrise d'ouvrage : MEDDE - METL - MAAF / Matrise d'uvre :


ENTE Aix - ENSG / Licence ouverte ETALAB

Requtes spatiales

dans le bandeau gauche de la fentre QGIS :

Extension requte spatiale

Remarque
Pour pouvoir utiliser la requte spatiale, au moins 2 couches vectorielles doivent tre
ouvertes dans QGIS.

Mthode
Ouvrir le Menu Vecteur
Cliquer sur Requte Spatiale
La bote de dialogue Requte spatiale se prsente comme suit :

Bote de dialogue Requte spatiale

Matrise d'ouvrage : MEDDE - METL - MAAF / Matrise d'uvre : ENTE Aix - ENSG /
Licence ouverte ETALAB

41

Requtes spatiales

REMARQUE : QGIS modifie automatiquement la liste des oprateurs gographiques


possibles en fonction du type gomtrique (point, ligne ou polygone) de chacune des
deux couches.

Un clic sur le bouton Apply' et une 2me bote de dialogue apparat :

Requte spatiale

Pour crer une couche partir de la slection cliquer sur le bouton

Bouton Crer couche

Cette couche apparat dans le panneau couche avec le suffixe _selected


C'est un sous-ensemble (feature subset) de la couche cible qui est enregistr dans le
projet qgs.

42

Matrise d'ouvrage : MEDDE - METL - MAAF / Matrise d'uvre :


ENTE Aix - ENSG / Licence ouverte ETALAB

Requtes spatiales

Pour sauvegarder la couche cre, faire un clic droit sur la couche de slection dans
le panneau Couches et cliquer sur Sauvegarder sous...'
Pour terminer la requte spatiale, cliquer sur le bouton Close.
Le rsultat de l'intersection est identique celui obtenu avec la slection par
localisation :

Rsultat de la requte spatiale Intersecte

Le rsultat varie selon l'oprateur gographique choisi :

Matrise d'ouvrage : MEDDE - METL - MAAF / Matrise d'uvre : ENTE Aix - ENSG /
Licence ouverte ETALAB

43

Requtes spatiales

Intersecte (les objets slectionns ont au moins un point commun avec le polygone
de la commune) :

Intersecte

44

Matrise d'ouvrage : MEDDE - METL - MAAF / Matrise d'uvre :


ENTE Aix - ENSG / Licence ouverte ETALAB

Requtes spatiales

Est Disjoint (Les objets slectionns n'ont aucun point commun avec le polygone de
la commune) :

Est disjoint

Matrise d'ouvrage : MEDDE - METL - MAAF / Matrise d'uvre : ENTE Aix - ENSG /
Licence ouverte ETALAB

45

Requtes spatiales

A l'intrieur de : (les objets slectionns sont contenus entirement dans le


polygone de la commune) :

A l'intrieur de

46

Matrise d'ouvrage : MEDDE - METL - MAAF / Matrise d'uvre :


ENTE Aix - ENSG / Licence ouverte ETALAB

Requtes spatiales

Chevauche (Les objets slectionns sont partiellement contenus dans le polygone de


la commune) :

Chevauche

Les oprateurs gographiques utilisables dans une requte spatiale varient selon la
nature des objets de la couche cible et de la couche de rfrence (points, polylignes
ou polygones).
Ces oprateurs gographiques appels aussi prdicats spatiaux sont conformes aux
normes OGC (Open Geospatial Consortium) en matire de schma spatial et de
relations spatiales entre entits, comme dans PostGIS.
Dans ce schma spatial, le monde rel est modlis en 2 dimensions sous forme de
points, de lignes ou polylignes, et de polygones ou surfaces.

Matrise d'ouvrage : MEDDE - METL - MAAF / Matrise d'uvre : ENTE Aix - ENSG /
Licence ouverte ETALAB

47

Requtes spatiales

Remarque
L'objet polygone dans le schma spatial OGC n'est pas rduit son primtre, il
comprend aussi toute la surface intrieure dlimite par son primtre.
Les relations spatiales entre les objets gomtriques utilisent les notions d'intrieur,
de limite et d'extrieur des objets.
La limite d'une polyligne est constitue des 2 points constituant ses extrmits, celle
d'un polygone est la polyligne ferme de son primtre.
Un point n'a pas de limite.

48

Matrise d'ouvrage : MEDDE - METL - MAAF / Matrise d'uvre :


ENTE Aix - ENSG / Licence ouverte ETALAB

Requtes spatiales

Le tableau ci-dessous synthtise les notions d'intrieur, de limite et d'extrieur des


objets et prcise leur dimension au sens du schma spatial OGC :

Objets spatiaux 2D OGC

Matrise d'ouvrage : MEDDE - METL - MAAF / Matrise d'uvre : ENTE Aix - ENSG /
Licence ouverte ETALAB

49

Requtes spatiales

QGIS propose 8 prdicats spatiaux conformes aux normes OGC:


Est gal (prdicat OGC Equals) :
Les gomtries des objets sont topologiquement identiques (on peut superposer les
objets mme s'ils ne comportent pas le mme nombre de sommets)
Applicable tous les types d'objets (point, polyligne, polygone)
Est Disjoint (prdicat OGC Disjoint) :
Les gomtries des objets n'ont aucun point commun.
Applicable tous les types d'objets (point, polyligne, polygone)
Intersecte (prdicat OGC Intersects) :
Les gomtries des objets ont au moins un point commun.
Applicable tous les types d'objets (point, polyligne, polygone)
Est l'intrieur de (prdicat OGC Within) :
Toute la gomtrie de l'objet contenu est l'intrieur de l'objet contenant.
Applicable tous les types d'objets (point, polyligne, polygone)

50

Matrise d'ouvrage : MEDDE - METL - MAAF / Matrise d'uvre :


ENTE Aix - ENSG / Licence ouverte ETALAB

Requtes spatiales

Exemples de relations spatiales avec l'oprateur Est l'intrieur de :

Exemples de relations spatiales "A l'intrieur de"

Contient (prdicat OGC Contains) :


L'objet contient toute la gomtrie de l'objet contenu
Applicable tous les types d'objets (point, polyligne, polygone)
Chevauche (prdicat OGC Overlaps) :
Une partie seulement des objets est contenue dans l'autre objet qui doit tre de
mme type (point, polyligne ou polygone)

Matrise d'ouvrage : MEDDE - METL - MAAF / Matrise d'uvre : ENTE Aix - ENSG /
Licence ouverte ETALAB

51

Requtes spatiales

Exemples de relations spatiales avec l'oprateur Chevauche:

Exemples de relations spatiales "Chevauche"

Croise (prdicat OGC Crosses) :


Les intrieurs des objets ont au moins un point commun mais pas tous.
Le rsultat du croisement doit tre un objet de dimension infrieure celle de l'objet
de plus grande dimension :
Par exemple, le croisement d'une polyligne avec un polygone donne une polyligne et
une polyligne peut croiser un polygone si elle n'est pas entirement contenue dans ce
polygone.
2 polygones ne peuvent pas se croiser car le rsultat du croisement serait un
polygone, de mme dimension, dans ce cas ils se chevauchent .
Le croisement d'un point ou d'une polyligne avec une polyligne donne un point (2
polylignes peuvent se croiser en un point, mais pas sur un segment, dans ce cas elles
se chevauchent).
Enfin 2 points ne peuvent pas se croiser car il faudrait que le rsultat du croisement
soit un objet de dimension infrieure celle d'un point, ce qui n'existe pas.

52

Matrise d'ouvrage : MEDDE - METL - MAAF / Matrise d'uvre :


ENTE Aix - ENSG / Licence ouverte ETALAB

Requtes spatiales

Exemples de relations spatiales avec l'oprateur Croise :

Exemples de relations spatiales "Croise"

Touche (prdicat OGC Touches) :


Les limites des objets ont au moins un point commun et les intrieurs n'ont pas de
point commun
N'est pas applicable aux relations point/point (un point n'a pas de limite)

Matrise d'ouvrage : MEDDE - METL - MAAF / Matrise d'uvre : ENTE Aix - ENSG /
Licence ouverte ETALAB

53

Requtes spatiales

Exemples de relations spatiales avec l'oprateur Touche :

Exemples de relations spatiales "Touche"

Attention
Les oprateurs gographiques utiliss par QGIS sont diffrents de ceux de MapInfo
et offrent une palette beaucoup plus large de requtes spatiales. Certains d'entre eux
(Within - l'intrieur, Contains - Contient) ont le mme nom mais produisent des
rsultats diffrents sur des croisements de donnes identiques.

Fondamental
Les oprateurs gographiques de QGIS prennent en compte la gomtrie intgrale
des objets (relations topologiques normalises par l'OGC) et ignorent la notion de
centrode ( centre gomtrique ) des objets utilise dans MapInfo. Seul
l'oprateur Intersects -Intersecte produit les mmes rsultats dans les deux logiciels

54

Matrise d'ouvrage : MEDDE - METL - MAAF / Matrise d'uvre :


ENTE Aix - ENSG / Licence ouverte ETALAB

Requtes spatiales

puisqu'il prend en compte dans les 2 cas la gomtrie intgrale des objets.

Exemple
Comparaison QGIS - MapInfo pour l'oprateur A l'intrieur de (Within)

Oprateur Within de QGIS (OGC)

Avec MapInfo, ils sont slectionns !

Matrise d'ouvrage : MEDDE - METL - MAAF / Matrise d'uvre : ENTE Aix - ENSG /
Licence ouverte ETALAB

55

Requtes spatiales

Oprateur Within de MapInfo

Remarque
Pour en savoir plus sur les oprateurs gographiques de QGIS, lire le document
Matrices de Clementini et prdicats spatiaux de l'OGC diffus librement
- sur le portail Intranet du Ministre de l'Ecologie, GoInformations,
:
http://geoinfo.metier.i2/IMG/pdf/Predicats_OGC_V3_cle119417.pdf
- sur le portail Internet du Ministre de l'Ecologie, GoInformations :
http://www.geoinformations.developpementdurable.gouv.fr/IMG/pdf/Predicats_OGC_V3_cle119417.pdf

D. requtes spatiales
Exercice 18 : requtes spatiales
Objectif : slectionner des objets l'aide des oprateurs spatiaux de l'extension
requte spatiale
Question
Pralable : vrifier dans le menu extensions / gestionnaires d'extensions l'activation
du module Extension de requte spatiale

56

Matrise d'ouvrage : MEDDE - METL - MAAF / Matrise d'uvre :


ENTE Aix - ENSG / Licence ouverte ETALAB

Requtes spatiales

Ouvrir les couches vectorielles


BD_TOPO\A_RESEAU_ROUTIER\ROUTE.SHP
BD_TOPO\D_HYDROGRAPHIE\SURFACE_EAU.SHP
"Crer une couche depuis la slection" de tous les tronons de la couche ROUTE qui
intersectent les objets de la couche SURFACE_EAU.
Ouvrir les couches vectorielles
BD_TOPO\F_VEGETATION\ZONE_VEGETATION.SHP
BD_TOPO\H_ADMINISTRATIF\COMMUNE.SHP
"Crer une couche depuis la slection" des peupleraies dans ZONE_VEGETATION qui
sont l'intrieur de la commune de la Flche
Indice : Crer un sous-ensemble de la couche COMMUNE et slectionner les
peupleraies avant de crer la requte
Enregistrez votre travail relatif l'exercice comme un projet sous le nom
"NomStagiaire_EX18.qgs" dans le rpertoire "data_foad_qgis" et envoyez ce fichier
par mail la bote aux lettres de l'quipe de formation qui vous a t indique dans
votre protocole individuel de formation.

E. Tableau de synthse des diffrents types de filtres


et de slections
Le tableau ci-dessous prsente toutes les utilisations possibles des filtres et des
slections attributaires et spatiales

Matrise d'ouvrage : MEDDE - METL - MAAF / Matrise d'uvre : ENTE Aix - ENSG /
Licence ouverte ETALAB

57

Requtes spatiales

Tableau de synthse filtre et slection

58

Matrise d'ouvrage : MEDDE - METL - MAAF / Matrise d'uvre :


ENTE Aix - ENSG / Licence ouverte ETALAB

III -

III

Exports

Sauvegarder le rsultat d'un filtre ou d'une slection

59

A. Sauvegarder le rsultat d'un filtre ou d'une


slection
Mthode : Mthode pour sauvegarder le rsultat d'un filtre ou
d'une slection
1- Constructeur de requte (sous-ensemble d'une couche)
Dans la fentre Couches
Clic droit sur la couche sauvegarder
Puis Sauvegarder sous...

Sauvegarder sous

2- Slection par expression ou requte spatiale

Matrise d'ouvrage : MEDDE - METL - MAAF / Matrise d'uvre : ENTE Aix - ENSG /
Licence ouverte ETALAB

59

Exports

Dans la fentre Couches


Clic droit sur la couche sauvegarder
Puis Sauvegarder la slection sous...

Menu Sauvegarder la slection sous... (pour une slection par expression)

Enregistrer la slection en tant que couche vectorielle :


(Cliquer sur le bouton [Plus d'options >>] pour tendre la bote de dialogue) :

Enregistrement de la couche vectorielle

60

Matrise d'ouvrage : MEDDE - METL - MAAF / Matrise d'uvre :


ENTE Aix - ENSG / Licence ouverte ETALAB

Exports

Matrise d'ouvrage : MEDDE - METL - MAAF / Matrise d'uvre : ENTE Aix - ENSG /
Licence ouverte ETALAB

61

Solution des
exercices

> Solution n1 (exercice p. 34)


Solution :
Ouvrir la couche vectorielle avec la commande Couche/Ajouter une couche
vecteur ou cliquer sur l'icne
Choisir le codage ISO 8859-1 (Choisir ce codage pour l'affichage des accents
sur cette table)
Choisir le type de fichier ESRI Shapefiles [OGR]
Slectionner
la
table
COMMUNE
dans
le
rpertoire
\BD_TOPO\H_ADMINISTRATIF
Cliquer sur Open
Slectionner (surligner) les communes qui ont une population suprieure
1000 habitants (Slection par expression)
Slectionner la couche COMMUNE dans le panneau Couches
Ouvrir la table d'attributs avec la commande Couche/Ouvrir la table d'attributs

ou cliquer sur l'Icne

Cliquer sur le bouton Slection par expression

Choisir le champ POPUL, chantillonner pour afficher les valeurs et saisir la


clause SQL Where (Suprieur 1000)
nom du champ : POPUL
Oprateur suprieur (>)
Valeur numrique 1000
Saisie automatique en double cliquant sur les colonnes champs et valeurs et en
cliquant sur l'oprateur

Matrise d'ouvrage : MEDDE - METL - MAAF / Matrise d'uvre : ENTE Aix - ENSG /
Licence ouverte ETALAB

63

Solution des exercices

.
Valider et excuter la slection en cliquant sur le bouton Slection
Afficher uniquement les communes qui ont une population suprieure
1000 habitants (Filtre sur la table)
Slectionner la couche COMMUNE dans le gestionnaire de couches
Crer une requte l'aide de la commande Couche/Filtrer ou dans les
proprits de la couche, onglet gnral, Bouton Constructeur de requte.
Choisir le champ POPUL, chantillonner pour afficher les valeurs et saisir la clause
SQL Where (Suprieur 1000)
nom du champ entre double quotes : "POPUL"
Oprateur suprieur (>)
Valeur numrique 1000
Saisie automatique en double cliquant sur les colonnes champs et valeurs et en
cliquant sur l'oprateur

64

Matrise d'ouvrage : MEDDE - METL - MAAF / Matrise d'uvre :


ENTE Aix - ENSG / Licence ouverte ETALAB

Solution des exercices

Image 1 .
Remarque : On constate les rsultats diffrents entre la slection par
expression et le constructeur de requte

Matrise d'ouvrage : MEDDE - METL - MAAF / Matrise d'uvre : ENTE Aix - ENSG /
Licence ouverte ETALAB

65

Вам также может понравиться