#1 Tue 20 August 2013 14:14
- Galinace
- Juste Inscrit !
- Date d'inscription: 28 Feb 2013
- Messages: 8
QGIS 1.8.0 : Requête spatiale mais pas que ...
Bonjour à tous,
désolé pour ce titre pas très explicite mais étant peu rodé au SIG, je ne connais pas bien les termes dédiés.
Donc, je dispose de deux couches ayant pour objets des polygones : prenons la couche Corine Land Cover (occupation du sol) et la couche des départements de métropole. Je cherche simplement à obtenir une table contenant pour chaque département, le type de sol et sa surface (les infos contenues dans la table Corine).
Cela semble tout simple, mais impossible de trouver dans les différents tutos dédiés à QGIS. J'ai réalisé une requête spatiale mais si j'obtiens bien les départements contenant des objets de la couche Corine, la sélection ne précise pas les attributs des différents objets.
Vous voyez l'idée ?
Merci beaucoup pour votre aide
Hors ligne
#2 Tue 20 August 2013 14:57
- SANTANNA
- Moderateur
- Lieu: Angers
- Date d'inscription: 18 Jan 2008
- Messages: 3945
Re: QGIS 1.8.0 : Requête spatiale mais pas que ...
Bonjour,
J'ai réalisé une requête spatiale mais si j'obtiens bien les départements contenant des objets de la couche Corine, la sélection ne précise pas les attributs des différents objets.
Pourriez-vous préciser quels traitements vous avez effectués (outil utilisé) et quel est le contenu du résultat obtenu (quand vous dites que la sélection ne précise pas les attributs des différents objets)?
Compte tenu de la nature des périmètres CLC qui n'ont que faire des limites administratives et en supposant que la couche CLC couvre l'ensemble de vos départements, je pense que l'outil Intersection accessible dans Menu Vecteur > Outils de géotraitement devrait vous apporter une réponse. Il crée une nouvelle couche en saucissonnant une première couche par une seconde en autant de polygones qui se chevauchent et met bout à bout l'ensembles champs de polygones concernés (en d'autres termes, chaque bout d'objet CLC récupérera les valeurs du département dans lequel il se trouve). (la fonction Union devrait peu ou prou donner le même résultat, je crois)
Par contre, si à la base, votre couche CLC contenait un champ surfaces, il faudra surement recalculer ce champ avant traitement.
Hors ligne
#3 Tue 20 August 2013 15:43
- Galinace
- Juste Inscrit !
- Date d'inscription: 28 Feb 2013
- Messages: 8
Re: QGIS 1.8.0 : Requête spatiale mais pas que ...
Merci pour votre réponse.
J'ai simplement utilisé l'outil "Requête spatiale" dans "Vecteur". Avant, j'utilisais Mapinfo : l'interface de requête me permettait de préciser les champs que je souhaitais dans la sélection obtenue...
Votre solution semble intéressante mais le recalcule de la surface des nouveaux polygones me pose un nouveau problème.
Je suis bien conscient du fait que les polygones CLC ne collent pas aux limites administratives (en fait ce sont d'autres types d'objet mais cela revient au même) : j'aurais bien spécifiés les objets qui sont contenus et intersectent mais je n'ai pas l'impression que cela soit possible avec QGIS
Hors ligne
#4 Tue 20 August 2013 17:15
- SANTANNA
- Moderateur
- Lieu: Angers
- Date d'inscription: 18 Jan 2008
- Messages: 3945
Re: QGIS 1.8.0 : Requête spatiale mais pas que ...
J'ai simplement utilisé l'outil "Requête spatiale" dans "Vecteur"
Sauf erreur de ma part, cette fonction vous permet effectivement de récupérer des objets selon leur localisation par rapport à des objets d'une autre couche mais en effet elle ne vous afficherait que les champs de la couche de départ. Pas de mix de champ. L'intérêt est de pouvoir récupérer dans une nouvelle couche des entités qui satisfont une même condition geospatiale. et la configuration de vos objets ne correspond pas encore à ce type de traitement.
Je suis bien conscient du fait que les polygones CLC ne collent pas aux limites administratives (en fait ce sont d'autres types d'objet mais cela revient au même) : j'aurais bien spécifiés les objets qui sont contenus et intersectent mais je n'ai pas l'impression que cela soit possible avec QGIS
Le fait que les entités CLC ne soient pas calées sur les départements n'est pas un problème en soi. Mais si on fait juste une requête sur quels sont les entités CLC qui sont contenues dans le département ou qui l'intersectent, on risque de prendre des objets à cheval sur au moins deux départements. Prendre les surfaces de tels objets fausse la donne pour le département vu qu'une partie de cet objet est chez le voisin. D'où la nécessité de prédécouper les entités CLC par les limites de département > Toute entité CLC sera contenue dans un et un seul département.
Votre solution semble intéressante mais le recalcule de la surface des nouveaux polygones me pose un nouveau problème.
Pour recalculer la surface des polygones, dans la nouvelle table obtenue, créez (ou assurez-vous qu'il y ait) un champ numérique.
Clic droit sur la couche > Basculer en mode édition
Ouvrir la table d'attributs > ouvrir la calculatrice de champs, sélectionnez votre champ sous "champ de mise à jour" et dans l'encart expression tapez $area. Validez. Toutes vos entités auront leur surface affichée dans le champ en question. Sortez du mode édition.
Vous pouvez faire vos stats sans souci avec notamment ce plugin que j'affectionne beaucoup Group Stats (accessible dans Extension > Installateur d'extensions python).
Hors ligne
#5 Wed 21 August 2013 09:19
Re: QGIS 1.8.0 : Requête spatiale mais pas que ...
je dirais :
- intersection spatiale département * CLC
- ajouter colonnes géométriques
- group stats pour avoir la surface de CLC par département et par type
geodata au cerema et petits billets en géomatique
Hors ligne
#6 Wed 21 August 2013 17:45
- Galinace
- Juste Inscrit !
- Date d'inscription: 28 Feb 2013
- Messages: 8
Re: QGIS 1.8.0 : Requête spatiale mais pas que ...
Merci beaucoup : ça semble (après de lonnnnnnnngues minutes) avoir marché
Hors ligne