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