Nom d'utilisateur    Mot de passe              Toujours pas inscrit ?   Mot de passe oublié ?

#1 mer 04 novembre 2009 14:19

Nelly33
Membre
Date d'inscription: 24 jun 2008
Messages: 8

Créer un nouvel attribut et le renseigner

Bonjour à tous,

Je travaille avec Arcgis 9.3 et FME Worchbench 2007.
Je dispose de plusieurs shape point, dans lesquels je souhaiterai créer un nouveau champ "MULTI". Ce champs devra renseigner le nombre de colonne à lire pour chaque point.
En clair, dans mes tables attributaires je dispose de 30 champs et chaque points est plus ou moins renseignés dans ceux là. Du coup pour une meilleure lisibilité j'aimerai un champs qui me donne le nombre de champs renseignés pour tel ou tel point.
Etant donné que je suis novice en FME, pourriez vous m'expliquer comment procéder, pour créer un nouvel attribut et le renseigner?

Merci :)

Hors ligne

 

#2 mer 04 novembre 2009 17:32

xav
Membre
Date d'inscription: 27 oct 2005
Messages: 76

Re: Créer un nouvel attribut et le renseigner

bonjour,

pour créer un nouvel attribut, il faut utiliser attribute_creator

Par contre je ne comprend pas tres bien à partir de quoi vous souhaitez le renseigner


Xavier Lang
SIG Communautaire
Communauté d'Agglomération de la Région Nazairienne et de l'Estuaire

Hors ligne

 

#3 mer 04 novembre 2009 18:42

Nelly33
Membre
Date d'inscription: 24 jun 2008
Messages: 8

Re: Créer un nouvel attribut et le renseigner

Bonsoir,
c'est vrai que j'étais pas très clair dans mes explications... smile
J'ai une couche de points, ces points sont positionnés sur une ou plusieurs images. La table attributaire est composé comme suit: ID/IMAGE1/COORDX/COORDY/IMAGE2/COORDX... J'aimerai avoir un champs qui repertorie le nombre d'image sur lequel est posé mon point en fonction des attributs IMAGE1, IMAGE 2...etc.
EX: Si le point 01 n'est renseigné que dans IMAGE1 ---> 1
      Si le point 02 est renseigné jusqu'à l'IMAGE 4 ---> 4
Je cherche donc à automatiser cette tâche via FME car je dispose de plusieurs couches.
J'ai essayé avec attribut creator mais je ne sais pas quoi renseigner dans 'Valeur'...
J'éspère avoir étais plus clair et surtout que quelqu'un pourra m'aider!

Hors ligne

 

#4 mer 04 novembre 2009 19:30

Pookie
Membre
Date d'inscription: 15 mai 2006
Messages: 6

Re: Créer un nouvel attribut et le renseigner

Bonjour,

Je tenterais de :
               - Remplacer les attributs nul avec nullatributeremover
               - Avec un attributeremover je sors les champs nul (tester la valeur de l'attribut)
               - Création d'une liste listbuilder
               - et pour finir un listelementcounter + attributecreator

on devrait obtenir le nombre de champs, il doit y avoir plus simple mais je ne vois pas autrement (enfin si une requête SQL serait plus facile à mon avis).

Bonne chance.

Hors ligne

 

#5 mer 04 novembre 2009 22:05

Nelly33
Membre
Date d'inscription: 24 jun 2008
Messages: 8

Re: Créer un nouvel attribut et le renseigner

Merci pour la réponse, je teste ça dès demain !!!
Bonne soirée!

Hors ligne

 

#6 mer 04 novembre 2009 23:13

Pierre
Moderateur
Lieu: Reims
Date d'inscription: 22 sep 2005
Messages: 506

Re: Créer un nouvel attribut et le renseigner

Aloha
Avec un tcl caller, cela ne prend qu'une boîte. Je complète ce message demain matin avec un exemple de boucle pour compter le nombre d'attributs.
Sinon +1 pour la solution proposée par pookie.

*****************
Edit :

Donc voici le code à mettre dans un TCL caller précédé d'un attribute creator (créer l'attribut nombre).

Code:

proc somattr{} {
#initialisation de la variable dans laquelle nous allons mettre la liste des attributs non nuls
set l_attr [list]
#initialisation de la boucle
foreach attr [FME_AttributeNames] {
                #récupération de la valeur de chaque attribut
                set val_attr [FME_GetAttribute $attr ]
                #test valeur non nulle puis peuplement de la liste avec le nom de l'attribut
                if {$val_attr != "" } {lappend retval $attr}
} 
#calcul de la dimension de la liste
set n [llength $l_attr]
#mise à jour de l'attribut nombre (attribut créé par un attribute creator)
FME_SetAttribute nombre $n
}

Dernière modification par Pierre (jeu 05 novembre 2009 09:22)


«Une limite ne se touche pas.» Jacques Derrida
Le wiki des géomaticiens n'attend que toi

Hors ligne

 

#7 jeu 05 novembre 2009 12:37

Pookie
Membre
Date d'inscription: 15 mai 2006
Messages: 6

Re: Créer un nouvel attribut et le renseigner

Pierre a écrit:

Aloha

Donc voici le code à mettre dans un TCL caller précédé d'un attribute creator (créer l'attribut nombre).

Plutôt intéressant cette façon de faire que je ne connaissais pas, en cherchant sur internet et la doc FME je n'ai pas trouvé grand chose sur le TCL et FME, existe-t-il un tutoriel sur le sujet ?

Pookie

Hors ligne

 

#8 jeu 05 novembre 2009 15:24

pyjoubert
Membre
Lieu: Lyon
Date d'inscription: 21 mar 2006
Messages: 97

Re: Créer un nouvel attribut et le renseigner

Bonjour,

Dans un TCLCALLER, on peut préciser la fonction a executer, et le fichier TCL qui contient cette fonction.
Cela marche bien en général

Voici 2 sites, le 1er sur le TCL et l'autre un forum TCl
http://www.tcl.tk/man/tcl8.5/tutorial/tcltutorial.html
http://groups.google.com/group/fr.comp.lang.tcl


Pierre-Yves JOUBERT
Le grand Lyon

Hors ligne

 

#9 jeu 05 novembre 2009 17:53

Pierre
Moderateur
Lieu: Reims
Date d'inscription: 22 sep 2005
Messages: 506

Re: Créer un nouvel attribut et le renseigner

Peu de tuto malheureusement. Pas mal d'entraide cependant. Le TCL reste un langage bien documenté (cf les liens de PY). Et reste à privilégier si l'on souhaite limiter le nombre de boîte, pour des traitements très algorithmiques ou alors juste pour prendre des vacances de listbuilder...


«Une limite ne se touche pas.» Jacques Derrida
Le wiki des géomaticiens n'attend que toi

Hors ligne

 

#10 jeu 05 novembre 2009 21:08

jaykayone
Membre
Date d'inscription: 15 fév 2007
Messages: 85

Re: Créer un nouvel attribut et le renseigner

D'ailleurs, pour tous les fans de python, la même chose peut être faite en python, langage plus accessible que le TCL ..
et il existe un bon tutoriel : http://www.fmepedia.com/index.php/Olive … hon_Corner

Hors ligne

 

#11 ven 06 novembre 2009 10:18

Nelly33
Membre
Date d'inscription: 24 jun 2008
Messages: 8

Re: Créer un nouvel attribut et le renseigner

Merci beaucoup pour vos réponses, ça m'a bien aidé !
Passez une bonne journée!!!

Hors ligne

 

Pied de page des forums

Powered by FluxBB