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

Printemps des cartes 2024

#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

Yves
Membre du bureau
Lieu: Aix-les-Bains
Date d'inscription: 22 Mar 2006
Messages: 9855
Site web

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 wink

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: 3799

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

 

Pied de page des forums

Powered by FluxBB