#1 Fri 10 July 2015 10:27
- benoit111
- Participant actif
- Date d'inscription: 20 Jan 2008
- Messages: 102
regrouper des colonnes d'une table excel
bonjour,
j'ai un fichier excel de données dans lequel j'aimerais regrouper 3 colonnes(faire un select distinct) qui correspondent à des valeurs x,y,z pour ensuite créer un shape avec vertexcreator... les transformateur utilisant les requêtes sql ne fonctionnent pas sur du excel..
Y at il un transformeurs qui pourrait me donner ce résultat?
merci d'avance
Hors ligne
#2 Fri 10 July 2015 12:10
- benoit111
- Participant actif
- Date d'inscription: 20 Jan 2008
- Messages: 102
Re: regrouper des colonnes d'une table excel
ok, j'ai utilisé le transformer "aggregator".
Par contre lorsque l'on a des coordonnées en wgs84 j'ai essayé d'utiliser reprojector mais cette méthode ne fonctionne pas et FME laisse le shape créée en wgs84??
Dernière modification par benoit111 (Fri 10 July 2015 12:37)
Hors ligne
#3 Fri 10 July 2015 14:44
- lefred
- Participant occasionnel
- Lieu: Sophia Antipolis
- Date d'inscription: 3 Jul 2008
- Messages: 42
Re: regrouper des colonnes d'une table excel
Bonjour,
J'ai du mal à comprendre votre problématique. En tout cas, Aggregator ne me semble pas adapté.
Si les colonnes sont nommées dans la feuille excel que votre traitement lit, il suffit d'un VertexCreator où vous indiquez les noms d'attributs des colonnes X,Y,Z.
Si les colonnes ne sont pas nommées explicitement, AttributeRenamer devrait permettre de les nommer de façon compréhensible.
Dans le Reprojector, ne pas laisser l'option par défaut "read from feature" mais indiquer "EPSG:4326" ou équivalent.
Pour info, certains distributeurs ou prestataires dispensent d'excellentes formations FME :-)
Le coût de la formation est largement compensé par le temps gagné par la suite.
Cordialement.
Frédéric
--
Frédéric Eichelbrenner
Ellipso Facto - Sophia Antipolis
Hors ligne
#4 Wed 15 July 2015 10:43
- benoit111
- Participant actif
- Date d'inscription: 20 Jan 2008
- Messages: 102
Re: regrouper des colonnes d'une table excel
bonjour,
j'avais besoin d'Aggregator car les paires XY de ma table sont en doublons voire plus (je pensais que le (select distinct.... dans mon commentaire était clair) :-(
Pour le changement de projection
Dans le Reprojector, ne pas laisser l'option par défaut "read from feature" mais indiquer "EPSG:4326" ou équivalent.
c'est bien la manip que j'ai réalisé mais sans succès.....
Pour la formation je sais que cela me serait utile mais c'est pas moi qui décide:-)
Dernière modification par benoit111 (Wed 15 July 2015 12:47)
Hors ligne
#5 Wed 15 July 2015 16:23
- klrblz
- Participant occasionnel
- Date d'inscription: 8 Feb 2011
- Messages: 41
Re: regrouper des colonnes d'une table excel
Bonjour,
Afin de récupérer votre liste de valeurs X,Y,Z, essayez d'utiliser un matcher. Indiquez vos champs X,Y,Z dans "selected attributes".
En sortie vous récupérerez les valeurs uniques par le port NotMatched et une seule occurence des valeurs multiples (doublons) par le port SingleMatched.
Claire
Hors ligne
#6 Thu 16 July 2015 14:25
- benoit111
- Participant actif
- Date d'inscription: 20 Jan 2008
- Messages: 102
Re: regrouper des colonnes d'une table excel
bonjour,
merci claire ,je ne connaissais pas ce transfomer:-) l'aggregator a bien fonctionné pour mon projet, le matcher va me permettre d' accomplir une demande différente
merci
Dernière modification par benoit111 (Thu 16 July 2015 14:25)
Hors ligne
#7 Thu 16 July 2015 14:47
- lefred
- Participant occasionnel
- Lieu: Sophia Antipolis
- Date d'inscription: 3 Jul 2008
- Messages: 42
Re: regrouper des colonnes d'une table excel
Bonjour,
Matcher a la capacité de tester à la fois les attributs et la géométrie, ce qui nécessite un temps de traitement assez élevé dans le cas de données volumineuses.
DuplicateRemover permet de ne tester que les attributs, ce qui le rend beaucoup plus rapide.
Cordialement,
Frédéric
--
Frédéric Eichelbrenner
Ellipso Facto - Sophia Antipolis
Hors ligne
#8 Thu 16 July 2015 15:40
- benoit111
- Participant actif
- Date d'inscription: 20 Jan 2008
- Messages: 102
Re: regrouper des colonnes d'une table excel
encore mieux.. merci frederic
Hors ligne
#9 Thu 16 July 2015 18:16
- klrblz
- Participant occasionnel
- Date d'inscription: 8 Feb 2011
- Messages: 41
Re: regrouper des colonnes d'une table excel
Le matcher permet de tester uniquement les attributs, uniquement la géométrie ou les deux. Mais DuplicateRemover c'est bien aussi
Hors ligne
#10 Fri 24 July 2015 14:27
- benoit111
- Participant actif
- Date d'inscription: 20 Jan 2008
- Messages: 102
Re: regrouper des colonnes d'une table excel
bonjour,
je me permet de reprendre ce fil de discussion car selon moi cela rentre dans la même problématique..
donc j'ai bien réussit à séparer mes deux destination dans le même processus:
reprendre la source d'un excel et mapper des attributs pour créer une table oracle
puis utilisez deux champs de coordonnées, les regroupé pour ne pas avoir de doublon, créée une clé primaire puis un shape...
sur ces deux destination, j'ai un champ de liaison qui résulte de la concaténation des champs x et y.
mon soucis maintenant c que j'aimerais mettre à jour (cela dans le même processus) un champ de la table oracle avec les informations de la cle primaire du shape..? afin d'éviter d'utiliser un champ de liaison par concaténation ( pas très propre surtout avec des coordonnée plus ou moins longue).. je ne connais pas encore bien FME pour savoir si c'est possible ou si je vais devoir utiliser un workspacerunner pour séparer les projets et les lancer l'un après l'autre??
merci d'avance pour vos infos
Hors ligne
#11 Fri 24 July 2015 14:33
- Cherubin
- Participant assidu
- Lieu: NGC 1300
- Date d'inscription: 10 Jun 2008
- Messages: 273
Re: regrouper des colonnes d'une table excel
Si j'ai bien compris, peut-être un Joiner ou un FeatureReader?
Hors ligne
#12 Fri 24 July 2015 15:45
- benoit111
- Participant actif
- Date d'inscription: 20 Jan 2008
- Messages: 102
Re: regrouper des colonnes d'une table excel
ok, c'est ce que je pensais au départ mais sans succès. et du coup j'ai plutôt penser créer le champ identifiant avant d'utiliser le DuplicateRemover
du coup je l'ai fait avec pythoncaller, j'ai d'abord concaténer les champs X et Y puis fait un tri sur cette concaténation puis le script
Code:
import fmeobjects table=FME_MacroValues['SourceDataset_CSV'] code=None def processFeature (table): global code global rank if code!=table.getAttribute("CONCATENATION"): rank+=1 code=table.getAttribute("CONCATENATION") else: rank==rank code=table.getAttribute("CONCATENATION") table.setAttribute("CHAMPSCLE", rank)
ensuite j'ai utilisé ce champ et le X ,Y avec le DuplicateRemover pour créée le shape et j'obtient bien mon champ de liaison propre sur les deux sortie:-)
Dernière modification par benoit111 (Sun 26 July 2015 09:52)
Hors ligne