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

GEODATA DAYS 2024

#1 Thu 01 July 2010 09:01

marine.g
Participant occasionnel
Date d'inscription: 4 Aug 2009
Messages: 43

Eclater une liste via un transformer

Bonjour!

Je sollicite votre aide pour un petit problème dans un script FME, en esperant que vous pourrez m'aider!

J'ai une table Access qui se présente sous la forme suivante :

Code    Date
AL01     22.10.2002
AL02     10.05.2008
AL02     23.11.2009
...         ...

Je voudrais exporter mes données dans une géodatabase avec la structure suivante :

Code       Date1                 Date2 ...
AL01    22.10.2002                   ....
AL02    10.05.2008             23.11.2009  ....

J'utilise un transformer aggregator qui me permet d'obtenir un enregistrement par station et me crée une liste avec toutes les dates pour ces stations. Le problème est que je ne trouve pas de transformer pour éclater la liste en fonction du nombre de date que j'ai!

J'ai remarqué que l'on peut éclater la liste en faisant un clic droit sur celle-ci et en choisissant en combien on souhaite l'éclater. Mais dans ce cas, le nombre est constant ce qui me pose prblème : j'aurai de plus en p'lus de date au fil du temps et j'aimerais donc que le transformer puisse éclater la liste en fonction de ce nombre de date qui varie.

Merci d'avance pour votre aide!

Hors ligne

 

#2 Thu 01 July 2010 11:14

pyjoubert
Participant assidu
Lieu: Lyon
Date d'inscription: 21 Mar 2006
Messages: 334

Re: Eclater une liste via un transformer

Bonjour,
As tu essayé ListExplode ?

Hors ligne

 

#3 Thu 01 July 2010 11:57

ogayte
Participant assidu
Lieu: Saint-Estève
Date d'inscription: 6 Mar 2006
Messages: 658
Site web

Re: Eclater une liste via un transformer

Réponse théorique :
Le véritable problème vient de votre structure de données cible.
Si vous ne connaissez pas le nombre de dates à gérer vous ne pouvez pas connaître le nombre de colonnes et vous ne pourrez pas produire de résultat. Évitez ce modèle si vous voulez faire du stockage dans une base de données propre.


Réponse pragmatique :
Vous êtes sur la bonne piste avec aggregator ou ListBuilder.
Deux solutions :
1. utilisez le clic droit pour éclater la liste en donnant une valeur supérieur au nombre d'éléments max.
2. Utiliser ListConcatenator pour obtenir un attribut unique avec toutes les valeurs.

La solution 2 est plus propre. Vous pouvez envoyer le résultat dans un jeu de données au format TEXT qui vous permettra de gérer un nombre illimité de dates.


Olivier Gayte
http://www.veremes.com
+33 (0)4-68-38-65-27

Hors ligne

 

#4 Thu 01 July 2010 14:08

marine.g
Participant occasionnel
Date d'inscription: 4 Aug 2009
Messages: 43

Re: Eclater une liste via un transformer

Merci pour  vos réponses,

J'ai essayé le ListExploder mais avec ce transformer comme avec le ListConcatenator, j'obtiens une entité pour chaque station à chaque date alors que j'ai besoin qu'une entité corresponde à une station quelque soit la date. J'ai donc un unique attribut date au lieu de X attributs date1,date2, etc.

Je dois absolument avoir un attribut par date pour pouvoir cartographier ces données. Je cherche à représenter sous ArcGIS, pour chaque station, un diagramme avec une note obtenue à chaque date. Cette représentation n'est possible que si chaque date est représentée par un attribut. J'ai donc opté pour la solution d'éclater la liste en indiquant un nombre supérieur au nombre de dates dont je dispose actuellement.

Hors ligne

 

Pied de page des forums

Powered by FluxBB