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

Rencontres QGIS 2025

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

#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

 

Pied de page des forums

Powered by FluxBB