Pages: 1
- Sujet précédent - ArcGIS 9.3.1 : Renseigner un champ si une condition est ok - Sujet suivant
#1 Thu 13 June 2013 15:23
- Furtif
- Juste Inscrit !
- Date d'inscription: 13 Jun 2013
- Messages: 3
ArcGIS 9.3.1 : Renseigner un champ si une condition est ok
Bonjour,
J'essaie de créer un outil permettant de renseigner un champ automatiquement.
Voilà ce que je voudrais faire :
Si le champ [TYPE] est "Avenue" alors renseigner le champ [ABREV] par "Ave."
Si le champ [TYPE] est "Rue" alors renseigner le champ [ABREV] par "R."
Si le champ [TYPE] est "Ruelle" alors renseigner le champ [ABREV] par "Rlle.."
Si le champ [TYPE] est "Petite Avenue" alors renseigner le champ [ABREV] par "Pte Av."
Etc...
Voilà, j'espère que vous pourrez m'aider !
Merci d'avance
Dernière modification par Furtif (Thu 13 June 2013 15:25)
Hors ligne
#2 Fri 14 June 2013 09:53
- kant_ein
- Participant occasionnel
- Date d'inscription: 7 Apr 2008
- Messages: 34
Re: ArcGIS 9.3.1 : Renseigner un champ si une condition est ok
Bonjour,
Il existe un add-in appelé Attribute Assistant qui permet de paramétrer divers règles pour automatiser le remplissage des champs lors de la création ou de la modification d'entités, ou sur déclenchement manuel. La règle Expression devrait répondre à ton besoin.
J'imagine que le champ [ABREV] servira à l'étiquetage des voies. Dans ce cas, si tu disposes de l'extension Maplex, tu peux paramétrer un dictionnaire d'abréviations, ce qui évite d'alourdir ta table.
Hors ligne
#3 Fri 14 June 2013 11:39
- Spacejo
- Membre
- Lieu: Nancy
- Date d'inscription: 17 Aug 2008
- Messages: 2511
Re: ArcGIS 9.3.1 : Renseigner un champ si une condition est ok
Salut et bienvenue,
Avec la calculette --> en VBscript
Code:
dim abreviation as string dim TypeVoie as string typevoie=[Type] If typevoie like "Avenue" then abreviation="Av." ElseIf typevoie like "Rue" then abreviation="R." ElseIf typevoie like "Ruelle" then abreviation="Rll." ElseIf typevoie like "Petite Avenue" then abreviation="Pte Av." etc.... End if
mettre ---> abreviation dans le champ en dessous du code
A+
Joël
Hors ligne
#4 Fri 14 June 2013 14:52
- marion08
- Juste Inscrit !
- Date d'inscription: 2 Jan 2013
- Messages: 5
Re: ArcGIS 9.3.1 : Renseigner un champ si une condition est ok
Bonjour
ce script m’intéresse car je dois faire la même chose mais avec comme première variable des nombres
Code:
dim t dim n n = [NATURE] if n like"5" then t ="pvc" Elseif n like"1" then t ="acier" Elseif n like"3" then t = "plas" End if
C'est un script que j'ai paramétré pour un calcul de champ dans un modele builder.
Mais ce script de fonctionne pas!
Avez vous une idée
merci
Hors ligne
#5 Fri 14 June 2013 15:48
- kant_ein
- Participant occasionnel
- Date d'inscription: 7 Apr 2008
- Messages: 34
Re: ArcGIS 9.3.1 : Renseigner un champ si une condition est ok
Pour le problème de Furtif, la solution proposée par Spacejo fonctionne mais pas de manière automatique.
Pour marion08, si le champ [NATURE] est un nombre, le comparateur LIKE ne fonctionnera pas. Par ailleurs, il est nécessaire de faire un retour à la ligne après les THEN.
Code:
dim t dim n n = [NUMERO] if n = 5 then t ="pvc" Elseif n = 1 then t ="acier" Elseif n = 3 then t = "plas" End if
PS : utilise les balises ["code"]["/code"] (en enlevant les guillemets) pour une meilleure lisibilité.
Hors ligne
#6 Sat 15 June 2013 08:38
- Empeiries
- Participant occasionnel
- Lieu: Le Plessis Pommeraie
- Date d'inscription: 7 Oct 2009
- Messages: 20
Re: ArcGIS 9.3.1 : Renseigner un champ si une condition est ok
Bonjour,
Cet add-on/add-in est très intéressant, mais malgré quelques recherches, je ne trouves pas le moyen de l'obtenir.
Serait-il inclus dans une extension particulière ?
Cordialement
Hors ligne
#7 Sat 15 June 2013 08:46
Re: ArcGIS 9.3.1 : Renseigner un champ si une condition est ok
Bonjour,
L'add-in est ici : Using Attribute Assistant.
Il fait parti de l'ensemble des outils du template : Water Utility Network Editing
- version 10 : http://www.arcgis.com/home/item.html?id … fbd0ccca02
- version 10.1 : http://www.arcgis.com/home/item.html?id … 10eded38df
Cordialement
Franck
Hors ligne
#8 Tue 18 June 2013 11:15
- Furtif
- Juste Inscrit !
- Date d'inscription: 13 Jun 2013
- Messages: 3
Re: ArcGIS 9.3.1 : Renseigner un champ si une condition est ok
Bonjour et merci pour votre réponse.
Malheureusement je n'ai pas bien compris ce qu'il faut que je fasse.
calculette --> en VBscript
Par quel menu dois-je passer ?
Jusqu'à maintenant je passer par les outils de Arctoolbox, mais là je crois que c'est une autre démarche non ?
mettre ---> abreviation dans le champ en dessous du code
C'est à dire, je ne comprend pas.
ps: Je ne peux pas changer l'entête de mes champs (TYPE et ABREV)
Merci encore
Dernière modification par Furtif (Tue 18 June 2013 11:34)
Hors ligne
#9 Tue 18 June 2013 14:11
- Spacejo
- Membre
- Lieu: Nancy
- Date d'inscription: 17 Aug 2008
- Messages: 2511
Re: ArcGIS 9.3.1 : Renseigner un champ si une condition est ok
Salut,
Voilà la manip pour utiliser la calculette ---> http://ressources.esrifrance.fr/form_ca … aract.aspx
Soit tu utilises des .cal (petit script enregistré à partir d'un fichier texte)
Pour la soluce que je t'ai proposée --> à partir du point (6) --> cocher "avancé" puis coller le code dans la fenêtre du code.
Ne pas oublier de mettre --> abreviation dans le champ en dessous du code.
Code:
ps: Je ne peux pas changer l'entête de mes champs (TYPE et ABREV)
Ceci ne changera pas le nom de tes champs.
Cette action indique à la calculette quelle variable mettre dans ton champ --> ici la variable est abreviation.
A+
Joël
Dernière modification par Spacejo (Tue 18 June 2013 14:20)
Hors ligne
#10 Wed 19 June 2013 11:03
- Furtif
- Juste Inscrit !
- Date d'inscription: 13 Jun 2013
- Messages: 3
Re: ArcGIS 9.3.1 : Renseigner un champ si une condition est ok
super ça fonctionne,
Merci
ps :
J'ai réussi à incorporer cette manip aux outils Arctoolbox,
Avec l'outil "calculer un champ", je rentre votre formule dans la calculette (en cochant "avancé)
Merci encore
Hors ligne
Pages: 1
- Sujet précédent - ArcGIS 9.3.1 : Renseigner un champ si une condition est ok - Sujet suivant