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 Tue 31 October 2006 08:40

LeonWeb73
Participant actif
Lieu: Chambéry
Date d'inscription: 5 Sep 2005
Messages: 126
Site web

[ArcGIS 9.x] Multiples commande dans la calculatrice

Bonjour, j'ai une table avec un champ "OBS" de type chaine. J'ai rempli ce champ avec les valeurs d'un export d'une autre couche SIG et bien évidemment j'ai plein de caractères à la c..
J'utilise donc la calculatrice avec la fonction "Replace( [TEXTSTRING] , "mauvais_caractères" , "bon_caractèreî" )" et ceci autant de fois que j'ai de signes bizarres.
Ma question est est-ce qu'il y a un moyen de coder autrement la fonction pour que la calculatrice recherche dans un seul processus les différents mauvais caractères pour les remplacer par les bons caractères.

ex => "¶" par "ô" et "þ" , "ç" et "Û" , "ê" et ainsi de suite. Cela m'éviterai de faire appel 10 fois de suite par champ à la calculatrice.

Merci d'avance.


Arnaud Colé - responsable service Géomatique et Opendata (SGéO)
Direction des Systèmes d'Information mutualisés et du Numérique
de Grand Chambéry, ville de Chambéry, ville de La Motte-Servolex, ville de La Ravoire

Hors ligne

 

#2 Tue 31 October 2006 10:52

M'Hamedi, Myriam
Invité

Re: [ArcGIS 9.x] Multiples commande dans la calculatrice

Ça doit être quelque chose du genre :
"Replace( [TEXTSTRING] , "mauvais_caractères" , "bon_caractèreî" )" OR "Replace( [TEXTSTRING] , "mauvais_caractères" , "bon_caractèreî" )" OR "Replace( [TEXTSTRING] , "mauvais_caractères" , "bon_caractèreî" )" autant de fois que tu as de mauvais caractères

 

#3 Tue 31 October 2006 10:53

Guillaume Claire
Participant occasionnel
Date d'inscription: 5 Sep 2005
Messages: 27

Re: [ArcGIS 9.x] Multiples commande dans la calculatrice

Bonjour,

Est-ce que le probleme ne vient pas plutot des caracteres accentues qui ne sont pas reconnus dans ArcGis?
Deux solutions: Faire un fichier cpg ou modifier la base de registre.
Voir sur le site http://support.esrifrance.fr/ et faire une recherche avec " caractères accentués" comme mot clef

Sinon il suffit d'utiliser une formule de calcul avance de type:
Dim str as string
str = [OBS]
str = replace ( str, "¶", "ô")
str = replace (str,"þ", "ç")
..... et ainsi de suite
Renvoyer str dans [OBS]

Claire GUILLAUME

Hors ligne

 

#4 Tue 31 October 2006 15:41

LeonWeb73
Participant actif
Lieu: Chambéry
Date d'inscription: 5 Sep 2005
Messages: 126
Site web

Re: [ArcGIS 9.x] Multiples commande dans la calculatrice

Merci pour toutes vos réponses. Je n'ai pas encore eu le temps de toutes les tester mais dès que j'aurais essayé je vous tiens au courant.
Sinon on m'a donner une solution via un p'tit bout de code (sur GeoRezo). Je l'ai un tout petit peu modifier pour l'adapter et cela donne ceci :

Dim var1, var2, var3

var1 = [champ à modifier]
var2 = Len(var1) + 1
var3 = 1

While var3 <> var2
    Dim var4, var5, var6
    var4 = Mid(var1, var3, 1)
   
    If var4 = "¯" Then
        var5 = Mid(var1, 1, var3 - 1)
        var6 = Mid(var1, var3 + 1, var2 - var3 )
        var1 = var5 + "î" + var6
        var3 = var3 + 1
    ElseIf var4 = "║" Then
        var5 = Mid(var1, 1, var3 - 1)
        var6 = Mid(var1, var3 + 1, var2 - var3 )
        var1 = var5 + "°" + var6
        var3 = var3 + 1
    ElseIf var4 = "¶" Then
        var5 = Mid(var1, 1, var3 - 1)
        var6 = Mid(var1, var3 + 1, var2 - var3 )
        var1 = var5 + "ô" + var6
        var3 = var3 + 1
    ElseIf var4 = "Ó" Then
        var5 = Mid(var1, 1, var3 - 1)
        var6 = Mid(var1, var3 + 1, var2 - var3 )
        var1 = var5 + "à" + var6
        var3 = var3 + 1
    ElseIf var4 = "Ô" Then
        var5 = Mid(var1, 1, var3 - 1)
        var6 = Mid(var1, var3 + 1, var2 - var3 )
        var1 = var5 + "â" + var6
        var3 = var3 + 1
    ElseIf var4 = "þ" Then
        var5 = Mid(var1, 1, var3 - 1)
        var6 = Mid(var1, var3 + 1, var2 - var3 )
        var1 = var5 + "ç" + var6
        var3 = var3 + 1
    ElseIf var4 = "Þ" Then
        var5 = Mid(var1, 1, var3 - 1)
        var6 = Mid(var1, var3 + 1, var2 - var3 )
        var1 = var5 + "è" + var6
        var3 = var3 + 1
    ElseIf var4 = "Ú" Then
        var5 = Mid(var1, 1, var3 - 1)
        var6 = Mid(var1, var3 + 1, var2 - var3 )
        var1 = var5 + "é" + var6
        var3 = var3 + 1
    ElseIf var4 = "Û" Then
        var5 = Mid(var1, 1, var3 - 1)
        var6 = Mid(var1, var3 + 1, var2 - var3 )
        var1 = var5 + "ê" + var6
        var3 = var3 + 1
    ElseIf var4 = "Ù" Then
        var5 = Mid(var1, 1, var3 - 1)
        var6 = Mid(var1, var3 + 1, var2 - var3 )
        var1 = var5 + "ë" + var6
        var3 = var3 + 1
    Else
        var3 = var3 + 1   
    End If
Wend

__esri_field_calculator_splitter__
var1

Merci à lauvergnat.


Arnaud Colé - responsable service Géomatique et Opendata (SGéO)
Direction des Systèmes d'Information mutualisés et du Numérique
de Grand Chambéry, ville de Chambéry, ville de La Motte-Servolex, ville de La Ravoire

Hors ligne

 

Pied de page des forums

Powered by FluxBB