VI. Sélectionner des données : les requêtes
VI.2 Sélectionner des éléments en fonction de leur position par rapport à d'autres : requêtes spatiales
Nous venons de voir comment sélectionner des éléments en fonction des données de la table attributaire ; nous allons voir ici comment sélectionner des éléments en fonction de leur position par rapport aux éléments d'une autre couche.
Contrairement aux requêtes attributaires, les requêtes spatiales mettent donc le plus souvent deux couches en jeu : une couche dans laquelle sera faite la sélection, et une couche de référence.
On peut par exemple, à l'aide d'une couche de points et d'une couche de polygones, sélectionner tous les points situés dans les polygones.
Faire une requête spatiale simple
Ouvrez un nouveau projet QGIS et ajoutez-y la couche communes_Bretagne.
En vous connectant au flux WFS https://geobretagne.fr/geoserver/dreal_b/wfs, ajoutez également au projet la couche Eoliennes implantations en Bretagne.
Au cas où la connexion au flux échouerait, cette couche est également disponible dans le dossier TutoQGIS_06_Requetes.
Le but va être ici de sélectionner toutes les communes de Bretagne sur lesquelles sont implantées une ou plusieurs éoliennes.
Les données provenant d'un flux, il est possible que vos requêtes donnent des résultats légèrement différents de ceux présentés ici, si le flux a été mis à jour !
Si la boîte à outils de traitements n'est pas visible, activez-la en vous rendant dans le menu Traitement → Boîte à outils.
Dans la rubrique Sélection dans un vecteur, double-cliquez sur l'outil Sélection par localisation :
- Sélectionnez les entités depuis : il s'agit de la couche dans laquelle sera faite la sélection, sélectionnez la couche de communes
- Où les entités : différents opérateurs sont disponibles. Vous pouvez choisir intersecte, ou bien contient, pour le même résultat dans ce cas
- En comparant les entités de : cette formulation obscure vous invite à choisir la couche par rapport à laquelle vous souhaitez sélectionner des entités, ici la couche d'éoliennes puisque nous voulons sélectionner les communes contenant des éoliennes
- Vérifiez que Créer une nouvelle sélection soit bien l'option choisie, afin de ne pas partir d'une sélection existante
- Cliquez sur Exécuter, vous pouvez ensuite fermer la fenêtre.
Vous devriez obtenir 256 communes sélectionnées (mais ce nombre peut varier légèrement si vous chargez les données via le flux WFS et qu'elles ont été mises à jour depuis la rédaction de ce tutoriel) :
Vous pouvez voir le nombre d'entités sélectionnées dans la barre tout en bas de la fenêtre de QGIS :
ou bien en haut de la table attributaire des communes :
Les opérateurs
Dans l'exemple ci-dessus, nous avons utilisé l'opérateur Intersecte ou Contient. Il en existe d'autres ; les opérateurs possibles varient en fonction de la nature des couches source et de référence (point, ligne, polygone).
Couche de départ : | |||||||
---|---|---|---|---|---|---|---|
Couche de référence : | |||||||
A l'intérieur | |||||||
Chevauche | |||||||
Croise | |||||||
Contient | |||||||
Est disjoint | |||||||
Est égal | |||||||
Intersecte | |||||||
Touche |
Par exemple, un point peut se trouver à l'intérieur d'un polygone mais une ligne ne peut se trouver à l'intérieur d'un point.
Pour en savoir plus sur les différents opérateurs, rendez-vous ici ou là (en anglais, mais les dessins sont parlants !).
Quelques exemples
Connectez-vous au flux WFS http://services.sandre.eaufrance.fr/geo/zonage et ajoutez la couche Cours d'eau de plus de 100km - BD Carthage - France entière.
Ajoutez également si ça n'est pas déjà fait la couche DEPARTEMENT.
Votre projet doit donc contenir les 4 couche suivantes :
En utilisant différents opérateurs, pouvez-vous dire ?...
Entre deux requêtes, n'oubliez pas de tout désélectionner :
Attention, le nombre d'entités sélectionnées peut varier légèrement si vous chargez des données via des flux WFS et que ces données ont été mises à jour depuis la rédaction de ce tutoriel.
Sélection des communes qui intersectent les cours d'eau : 447 communes sélectionnées.
Sélection des cours d'eau qui intersectent les communes (ou les départements bretons préalablement sélectionnés) : 68 cours d'eau sélectionnés.
Sélection des communes disjointes des éoliennes : 952 communes sélectionnées
Vous pouvez aussi repartir des communes contenant des éoliennes, et inverser la sélection avec le bouton correspondant en haut de la table attributaire des communes.
Il faut procéder en 2 étapes : 1/ sélectionner « à la main » le département du Finistère 2/ utiliser l'outil de sélection par localisation pour sélectionner les éoliennes à l'intérieur des départements, en cochant la case Entités sélectionnées uniquement.
Au final, on trouve 656 éoliennes sélectionnées.
Dans le chapitre suivant, nous verrons comment combiner une ou plusieurs requêtes, spatiales ou attributaires !
chapitre précédent chapitre suivant
haut de page