#1 Wed 11 July 2012 13:09
- Loisbes
- Juste Inscrit !
- Date d'inscription: 10 Jul 2012
- Messages: 8
QGIS: Modifier données format STRING à format REAL
Bonjour, je cherche à modifier le format d'une de mes colonne actuellement en format STRING vers un format REAL pour pouvoir réalisé un cartographie en symbole graduée.
J'ai essayé avec la calculatrice de champs mais sans succès ma nouvelle colonne reçoit la mention NUL ( Après je ne maitrise pas très bien cet outil, j'ai utilisé la fonction "to real" mais je me suis peut être trompé sur la formule ou la démarche à suivre)
Peut etre me donner l'écriture de la formule?
Sinon peut être modifier directement sur mon fichier DBF mais j'ai déjà réalisé un collage spéciale afin de mettre mes cellule en format numérique ( qui était en format texte du type 'valeur ) mais cela n'a pas fonctionné.
Une idée ?
Merci
Dernière modification par Loisbes (Wed 11 July 2012 13:25)
Hors ligne
#2 Wed 11 July 2012 13:32
- yopyop25
- Participant actif
- Lieu: besançon
- Date d'inscription: 2 Jun 2008
- Messages: 144
Re: QGIS: Modifier données format STRING à format REAL
Bonjour,
dans la calculatrice de champ, il faut sélectionner la colonne de destination (formatée en réel) si elle existe sinon en créer une, puis la commande :
to real(colonne_en _texte)
Bonne journée
yohan
Hors ligne
#3 Wed 11 July 2012 14:00
- Loisbes
- Juste Inscrit !
- Date d'inscription: 10 Jul 2012
- Messages: 8
Re: QGIS: Modifier données format STRING à format REAL
Parfait !
Merci à toi
Hors ligne
#4 Fri 31 August 2012 13:55
- BarengOB
- Participant occasionnel
- Date d'inscription: 31 Aug 2012
- Messages: 12
Re: QGIS: Modifier données format STRING à format REAL
Bonjour,
Moi aussi, je cherche à modifier le format d'une de mes colonnes actuellement en format STRING vers un format REAL.
J'ai créée un champs Real.
j'ai le message d'erreur suivant sur QGIS Lisboa:
"Une erreur s'est produite lors de l'évaluation de la chaîne de calcul : de convertir '1,000' en double"
J'ai suivi la syntaxe que yopyop25 indique. J'en ai même essayée plusieurs comme "Champs_REAL" = toreal("champs_string") avec ou sans les"".... quelqu'un aurait il une idée?
Merci par avances
Hors ligne
#5 Fri 31 August 2012 14:23
Re: QGIS: Modifier données format STRING à format REAL
Bonjour,
Dans la calculatrice de champ il faut mettre toreal(champs_string) et choisir "mise à jour d'un champ existant" en haut de la fenêtre. Il faut faire attention également au séparateur décimal
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 Fri 31 August 2012 16:39
- BarengOB
- Participant occasionnel
- Date d'inscription: 31 Aug 2012
- Messages: 12
Re: QGIS: Modifier données format STRING à format REAL
Merci Yves,
C'était donc séparateur décimal qui me bloquait.
En appliquant un replace("champs_string", ',' , '.') ca m'a permis de faire fonctionner le toreal("champs_string") dans le champs_real précédemment créé.
J'aurai pu y penser.
:cool Merci encore pour votre aide.
Hors ligne
#7 Fri 07 March 2014 14:40
- mathmaroc
- Participant actif
- Date d'inscription: 20 Mar 2013
- Messages: 103
Re: QGIS: Modifier données format STRING à format REAL
Bonjour,
J'ai essayé ces modifications, mais je bloque par manque de connaissances...en fait, je souhaite aussi modifier un champs string en un champs real dans ma table attributaire.
Pouvez-vous m'expliquer la démarche à suivre en précisant les différentes étapes ?
Autre précision, j'ai aussi tenté de créer un fichier .csvt ; cela a bien "fonctionné"...sauf que toutes mes valeurs ainsi modifiées- de champs string en champs real- s'affichent désormais avec NULL.
Merci par avance pour votre réponse.
mathmaroc
Hors ligne
#8 Sat 08 March 2014 13:17
- mathmaroc
- Participant actif
- Date d'inscription: 20 Mar 2013
- Messages: 103
Re: QGIS: Modifier données format STRING à format REAL
Bonjour,
En fait, je m'aperçois que le problème provient bien du séparateur décimal...mais alors je ne sais pas quoi indiquer après :
toreal("champs_string")
J'ai bien lu dans les messages précédents ("champs_string", ',' , '.'), mais je ne sais pas à quoi cela correspond pour essayer de le transposer à mon cas.
Je précise que j'ai des valeurs du type 2.1 dans un champs ou 28.1 dans un autre champs.
Merci pour ceux ou celles qui auront la patience de me répondre, si toutefois ma question est correctement posée ???
Hors ligne
#9 Sat 08 March 2014 14:12
- Spacejo
- Membre
- Lieu: Nancy
- Date d'inscription: 17 Aug 2008
- Messages: 2511
Re: QGIS: Modifier données format STRING à format REAL
Salut,
En 2 mouvements --> Calculette pour modifier la virgule par un point -> replace("ChampString, ',', '.')
Puis toujours dans la calculette -> "Créer un nouveau champ" puis tu choisis les caractéristiques du nouveau champ.
Enfin -> toreal("champs_string") .
A+
Joël
Dernière modification par Spacejo (Sat 08 March 2014 14:26)
Hors ligne
#10 Sat 08 March 2014 14:42
- mathmaroc
- Participant actif
- Date d'inscription: 20 Mar 2013
- Messages: 103
Re: QGIS: Modifier données format STRING à format REAL
MERCI,
ça marche parfaitement...mais sans votre aide, je n'aurais pas pu trouver. Encore merci pour le temps que vous avez bien voulu consacrer à me répondre.
mathmaroc
Hors ligne
#11 Thu 12 May 2016 18:11
- laureCO
- Juste Inscrit !
- Date d'inscription: 12 May 2016
- Messages: 1
Re: QGIS: Modifier données format STRING à format REAL
Bonjour,
Je poste à la suite de ce sujet car je désire appliquer une cartographie en symbole gradué à des tonnages de déchets que j'ai ajouté via une jointure attributaire à un fichier d'adresse google géocodé via MMQGIS (mes lieux de collecte de déchets).
Je voulais commencer par modifier ma virgule en point mais ça bloque dès cette étape. Dans le champ de résultat dans la calculatrice ça m'affiche juste le premier nombre où je souhaite remplacer la virgule et ça m'affiche le message d'erreur suivant : Une erreur s'est produite lors de l'évaluation de la chaîne de calcul Erreur d'évaluation: pas de nœud racine.
Au bout d'une après-midi je n'ai toujours pas trouvé la solution.
Pourriez-vous m'apporter de l'aide et m'aider à débloquer ma situation.
Avec un grand merci par avance!
PS : je suis sur la version 2.14.2 de QGIS
Hors ligne
#12 Sat 14 May 2016 21:20
- SANTANNA
- Moderateur
- Lieu: Angers
- Date d'inscription: 18 Jan 2008
- Messages: 3881
Re: QGIS: Modifier données format STRING à format REAL
Bonjour,
Je voulais commencer par modifier ma virgule en point mais ça bloque dès cette étape. Dans le champ de résultat dans la calculatrice ça m'affiche juste le premier nombre où je souhaite remplacer la virgule et ça m'affiche le message d'erreur suivant : Une erreur s'est produite lors de l'évaluation de la chaîne de calcul Erreur d'évaluation: pas de nœud racine.
Préciser ce que vous avez tenté peut parfois permettre aux autres de plus facilement aider à déboguer. Si j'ai par contre bien compris, vous avez un champ qui est reconnu comme de type texte dans QGIS que vous souhaiteriez utiliser en champ gradué. Et ce champ contient une virgule. Sur ma version 2.14.2, appliquer to_real("monchamp") comme suggéré dans cette discussion semble bien marcher pour moi (après c'est peut-être parce que je suis en version anglaise) sinon combiner avec 'replace' soit to_real(replace(monchamp, ',', '.'))
.
Dernière modification par SANTANNA (Sat 14 May 2016 21:21)
Hors ligne