#1 Tue 18 September 2012 17:23
QGIS : requête spatiale et aggrégation de donnée
Bonjour à tous,
le titre n'est peut-être pas très explicite mais je ne trouve pas mieux à cette heure...
Je cherche à réaliser avec QGis une requête qui me permette, à partir de deux fichiers shp de polygones, l'un contenant des secteurs, l’autre une cartographie des habitats naturels de calculer la somme des surfaces par habitat pour chacun des secteurs.
En gros l'équivalent pour les adeptes du SQL de la requête suivante
Code:
SELECT secteurs.id, type_habitat, sum(area2d(st_intersection(secteurs.geometrie,habitat.geometrie))) FROM secteurs JOIN habitat ON st_intersects(secteurs.geometrie,habitat.geometrie) GROUP BY secteurs.id, type_habitat
Actuellement je n'y arrive qu'en réalisant une "jointure des attributs par localisation" mais cela ne me permet "que" de créer un shapefile avec l'ensemble des attributs des deux couches que je dois mouliner dans un tableur.
Merci par avance de votre aide,
Bonne fin de journée,
Mathieu Bossaert
Dernière modification par Mathieu BOSSAERT (Tue 18 September 2012 17:48)
Mathieu BOSSAERT
Association GeoRezo
Hors ligne
#2 Wed 19 September 2012 14:07
Re: QGIS : requête spatiale et aggrégation de donnée
Pourquoi vouloir le faire sous QGIS si vous savez le faire sous postgis?
Il existe peut-être un plugin pour faire cela (?)
Sinon, il faut se contenter de la solution tableur.
geodata au cerema et petits billets en géomatique
Hors ligne
#3 Wed 19 September 2012 15:53
Re: QGIS : requête spatiale et aggrégation de donnée
Bonjour,
Pourquoi vouloir le faire sous QGIS si vous savez le faire sous postgis?
Pour me rappeler pourquoi nous avons mis en place une base de données spatiales ;-)
Non simplement parce que ce n'est pas moi qui ait besoin de faire cette manip mais un collègue qui gère ses propres données dans des shp.
Je n'ai rien trouvé depuis hier. Je ne pense pas pouvoir le faire sans créer une couche résultant de la jointure spatiale et exploiter le dbf dans un tableur.
Autre piste qu'il faudra que je suive pour ces cas particulier, utiliser une base base spatialite et faire une requête sql.
Merci.
Dernière modification par Mathieu BOSSAERT (Wed 19 September 2012 15:53)
Mathieu BOSSAERT
Association GeoRezo
Hors ligne
#4 Wed 19 September 2012 16:03
Re: QGIS : requête spatiale et aggrégation de donnée
Mathieu,
Désolé je n'ai pas beaucoup suivit, mais peut être que tu peux trouver un moyen avec un script Python. Il y a des exemples dans le site des plugins de QGIS (onglet Snippet)
Y.
Yves Jacolin, bénévole de l'association GeoRezo.net, agit au nom et pour le compte de l'association - Partageons ce qui nous départage !! - GeoRezo vous aide ? Aidez GeoRezo !
Hors ligne
#6 Wed 19 September 2012 18:16
Re: QGIS : requête spatiale et aggrégation de donnée
Salut Yves,
merci je vais y jeter un oeil.
@baobazz : oui c'est ce que j'entendais par "requête" dans spatialite, je ne connais pas bien et je ne sais pas si ce SGBD gère les vues
Merci encore.
Dernière modification par Mathieu BOSSAERT (Wed 19 September 2012 18:16)
Mathieu BOSSAERT
Association GeoRezo
Hors ligne
#7 Wed 19 September 2012 20:50
Re: QGIS : requête spatiale et aggrégation de donnée
Mathieu,
Spatialite et PostGIS se basent sur le même standard, donc la requête sera identique delta le nom de la colonne géoémtrique !
Y.
Yves Jacolin, bénévole de l'association GeoRezo.net, agit au nom et pour le compte de l'association - Partageons ce qui nous départage !! - GeoRezo vous aide ? Aidez GeoRezo !
Hors ligne
#9 Thu 20 September 2012 10:20
- Ludovic L
- Membre
- Lieu: Tours
- Date d'inscription: 23 Jun 2005
- Messages: 333
Re: QGIS : requête spatiale et aggrégation de donnée
Salut Mathieu,
J'arrive après la bataille mais effectivement, il faut faire le travail par étape avec les shapefile. Il manque une fonction dans qgis qui existait sous arcview 3 qui est la fonction 'resume' sur plusieurs champs. Avec qgis en standard, il n'existe qu'une fonction pour lister les valeurs uniques d'un champ, sans meme pouvoir calculer le cumul d'un autre (genre surface).
C'est effectivement une lacune fonctionnelle qui oblige soit à passer par une BD spatiale, soit par un tableur.
Conservatoire d'espaces naturels Centre-Val de Loire
Responsable SIG et informatique
Hors ligne
#10 Thu 20 September 2012 16:41
Re: QGIS : requête spatiale et aggrégation de donnée
On peut faire la somme depuis vecteur > outils d'analyse > stats basiques sur des entités sélectionnées mais par par identifiant..
sgbd oblige ou plugin à développer (utile, je pense)
Suggérer à la communauté QGIS?
geodata au cerema et petits billets en géomatique
Hors ligne
#12 Wed 03 October 2012 11:37
- Ludovic L
- Membre
- Lieu: Tours
- Date d'inscription: 23 Jun 2005
- Messages: 333
Re: QGIS : requête spatiale et aggrégation de donnée
Salut,
Je déterre le sujet suite à un autre qui donne une réponse intéressante avec un plugin nommé group stats :
http://georezo.net/forum/viewtopic.php? … 04#p219204
Conservatoire d'espaces naturels Centre-Val de Loire
Responsable SIG et informatique
Hors ligne