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

#1 Mon 07 January 2013 17:18

ALCAÏNA Christophe
Participant occasionnel
Date d'inscription: 29 Sep 2009
Messages: 16

Contrôle de présence de calque

Bonjour à tous et meilleurs vœux.
Je ne sais pas si durant les fêtes j'ai oublié certains automatismes et autres fondamentaux, mais là je bloque sur un problème
qui semble pourtant tout simple:
Comment contrôler l'existence d'un calque dans un fichier DWG...?
J'ai bien entendu "joué" avec les "AttributeFilter", "Tester" et autre "ListBuilder" mais je n'arrive pas à faire ce contrôle
simple :"Le fichier DWG contient-il le calque 'test' (ex.)?"

Dans l'attente de vos lumières.

Par avance merci !

Hors ligne

 

#2 Mon 07 January 2013 17:23

nat43
Participant actif
Date d'inscription: 13 Mar 2008
Messages: 94

Re: Contrôle de présence de calque

Bonjour !!!


Un TESTER sur l'attribut autocad_layer devrait suffir, non ?!
S'il y a des entités dans le calque ... il y aura un résultat.

Attention par contre, car il me semble que FME ne déteste pas les calques vides dans les DWG.

Bonne année 2013 à Toutes et à Tous !!!

Dernière modification par nat43 (Mon 07 January 2013 17:29)

Hors ligne

 

#3 Mon 07 January 2013 17:26

Charlotte BeTechSud
Participant occasionnel
Date d'inscription: 12 Dec 2012
Messages: 20

Re: Contrôle de présence de calque

Bonjour,

Si tu connais le nom de ton calque, tu exposes autocad_layer, puis tu testes avec un tester :

autocad_layer = "nomducalque"

si dans passed tu as des résultats c'est qu'il existe

Si tu as plusieurs calques à tester, tu peux utiliser un testfilter.

Je ne sais pas si c'est la meilleure méthode mais je pense que je le ferai comme ça...

Hors ligne

 

#4 Mon 07 January 2013 17:44

ALCAÏNA Christophe
Participant occasionnel
Date d'inscription: 29 Sep 2009
Messages: 16

Re: Contrôle de présence de calque

Merci NAT43 et Charlotte pour vos réponses rapides.
Comme tu l'indiques Nat43, le "Tester" me permet de vérifier le nombre d'entités contenues dans le calque en question, ceci répond indirectement
à ma problématique, je souhaite avant même de tester si le calque contient des entités, savoir si le calque existe bel et bien.
Idem pour l'"AttributeFilter".
Petite précision, qui a son importance, je suis sous FME2009, le "TestFilter" n'existe malheureusement pas pour cette version.
Je continue mes recherches wink

Dernière modification par ALCAÏNA Christophe (Mon 07 January 2013 18:05)

Hors ligne

 

#5 Mon 07 January 2013 18:43

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

Re: Contrôle de présence de calque

Je pense que la solution la plus adaptée consiste à lire le jeu de données avec le format  Schema (Any Format) qui permet d'accéder à la structure du jeu de données sans lire les données elles-mêmes.


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

Hors ligne

 

#6 Tue 08 January 2013 10:30

ALCAÏNA Christophe
Participant occasionnel
Date d'inscription: 29 Sep 2009
Messages: 16

Re: Contrôle de présence de calque

Bonjour à tous,
Merci Olivier pour ta réponse, mais le FME2009 que j'utilise n'a malheureusement pas la possibilité de lire le format "Schema (Any Format)".
J'ai tout de même persisté et creusé du côté du "ListBuilder" et j'ai une solution à mon problème wink

Pré-requis:
Exposer l'attribut "autocad_layer"

Procédure

1- Monter un "ListBuilder" avec un group by sur "autocad_layer", création de la liste "_list" (valeur par défaut)
2- Connecter en Output du "ListBuilder" un "ListSearcher" basé sur la liste créée au point 1, préciser le texte recherché (dans mon cas le nom du layer à contrôler), puis le petit nom de "l'index attribute" qui servira au "Tester" et enfin le "Search type" à "Firs exact match".
3- Connecter en Output du "ListSearcher" un "Tester"  basé sur le nom de "l'index attribute".
Si l'index = 0 alors le texte recherché a été trouvé.
Répéter la chaîne de transformers "ListSearcher" + "Tester" pour l'ensemble des calques dont il faut contrôler la présence dans le DWG.

Cette solution est valable pour un FME2009, les version plus récentes doivent permettre une autre alternative.

Merci à tous et bonne journée

Hors ligne

 

#7 Tue 08 January 2013 12:37

ALCAÏNA Christophe
Participant occasionnel
Date d'inscription: 29 Sep 2009
Messages: 16

Re: Contrôle de présence de calque

Bon, c'était trop beau...
Le "ListBuilder" supprime les géometries, j'ai donc tenté de mettre en place une combinaison de "VariableSetter" et "VariableRetriever" pour valider le contrôle de présence de calque, mais ce n'est pas gagné...
Je suis très surpris par la difficulté que je rencontre pour quelque chose d'aussi simple (en théorie...).
Je vous tiens informés si je parviens à mes fins !!

Hors ligne

 

#8 Wed 09 January 2013 12:05

MagBar
Participant assidu
Date d'inscription: 27 Jun 2012
Messages: 203

Re: Contrôle de présence de calque

Tu peux créer des listes par l'intermédiaire d'autres transformer (qui concerve les géometries)
Exemple : dissolver, aggregator, featureMerger, ....
Tu peux peut être passer  aggrégator ?  (attention tu aura en sortie 1 unique polygone aggrégé - ou plusieurs selon ton attribut de regroupement) il faudra les désaggréger par la suite avec deagregator...

Je ne sais pas trop si cela t'aide...

Hors ligne

 

#9 Fri 11 January 2013 08:29

ALCAÏNA Christophe
Participant occasionnel
Date d'inscription: 29 Sep 2009
Messages: 16

Re: Contrôle de présence de calque

Merci MagBar pour cette piste.
Je m'y remets dès que possible et vous ferai part de mes tests s'ils sont concluants.
Bonne fin de semaine à tous.

Dernière modification par ALCAÏNA Christophe (Fri 11 January 2013 08:30)

Hors ligne

 

#10 Tue 05 February 2013 16:33

ALCAÏNA Christophe
Participant occasionnel
Date d'inscription: 29 Sep 2009
Messages: 16

Re: Contrôle de présence de calque

Bonjour à tous,
J'ai trouvé une alternative à mon problème, grâce au transformer "NoFeaturesTester".
Grâce à lui, il est possible de déclencher une action à la suite d'un transformer qui ne retourne aucun enregistrement.
Merci à tous et longue vie à FME !!

Hors ligne

 

#11 Wed 06 February 2013 08:09

MagBar
Participant assidu
Date d'inscription: 27 Jun 2012
Messages: 203

Re: Contrôle de présence de calque

vahou,

tu l'a trouvé où celui ci ? version 2013 ?

Hors ligne

 

#12 Thu 07 February 2013 07:27

ALCAÏNA Christophe
Participant occasionnel
Date d'inscription: 29 Sep 2009
Messages: 16

Re: Contrôle de présence de calque

Bonjour,
Il est vrai qu'il est dommage que ce transformer ne soit pas disponible par défaut dans FME, il y aurait pourtant toute sa place...

Tu le trouveras sur le FMESTORE, custom transformers
http://fmestore.safe.com/item_types.htm

Tu télécharges le fichier *.fmc, double clic dessus, et il
Lance l'installation du *.fmx dans "c:\users\...\documents\fme\transformer"
Une fois installé, tu lances ton workbench et le custom
Transformer est "ready to play"!!

Petite précision:
le transformer "NoFeaturesTester" est compatible avec les versions 2012 et 2013, pour la version 2011 il faudra vraisemblablement
apporter une modification car il y a une incompatibilité de version du transformer "Aggregator" contenu dans ce custom transformer.

Bonnes courses !

Dernière modification par ALCAÏNA Christophe (Thu 07 February 2013 09:02)

Hors ligne

 

#13 Thu 11 May 2017 11:51

mgeomaticien
Participant occasionnel
Date d'inscription: 4 May 2017
Messages: 20

Re: Contrôle de présence de calque

Bonjour,

désolé de relancer ce sujet. Mais je dois faire la même chose. J'ai installer le transformer "NoFeaturesTester" mais je ne sais pas trop comment ça marche. Car elle n'indique pas d'options pour le configurer. SVP vous pouvez m'aider la dessus ?

J'utilise FME 2016

Merci par avance

Dernière modification par mgeomaticien (Thu 11 May 2017 11:52)

Hors ligne

 

#14 Mon 22 May 2017 17:01

mgeomaticien
Participant occasionnel
Date d'inscription: 4 May 2017
Messages: 20

Re: Contrôle de présence de calque

Merci. j'ai résolu mon problème.

Hors ligne

 

Pied de page des forums

Powered by FluxBB