Nous utilisons des cookies pour vous garantir la meilleure expérience sur notre site. Si vous continuez à utiliser ce dernier, nous considèrerons que vous acceptez l'utilisation des cookies. J'ai compris ! ou En savoir plus !.
banniere

Le portail francophone de la géomatique


Toujours pas inscrit ? Mot de passe oublié ?
Nom d'utilisateur    Mot de passe              Toujours pas inscrit ?   Mot de passe oublié ?

Annonce

Rencontres QGIS 2025

L'appel à participation est ouvert jusqu'au 19 janvier 2025!

#1 Thu 17 January 2019 10:06

meumeu
Juste Inscrit !
Date d'inscription: 6 May 2008
Messages: 6

QGIS: Requête SQL, enfin je pense que c'est ça ?

Bonjour,

J'utilise depuis peu Qgis et j'ai réussi pour l'instant à me débrouiller en autoformation pour ce que j'avais à faire mais là je cale...

Mon problème est le suivant, j'ai une couche des IRIS et une couche des bâtiments se trouvant dans ces IRIS, je souhaiterai pour chaque IRIS connaitre la somme de surfaces bâties (cadastre) s’y trouvant. Je pense qu'une requête SQL permet ça, l'idée serait de créer une colonne dans la table des IRIS qui indiquerait pour chaque ilots la somme des surfaces bâties qui y sont présentes. J'ai créé une base de données SpatiaLite dans laquelle j'ai mis mes 2 couches pour pouvoir réaliser une requête sauf que je ne sais pas comment procéder pour construire la requête correspondant à ce que je souhaite faire...

Par avance je vous remercie de votre aide, en espérant que me demande soit claire et que le solution ne soit pas trop compliquée à mettre en oeuvre.

Hors ligne

 

#2 Thu 17 January 2019 10:25

conejo
Participant assidu
Lieu: Lunel
Date d'inscription: 2 Dec 2005
Messages: 1670

Re: QGIS: Requête SQL, enfin je pense que c'est ça ?

Bonjour,

Dans Vecteur, Outils de gestion des données, vous avez "joindre les attributs par localisation". Vous pourrez intégrer à votre couche IRIS, cad pour chaque ilôt, des statistiques concernant le bâti.

Hors ligne

 

#3 Thu 17 January 2019 11:28

meumeu
Juste Inscrit !
Date d'inscription: 6 May 2008
Messages: 6

Re: QGIS: Requête SQL, enfin je pense que c'est ça ?

Merci pour la réponse!

J'ai réussi mais pas comme je le souhaitait initialement, en faisant une jointure à partir de ma couche IRIS je n'obtenais aucun résultats en revanche en faisant la jointure à partir de la couche bati j'ai pu obtenir pour chaque bâtiment dan quel IRIS il se trouvait! A partir de là je fais un export CSV puis je travaille ce fichier après une conversion excel pour déterminer à l'aide d'un TCD mes sommes de surfaces bâties par IRIS! Et voilà

Dommage que je doive passer par l'export CSV mais le principal c'est que ça marche!

Hors ligne

 

#4 Thu 17 January 2019 13:51

SANTANNA
Moderateur
Lieu: Angers
Date d'inscription: 18 Jan 2008
Messages: 3947

Re: QGIS: Requête SQL, enfin je pense que c'est ça ?

Bonjour,

Dommage que je doive passer par l'export CSV mais le principal c'est que ça marche!


Des alternatives plus ou moins complexes existent pour rester dans QGIS (indiquées non pas par ordre de complexité):
- créer une couche virtuelle à l'aide d'une requête SQL faisant l'agrégation (je pense que vous trouverez des discussions sur le forum pour composer quelque chose)
- sous QGIS 3, utiliser l'algorithme de jointure spatiale (résumé) (ou un nom du genre)
- créer un champ numérique dans la table IRIS et appliquer une expression avec les fonctions d'agrégats (voir l'aide si besoin), du type

Code:

aggregate(layer:='matablebatiment', --la couche dont on veut récupérer les informations
 aggregate:='sum',  -- le genre de stats à opérer
expression:="champsurfacedelatablebatiment", -- le champ sur lequel faire l'opération ou remplacer par $area
filter:=within($geometry, geometry(@parent)) -- les entités à prendre en compte et notamment dans ce cas-ci, les bâtiments [b]contenus[/b] dans la géométrie de la couche parent càd la couche IRIS.
)

nota: Toutes ces méthodes ne traitent pas uniformément les bâtiments qui seraient à cheval sur deux Iris (is that possible?)

Dernière modification par SANTANNA (Thu 17 January 2019 13:53)

Hors ligne

 

Pied de page des forums

Powered by FluxBB