#1 Tue 12 August 2014 16:32
- damien76000
- Juste Inscrit !
- Date d'inscription: 7 Mar 2013
- Messages: 5
Calculer un champ (Model Builder) - Prblm Python
Bonjour à tous,
J'ai combiné dans un Modèle Builder, cinq couches géographiques afin d'obtenir une couche géographique unique.
Pour information: Quatre de mes couches géographiques sont alimentées via Geoform (Arcgis Online) et auxquelles j'ai attribué des sous-types identiques sur le champ "THEMATIQUE".
La cinquième couche est alimentée par un fichier Excel, avec les mêmes noms et types de champs que mes couches précédentes, sauf mon champ "THEMATIQUE" qui est au format texte, contrairement au champ 'THEMATIQUE" de mes 4 autres couches qui est en entier long pour la création de mes sous-types.
Lorsque je combine l'ensemble de ces couches géographiques, le champ 'THEMATIQUE' de ma couche finale est au format Texte, et au lieu d'avoir la description de mes sous-types j'ai le code de ces derniers qui s'affiche (ex: au lieu d'avoir dans mon champ THEMATIQUE: 'Accidentologie' je vais avoir '1'). Pas de problème en revanche pour les données provenant de mon fichier Excel.
J'ai décidé d'utiliser l'outil 'Calculer un champ' afin de remplacer les code (1,2,3..) dans ma couche géographique finale, par les descriptions initiales de mes sous-type. Mon problème est que je n'arrive pas à remplacer l'ensemble des valeurs malgré plusieurs tests.
Quand je reprends l'exemple de l'aide en ligne d'Esri : !THEMATIQUE!.replace("1", "Accidentologie") cela fonctionne très bien, mais je n'arrive pas à coder pour pouvoir exécuter la même opération sur mes valeurs 2, 3...
Si une personne calée en langage Python ou VB Script peut m'orienter merci d'avance.
J'espère avoir été assez clair et précis.
Dernière modification par damien76000 (Tue 12 August 2014 16:33)
Hors ligne
#2 Wed 13 August 2014 11:52
- damien76000
- Juste Inscrit !
- Date d'inscription: 7 Mar 2013
- Messages: 5
Re: Calculer un champ (Model Builder) - Prblm Python
Problm résolu.
Nom du champ: THEMATIQUE
Expression: test
Type d'expression: VB
Bloc de code: (une partie de mon code)
Dim test
If [THEMATIQUE] = "5" Then
test = "Alerte"
elseif [THEMATIQUE] = "6" Then
test = "Accidentologie"
else
test= [THEMATIQUE]
end if
Voila pour les débutants en codage VB qui souhaitent remplacer des valeurs de type string
Dernière modification par damien76000 (Wed 13 August 2014 11:56)
Hors ligne