Nous utilisons des cookies pour vous garantir la meilleure expérience sur notre site. Si vous continuez à utiliser ce dernier, nous considèrerons que vous acceptez l'utilisation des cookies. J'ai compris ! ou En savoir plus !.
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

Printemps des cartes 2024

#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

 

Pied de page des forums

Powered by FluxBB