Pages: 1
- Sujet précédent - Récupération des numéros de point avec après SpatialRelator - Sujet suivant
#1 Mon 15 March 2010 18:49
- Christian_K
- Juste Inscrit !
- Date d'inscription: 14 Mar 2010
- Messages: 6
Récupération des numéros de point avec après SpatialRelator
Bonjour,
Néophyte dans l'utilisation de FME, je reste bloqué par une fin de fonction qui me semble pourtant simple.
J’ai une table de polylignes à l'extrémité desquelles je dois créer un point et référencer celui-ci à la polyligne.
Après recherche sur ce forum, j'ai créé les points avec 2 Coordinatefetcher et 2 2DPointReplacer, éliminé les doublons avec Matcher, numéroté les points avec Counter et recherché la correspondance polyligne-point avec un SpatialRelator.
Je n'arrive pas à récupérer les numéros des points pour les transcrire dans 2 champs (Dupoint, Aupoint) de la polyligne.
Pourtant lors de l'utilisation du Visualizer le numéro des points apparaissent ainsi : RD{0}._count_NunPT 123 et RD{1}._count_NunPT 576. Comment est-il possible de récupérer les numéros de ces points ?
Ou existe-t-il une procédure plus simple ?
Merci pour votre aide.
Christian_K
Hors ligne
#2 Mon 15 March 2010 19:35
- Pierre
- DesCartesPourUnMondeMeilleur
- Date d'inscription: 22 Sep 2005
- Messages: 1643
Re: Récupération des numéros de point avec après SpatialRelator
Bonjour,
Vous récupérez donc deux éléments de la liste RD{}. Pour les transformer en attribut, il convient :
- soit dans la fenêtre du workbench : étendre la liste des attributs (petite croix sur le transformer), puis sur la ligne RD{}, cliquez droit et indiquez que vous souhaitez "exposer" 2 valeurs. Vous pourrez ensuite les utiliser (à quelque limites près).
- utiliser un des transformer de listes. List indexer. Une première fois pour l'élément 0, puis le renommer en attribut "point1", puis une seconde fois.
Ne sachant pas si mes explications sont claires, j'espère que vous y trouverez tout de même votre solution.
art X I. Déclaration des Droits de l’Homme et du Citoyen 1789
La libre communication des pensées et des opinions est un des droits les plus précieux de l’Homme : tout Citoyen peut donc parler, écrire, imprimer librement, sauf à répondre de l’abus de cette liberté, dans les cas déterminés par la Loi.
Hors ligne
#3 Tue 16 March 2010 18:54
- Christian_K
- Juste Inscrit !
- Date d'inscription: 14 Mar 2010
- Messages: 6
Re: Récupération des numéros de point avec après SpatialRelator
Bonjour,
Merci pour votre aide, j'ai pu récupérer l'information, mais malheureusement j'ai constaté que la fonction SpatialRelator ne me donnait pas correctement et systématiquement associé au gcm_x_value et au gcm_y_value le point correspondant au "Dupoint" ni évidemment l'association gcm_xp_value et au gcm_yp_value et le "Aupoint".
J'ai paramétré dans le "Test to Perform" TOUCHES @Value(gcm_x_value) @Value(gcm_y_value) @Value(_x) @Value(_y), ainsi il me semblait qu'il ne devrait pas y avoir de confusion entre l'origine de la polyligne et le point "Dupoint" et pourtant … idem pour l'association entre l'autre extrémité et le point "Aupoint".
Malgré différents essais ( associations et permutations des paramètres), je suis contraint de solliciter encore un peu d'aide.
Merci d'avance.
Hors ligne
#4 Tue 16 March 2010 22:25
- Pierre
- DesCartesPourUnMondeMeilleur
- Date d'inscription: 22 Sep 2005
- Messages: 1643
Re: Récupération des numéros de point avec après SpatialRelator
Reprenons :
- insérer un counter pour identifier les polylignes s'ils n'ont pas d'identifiant
- avec un CoordinateExtractor extraire le couple de coordonnées du point 0
- créer le point à ces coordonnées (avec un 2D point replacer)
- lier ce point à la polyligne avec un matcher (identifiant = identfiant)
- attribuer les coordonnées aux attributs
- reprendre les lignes, extraire le couple de coordonnées du nième point (établi à l'aide du CoordinateCounter)
- créer le point avec 2D point replacer
- lier ce point à la polyligne (celles sur lesquelles on a déjà liées les points)
- attribuer les coordonnées aux attributs.
Le 2D point replacer conserve les attributs de la ligne.
Sans FME sous les yeux, je ne peux pas faire de test ni vous fournir de modèle, mais je suis à peu près sûr que la méthode au dessus est un bon canevas.
L'idée étant de conserver les lignes de départ jusqu'à la sortie, mais de faire des processus parallèles pour créer les points. Le matcher doit suffire puisque l'on crée les points à partir des objets auxquels on veut les lier.
art X I. Déclaration des Droits de l’Homme et du Citoyen 1789
La libre communication des pensées et des opinions est un des droits les plus précieux de l’Homme : tout Citoyen peut donc parler, écrire, imprimer librement, sauf à répondre de l’abus de cette liberté, dans les cas déterminés par la Loi.
Hors ligne
Pages: 1
- Sujet précédent - Récupération des numéros de point avec après SpatialRelator - Sujet suivant