Pages: 1
- Sujet précédent - QGIS: Carte cercles proportionnels pour representer différents champs - Sujet suivant
#1 Tue 16 January 2018 11:46
- MP911
- Participant occasionnel
- Date d'inscription: 4 May 2017
- Messages: 26
QGIS: Carte cercles proportionnels pour representer différents champs
Bonjour,
Depuis quelque jours s'essaye de trouver une solution à une carte que je dois réaliser.
Je dois faire une carte où apparaissent la quantité de salariés qu'il y a par type industries (il y a 10 industries au total classées par colonne) dans 12 zone d'emplois différentes.
J'ai essayé différents tests mais je n'arrive pas à créer cette carte :
-j'ai essayé les diagrammes mais je ne comprends pas comment ça marche les dagrammes pondéré la taille
-j'ai essayé les cercles proportionnels mais on ne peut pas choisir plusieurs champs à representer
Auriez-vous un conseil svp?? Je mets mon fichier execel en csv en pièce jointe si ça peut aider à comprendre mon problème
Merci beaucoup!
Hors ligne
#2 Tue 16 January 2018 13:03
Re: QGIS: Carte cercles proportionnels pour representer différents champs
Bonjour,
Votre fichier est composé de 10 colonnes.
Pour la pondération par la taille, il suffit de faire la somme des champs dont la valeur servira à régler la taille :
n1_pcp + n2_ic + (...) + n10_ti
Il faut toujours veiller, avant, à ce qu'un des champs ne soit pas nul car NULL + 10 par exemple donne NULL. Mais ce n'est pas votre cas.
Les cercles proportionnels ne sont pas forcément appropriés dans votre cas si vous souhaitez représenter plusieurs champs
geodata au cerema et petits billets en géomatique
Hors ligne
#3 Tue 16 January 2018 14:36
- MP911
- Participant occasionnel
- Date d'inscription: 4 May 2017
- Messages: 26
Re: QGIS: Carte cercles proportionnels pour representer différents champs
Merci Mathieu, j'ai fait la somme comme vous m'avez dit et ça marche.
Je me permets de demander si vous savez comment je peut mettre des étiquettes pour les diagrammes? C'est à qu'à coté de chaque couleur du diagramme apparaissent la quantité de salariés?
Par exemple, dans Aurillac j'ai un diagrammes avec 2 couleurs et je voudrais afficher les valeurs 550 et 700 correspondant aux salariés de chaque type d'industrie?
Merci à nouveau!
Hors ligne
#4 Tue 16 January 2018 15:27
Re: QGIS: Carte cercles proportionnels pour representer différents champs
Bonjour,
Un article de GéoInfos explique comment procéder pour réaliser l'étiquetage
http://www.geoinformations.developpemen … a3526.html
Il faudra bidouiller, notamment créer autant de couches que de classes et utiliser des fonctions de cosinus et sinus
geodata au cerema et petits billets en géomatique
Hors ligne
#5 Tue 16 January 2018 17:54
- MP911
- Participant occasionnel
- Date d'inscription: 4 May 2017
- Messages: 26
Re: QGIS: Carte cercles proportionnels pour representer différents champs
J'ai essayer de le faire mais c'est trop compliqué avec les formules, ça me mets erreur de syntaxe à chaque fois
Quand il fait référence à "POPULATION", je dois prendre la colonne qui a la somme totale des salariés (celle qui m'a servie à faire les diagrammes)? Je ne comprends pas comment appliquer cette formule à ma carte :
to_string( ((sqrt(("POPULATION"/ maximum( "POPULATION" )))*2000/2)+250)
* cos(pi()/2+pi()* ("POPULATION" / ("POPULATION" + "Pop_2030" + "pop_2050"))))
|| ',' ||
to_string( -((sqrt(("POPULATION"/ maximum( "POPULATION" )))*2000/2)+250)
* sin(pi()/2+pi()* ("POPULATION" / ("POPULATION" + "Pop_2030" + "pop_2050"))) )
Merci coup les coups de mains
Hors ligne
#6 Wed 17 January 2018 10:08
Re: QGIS: Carte cercles proportionnels pour representer différents champs
Bonjour,
Vous n'avez pas de colonne initulée POPULATION dans votre csv. Quels sont les messages d'erreur ?
Dans la formule "POPULATION" + "Pop_2030" + "pop_2050" correspond à la somme de vos variables n1_pcp + n2_ic + (...) + n10_ti
Et "POPULATION" correspond, ici, à la variable à étiqueter. Donc, ce sera, pour une couche, n1_pcp , pour une autre n2_ic , etc...
Quoi qu'il en soit, ce sera difficile à débugger à distance. Ce que je vous conseille, c'est de bien décortiquer la formule, d'en séparer les différentes parties et d'y aller pas à pas. Vous pouvez aller à la ligne et ajouter des commentaires avec -- pour vous aider lors du débuggage
geodata au cerema et petits billets en géomatique
Hors ligne
#7 Wed 24 January 2018 11:57
- MP911
- Participant occasionnel
- Date d'inscription: 4 May 2017
- Messages: 26
Re: QGIS: Carte cercles proportionnels pour representer différents champs
Bonjour,
J'ai fait pas à pas mais lors de le générateur de géométrie ce message apparaît:
Erreur d'analyse:
syntax error, unexpected '(', expecting COMMA or ')'
Erreur d'évaluation:
Pas de nœud racine !
Voici ce que j'ai écrit dans la générateur de géométrie :
Make_Line(
make_point(
CentroidX() +
(sqrt(( "salaries_activites_n1_pcp" / maximum( "salaries_activites_n1_pcp" )))*2000/2)
* cos(pi()/2+pi()* ( "salaries_activites_n1_pcp" / ( "salaries_activites_n1_pcp" + "salaries_activites_n2_ic"
+ "salaries_activites_n3_pei" + "salaries_activites_n4_iaa" + "salaries_activites_n5_mfp" +
"salaries_activites_n6_ip" + "salaries_activites_n7_thcc" + "salaries_activites_n8_mt" +
"salaries_activites_n9_fme" + "salaries_activites_n10_ti" ))) ,
CentroidY()+
(sqrt(( "salaries_activites_n1_pcp" / maximum( "salaries_activites_n1_pcp" )))*2000/2)
* sin(pi()/2+pi()* ( "salaries_activites_n1_pcp" / ( "salaries_activites_n1_pcp" + "salaries_activites_n2_ic"
+ "salaries_activites_n3_pei" + "salaries_activites_n4_iaa" + "salaries_activites_n5_mfp" +
"salaries_activites_n6_ip" + "salaries_activites_n7_thcc" + "salaries_activites_n8_mt" +
"salaries_activites_n9_fme" + "salaries_activites_n10_ti"))) ),
make_point(
CentroidX() +
((sqrt(( "salaries_activites_n1_pcp" / maximum( "salaries_activites_n1_pcp" )))*2000/2)+200)
* cos(pi()/2+pi()* ( "salaries_activites_n1_pcp" / ( "salaries_activites_n1_pcp" + "salaries_activites_n2_ic"
+ "salaries_activites_n3_pei" + "salaries_activites_n4_iaa" + "salaries_activites_n5_mfp" +
"salaries_activites_n6_ip" + "salaries_activites_n7_thcc" + "salaries_activites_n8_mt" +
"salaries_activites_n9_fme" + "salaries_activites_n10_ti"))) ,
CentroidY()+
((sqrt(( "salaries_activites_n1_pcp" / maximum( "salaries_activites_n1_pcp" )))*2000/2)+200)
* sin(pi()/2+pi()* ( "salaries_activites_n1_pcp" / ( "salaries_activites_n1_pcp" + "salaries_activites_n2_ic"
+ "salaries_activites_n3_pei" + "salaries_activites_n4_iaa" + "salaries_activites_n5_mfp" +
"salaries_activites_n6_ip" + "salaries_activites_n7_thcc" + "salaries_activites_n8_mt" +
"salaries_activites_n9_fme" + "salaries_activites_n10_ti"))) )
)
Par ailleurs, ma géométrie sont des polygones et non des lignes, comment je peux faire pour adapter la formule à des polygones?
Est-ce que vous avez trouvez une solution à cela?
Merci beaucoup!
Hors ligne
#8 Thu 01 February 2018 12:27
Re: QGIS: Carte cercles proportionnels pour representer différents champs
Bonjour,
Il y a un souci de parenthèse en trop ou en défaut à mon avis !
Pas à pas signifie par exemple :
tester
Code:
maximum( "salaries_activites_n1_pcp" )
puis
Code:
"salaries_activites_n1_pcp" / maximum( "salaries_activites_n1_pcp" )
puis
Code:
sqrt(( "salaries_activites_n1_pcp" / maximum( "salaries_activites_n1_pcp" ))
etc..
Bon courage !
geodata au cerema et petits billets en géomatique
Hors ligne
Pages: 1
- Sujet précédent - QGIS: Carte cercles proportionnels pour representer différents champs - Sujet suivant