Annonce
Pour sa 21ème année, l’association GeoRezo a toujours besoin de vous !
10€ = 1 mois de frais bancaires ; 15€ = 12 mois de nom de domaine ; 30€ = 1 semaine de location des serveurs …
Retrouver nos membres bienfaiteurs
#1 Wed 03 June 2020 16:51
- LouiseXR
- Juste Inscrit !
- Date d'inscription: 15 May 2020
- Messages: 5
QGIS: Diagramme camembert
Bonjour à tous,
J'avais un problème de diagramme camembert, que j'ai en partie résolu grâce à ce sujet :
https://georezo.net/forum/viewtopic.php?id=95676
J'ai des données de ce type :
id critere1 critere2 critere3 Ville Exploitation
1 0 0 1 A Y
2 1 0 0 B Z
3 0 0 1 C W
4 1 0 0 C W
5 0 0 1 C X
6 1 0 0 D V
Je voudrais obtenir une carte représentant, pour chaque commune, le type de matériel installé (mes différents critères).
Pour le moment, j'obtiens ceci. S'il y a deux exploitations sur une même commune, il ne tient que d'une.
Dans le cas où une exploitation à différents matériels (lignes 3 et 4), je peux facilement régler le sujet en combinant ces deux lignes.
Mais comment faire lorsqu'il y a plusieurs exploitations sur la même commune ?
J'espère que ma demande est claire.
Merci par avance pour votre aide
Louise
Hors ligne
#2 Thu 04 June 2020 10:50
- Julien81
- Participant assidu
- Lieu: Giroussens
- Date d'inscription: 14 Jan 2019
- Messages: 181
Re: QGIS: Diagramme camembert
Bonjour
vous voulez comptabiliser les matériels et exploitation à la commune, en sql :
SELECT "Ville", sum ("critère1") as" "critère1", sum ("critère2") as "critère2", sum("critère3") as "critère3", count("Exploitation") FROM table GROUP BY "Ville"
A adapter, peut être exécuté à partir de votre couche actuelle (remplacer FROM 'table' par le nom) via l'ajout d'une couche virtuelle.
Vous obtiendrez une ligne par commune avec les sommes et décomptes permettant de réaliser votre diagramme communal. Éventuellement via jointure sur vos polygones commune, du résultat, ou intégrer la géometrie (dans la requête)
Bonne journée
Dernière modification par Julien81 (Thu 04 June 2020 10:53)
Hors ligne
#3 Thu 04 June 2020 13:48
- LouiseXR
- Juste Inscrit !
- Date d'inscription: 15 May 2020
- Messages: 5
Re: QGIS: Diagramme camembert
Bonjour,
Je vous remercie pour cette aide.
J'ai tenté de l'adapter à mes données comme cela :
SELECT "insee", sum ("Smartvel") as "Smartvel", sum ("SenseTime") as "SenseTime", sum("Heatime") as "Heatime", sum ("Heatphone") as "Heatphone", sum ("Heatphone_rouge") as "Heatphone_rouge", count("ELEVAGE") FROM liaison_materiel_commune GROUP BY "insee"
Le message suivant s'affiche :
Query preparation error on SELECT ""insee"", "Smartvel", "SenseTime", "Heatime", "Heatphone", "Heatphone_rouge", "count("ELEVAGE")" FROM _tview LIMIT 1: near """": syntax error
Je n'arrive pas à identifier où est l'erreur de syntaxe...
Hors ligne
#4 Thu 04 June 2020 17:17
- Julien81
- Participant assidu
- Lieu: Giroussens
- Date d'inscription: 14 Jan 2019
- Messages: 181
Re: QGIS: Diagramme camembert
Vos champs pour les sommes sont ils bien numériques?
Code:
SELECT "insee", sum ("Smartvel") as "Smartvel", sum ("SenseTime") as "SenseTime", sum("Heatime") as "Heatime", sum ("Heatphone") as "Heatphone", sum ("Heatphone_rouge") as "Heatphone_rouge", count("ELEVAGE") as nb_elevages FROM liaison_materiel_commune GROUP BY "insee"
J'avais oublié l'alias dans mon exemple pour le count("Exploitation") as "nb_exploitations", je pense que l'erreur vient de là pour vous
cdlt
Hors ligne
#5 Mon 08 June 2020 11:46
- LouiseXR
- Juste Inscrit !
- Date d'inscription: 15 May 2020
- Messages: 5
Re: QGIS: Diagramme camembert
Bonjour,
Je vous remercie, ça a marché, j'arrive à faire apparaître mes diagrammes.
J'ai maintenant une nouvelle question :
Je voudrais que le nom des communes où il y a du matériel apparaisse. Je ne les voudrais pas sur la carte pour qu'elle reste lisible.
J'ai essayé d'utiliser les connecteurs mais visiblement je fais mal quelque chose car rien ne s'affiche.
Existe-t-il un moyen de lier l'étiquette d'une commune au diagramme correspondant par un connecteur et que toutes les étiquettes soient à l'extérieur de la carte?
Merci,
Bonne journée
Louise
Hors ligne