#1 Wed 20 November 2013 00:55
- conejo
- Participant assidu
- Lieu: Lunel
- Date d'inscription: 2 Dec 2005
- Messages: 1670
QGIS : Cercles proportionnels à partir d'une jointure
Bonjour,
j'ai fait une jointure sur des données de pop pour en faire des cercles proportionnels. Seulement, ces données jointes ne peuvent pas être prises en compte pour fixer la taille des cercles. En effet, ces données jointes restent sur le côté gauche de chaque champ, alors que manifestement, QGIS ne prend en compte que les données figurant sur la droite de chaque champ pour fixer la taille des cercles. Je précise que la jointure s'est faite à partir d'un fichier .csv.
Que faut-il faire pour que ces données jointes puissent être prises en compte pour qu'elles puissent fixer la taille des cercles proportionnels?
Merci.
Hors ligne
#2 Wed 20 November 2013 09:02
- jacques féraud
- Participant actif
- Date d'inscription: 13 Sep 2011
- Messages: 76
Re: QGIS : Cercles proportionnels à partir d'une jointure
Bonjour,
Si les données jointes se situent à gauche de la colonne, c'est qu'elles sont au format texte et non pas numérique, il est donc normal que Qgis ne les prenne pas en compte.
Pour transformer en nombre, il faut utiliser la calculatrice de champ et la fonction "vers réel" ou "vers entier" :
to real (nom du champ des données jointes) ou to int (nom du champ des données jointes)
çà marche sur Qgis 1.7.4, je pense que les mêmes fonctions existent aussi dans les autres versions.
Cordialement,
Hors ligne
#3 Wed 20 November 2013 11:39
- conejo
- Participant assidu
- Lieu: Lunel
- Date d'inscription: 2 Dec 2005
- Messages: 1670
Re: QGIS : Cercles proportionnels à partir d'une jointure
Je n'arrive à changer le format des données. Pour info je t'ai posté en pj comment je fais
Hors ligne
#4 Wed 20 November 2013 12:25
- SANTANNA
- Moderateur
- Lieu: Angers
- Date d'inscription: 18 Jan 2008
- Messages: 3947
Re: QGIS : Cercles proportionnels à partir d'une jointure
Bonjour,
faites plutôt les modifications préalablement sur votre csv, dans une interface type excel (Sélectionnez les colonnes > Format de cellule > Nombre).
Enregistrez puis revenez dans QGIS.
L'astuce proposée par Jacques permet effectivement de générer des valeurs ayant un autre type (convertir du texte en nombre ou inversement) mais étant donné que les champs de votre csv sont reconnus par QGIS comme étant de type texte, je pense que la conversion ne générera pas pour autant des nombres; il faut en effet que le champ réceptacle soit aussi du numérique (ce qui n'est pas le cas vu que vous calculez dans la même table). Il aurait fallu créer de nouveaux champs, numériques ceux-là, et faire le calcul des champs texte vers les numériques mais c'est compliquer un truc a priori simple. Modifiez les champs sous Excel puis réessayez.
Je me relis et ne sais pas si j'ai été clair mais si tel n'est pas le cas, je rajouterai des précisions...
Hors ligne
#5 Wed 20 November 2013 12:38
- conejo
- Participant assidu
- Lieu: Lunel
- Date d'inscription: 2 Dec 2005
- Messages: 1670
Re: QGIS : Cercles proportionnels à partir d'une jointure
J'ai fait format de cellule > Nombre, mais les données restent toujours à gauche sur Qgis...
Hors ligne
#6 Wed 20 November 2013 12:40
- SANTANNA
- Moderateur
- Lieu: Angers
- Date d'inscription: 18 Jan 2008
- Messages: 3947
Re: QGIS : Cercles proportionnels à partir d'une jointure
Avez-vous supprimé votre jointure au préalable?
Hors ligne
#7 Wed 20 November 2013 12:41
- conejo
- Participant assidu
- Lieu: Lunel
- Date d'inscription: 2 Dec 2005
- Messages: 1670
Re: QGIS : Cercles proportionnels à partir d'une jointure
oui
Hors ligne
#8 Wed 20 November 2013 14:54
- SANTANNA
- Moderateur
- Lieu: Angers
- Date d'inscription: 18 Jan 2008
- Messages: 3947
Re: QGIS : Cercles proportionnels à partir d'une jointure
Ok. Je viens d'essayer de mon côté sur QGIS 1.8 et effectivement tous les champs sont "string". En fait, la solution est ailleurs (http://anitagraser.com/2011/03/07/how-t … e-in-qgis/)
Pour résumer, créez avec un éditeur de texte un fichier csvt (enregistré à côté du csv) comprenant sur une seule ligne un enchaînement de "String", "Integer" ou "Real" selon la structure des champs de votre csv (séparés par une virgule et avec les guillemets).
Pour ceux que ça intéresserait, le même problème existe toujours sous QGIS 2.0 (toutes les colonnes sont considérées comme du texte) mais en important ce csv dans le projet avec l'outil délimiteur de texte (veiller à choisir pas de géométrie), on récupère bien le type de chaque colonne comme il faut.
Dernière modification par SANTANNA (Wed 20 November 2013 15:10)
Hors ligne
#9 Wed 20 November 2013 16:31
- conejo
- Participant assidu
- Lieu: Lunel
- Date d'inscription: 2 Dec 2005
- Messages: 1670
Re: QGIS : Cercles proportionnels à partir d'une jointure
J'ai fait votre méthode, mais pas plus concluant. J'ai bien crée un fichier .csvt. J'ai ajouté les 2 fichiers .csv et .csvt dans Qgis et les données sur le .csv sont toujours à gauche... Je joins les 2 fichiers si ça peut m'aider (pop_logt)...
Dernière modification par conejo (Wed 20 November 2013 16:31)
Hors ligne
#10 Wed 20 November 2013 17:00
- SANTANNA
- Moderateur
- Lieu: Angers
- Date d'inscription: 18 Jan 2008
- Messages: 3947
Re: QGIS : Cercles proportionnels à partir d'une jointure
Je te mets en fichier joint le fichier csvt comme il faut. L'extension de ton deuxième fichier est toujours csv pas csvt.
Pour le mode opérationnel Ouvre un éditeur de texte (notepad, le bloc-notes ou autre) et saisis dedans ceci
Code:
"String","Integer","Integer","Integer","Integer","Integer","Integer","Integer","Real","Integer"
et enregistre en mettant comme extension csvt avec le même nom. Pas besoin d'ouvrir le csvt sous QGIS. C'est comme pour les shapefiles, il faut qu'il soit à côté du csv, avec le même nom et QGIS les associe.
Hors ligne
#11 Wed 20 November 2013 18:16
- conejo
- Participant assidu
- Lieu: Lunel
- Date d'inscription: 2 Dec 2005
- Messages: 1670
Re: QGIS : Cercles proportionnels à partir d'une jointure
ok ça marche. Mais comment fait-on pour créer un fichier .cvst sur Mac?
Hors ligne
#12 Wed 20 November 2013 20:45
- diophamidou
- Participant assidu
- Date d'inscription: 18 Jan 2006
- Messages: 243
Re: QGIS : Cercles proportionnels à partir d'une jointure
Pour créer le fichier csvt il faut ouvrir le bloc note.
Je te suggère aussi cette solution puisque tu ne veux modifier que le champ population : Après avoir ouvert les données attributaires tu rends ta couche modifiable tu rajoutes un champ pop avec un type integer grâce à la calculatrice tu mets a jour ce champ en y ajoutant les valeur de ton champ population.
voir pj
Hors ligne
#13 Thu 21 November 2013 08:20
- jacques féraud
- Participant actif
- Date d'inscription: 13 Sep 2011
- Messages: 76
Re: QGIS : Cercles proportionnels à partir d'une jointure
Bonjour,
je viens de voir l'image de ta manip, est-ce que tu as donné un nom à ton nouveau champ ?
Parfois çà bloque pour des détails comme çà.
Hors ligne
#14 Thu 28 November 2013 17:02
- monique
- Participant actif
- Date d'inscription: 7 Oct 2005
- Messages: 146
Re: QGIS : Cercles proportionnels à partir d'une jointure
Bonjour,
Une autre solution pour garder des champs numériques en provenance de EXCEL : l'enregistrer en .DBF
ou bien voir l'extention mmqgis http://michaelminn.com/linux/mmqgis/ la fonction : Text to Float qui génère un nouveau fichier shape avec une conversion du genre du champ
Monique
Hors ligne
#15 Fri 29 November 2013 10:13
Re: QGIS : Cercles proportionnels à partir d'une jointure
Bonjour,
Il y a quelque temps j'avais développé rapidement une application pour générer ce fameux .CSVT a partir d'un CSV. Je l'utilise toujours régulièrement.
http://dogeo.fr/_apps/CSV4Bruch/
Hors ligne