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

Rencontres QGIS 2025

L'appel à participation est ouvert jusqu'au 19 janvier 2025!

#1 Thu 18 December 2008 17:23

ccoquin
Participant occasionnel
Lieu: Capellen
Date d'inscription: 4 Jan 2006
Messages: 39

Type de champs : convertion texte en numérique

Bonjour,

J'ai une table contenant les altitudes de points cotes (ex : 339.57); seulement voilà, ces altitudes sont dans un champs de type string et je voudrai pouvoir les convertir en décimales dans un autre champs, pour pouvoir m'en servir pour générer un mnt. Pourriez-vous me dire si c'est possible car je cherche mais je ne trouve rien. J'ai essayé dans le Field calculator plusieurs fonctions comme Left (Left([ALT],3) marche très bien jusqu'à la virgule, mais si c'est > 3 ça génère une erreur), j'ai aussi essayé de passer par excel ou access pour modifier mon dbf mais là encore cela ne marche pas. Dans excel, il me remet le champ numérique en string dans arcmap, et dans access j'ai une erreur de conversion.
Je me demande donc si c'est vraiment possible.

Merci pour vos réponses

Hors ligne

 

#2 Thu 18 December 2008 17:36

PINTO FERREIRA
Juste Inscrit !
Date d'inscription: 18 Dec 2008
Messages: 1

Re: Type de champs : convertion texte en numérique

Bonjour,
je souhaiterais savoir comment accéder à une table attributaire quand elle n'est pas accessible?
merci d'avance

Hors ligne

 

#3 Fri 21 August 2009 15:33

Kyk
Participant actif
Date d'inscription: 20 Jan 2009
Messages: 88

Re: Type de champs : convertion texte en numérique

la solution est la suivante:
    Si le String ne possède pas de virgule ou possède une virgule qui est une virgule (et non un point), il faut créer un nouveau champs en Long interger [9] ou Double [0,0]. Et faire un Field Calculator : Left (NomChampString, nombreCaractère)
   
    Si le string possède une virgule qui est un point: créer un nouveau champs Float [9,2] ou Double[0,0]. Fermer ArcMap. Ouvrir le dbf dans Excel, copier/coller les valeurs dans le nouveau champs. Sélectionner les nouvelles valeurs copiées > clic         droit > format cell > number avec décimal = 2 par exemple. Sélectionner le nouveau champs et faire un find/replace des points par une virgule. Enregistrer le dbf et c'est gagné.
    ou solution encore plus simple: dans ArcMap, dans le nouveau champs créé en Double, faire un Field calculator: [ChampDouble] = [ChampString] / 1

Hors ligne

 

Pied de page des forums

Powered by FluxBB