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 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

Franck B
Membre
Lieu: PACA
Date d'inscription: 6 Sep 2005
Messages: 1382
Site web

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

 

Pied de page des forums

Powered by FluxBB