#1 Mon 03 November 2008 16:33
Création tables POSTGIS avec des arcs
Bonjour,
J'espère que c'est le bon forum.
J'utilise FME 2008 en lisant de l'Interlis (plugin ili2fme, dernière version) et en créant du Postgresql/Postgis.
Je créé, depuis des fichiers ITF, des tables Postgis/Potsgresql. Evidemment, pour que rien ne soit simple, mes géométries incluent des arcs. Tant que je créé des surfaces (même avec des arcs), tout va bien, mais si je créé des géométries linéaires, j'ai droit à une super et répétitive erreur FME.exe. J'en arrive à la conclusion que c'est lié au fait que mes géométries linéaires contiennent, elles aussi, des arcs (OK, là je peux me tromper).
Si jamais Postgis ne pouvait pas écrire des arcs (ce que semble indiquer la doc', mais alors pourquoi mes surfaces ça marche ?), y aurait-il un transformer qui pourrait remplacer mes arcs par des lignes "approchantes" (créer des arcs, j'ai trouver, c'est l'inverse qui m'intéresse).
Je teste avec un geometry coercer, mais j'ai un doute.
Ceci dit, j'ai essayé un deaggregator, mais je n'ai aucun aggrégat. Par contre, si je fais un geometryfilter, tout sort par l'output LINE ! Mais quand je vais le regarder dans le vizualiser, j'ai bien des arcs dans mes lignes.
Rhaaaa je sèche
Toute info est donc la bienvenue
Véronique
Hors ligne
#3 Mon 03 November 2008 18:33
- brunofriedmann
- Participant occasionnel
- Lieu: Vellerat, suisse
- Date d'inscription: 19 Apr 2008
- Messages: 31
- Site web
Re: Création tables POSTGIS avec des arcs
Une p'tite bière Belge ?
Forte de préférence :-)
--
Bruno Friedmann
Hors ligne
#4 Tue 04 November 2008 15:38
Re: Création tables POSTGIS avec des arcs
Alois voici le fin mot de l'histoire.
Le plugin ili2fme me donne des iFMEPath. Ces derniers ne sont (apparemment) pas écrivables (ça se dit ?) dans Postgis.
Qu'à celà ne tienne, j'ai rajouter un pathsplitter.
Mais oh rage oh désespoir, même si cette fois, ce n'est plus une erreur FME.exe, j'ai toujours une erreur d'écriture dans postgis.
J'ajoute donc un arcstroker pour éliminer les arcs (qui sait...). Mais que non, ça pétouille toujours.
J'ai donc joint un geometryfilter, mais ça me disait que tout ce qui sortait c'était des lignes... mais bon, FME étant en avance sur son temps, après jonction d'un vizualiser, je me suis rendue compte qu'un objet avec une géométrie FME de ligne pouvait n'avoir qu'une seule coordonnée (hein?) ce qui rend franc fou postgis pour qui non, ceci n'est pas possible.
Donc j'ai rajouté à mon arcstroker un coordinatecounter et j'ai enlevé toutes les lignes à une coordonnée et là, CA FONCTIONNE.
N'empêche que le coup de la ligne à une coordonnée ..... Bon ceci dit, entre temps j'ai utilisé FME 2009 alors est-ce une erreur de ce dernier ????
Véronique
Hors ligne
#5 Wed 05 November 2008 16:18
Re: Création tables POSTGIS avec des arcs
Non ce n'est pas une erreur de FME 2009.
Le type de géométrie fme_type est calculé par FME au moment de la lecture de l'objet.
Si vous modifiez l'objet en enlevant des vertex vous pouvez passer d'un polygone à une ligne voir à un point.
Dans ce cas c'est à vous de faire le test du type de géométrie avec un CoordinateCounter.
Un arc de cercle étant défini entre autre par le centre de l'ellipse associé, je pense que ArcSTrocker doit générer ce centre comme point.
C'est un "point" qui mériterait d'être indiqué dans la doc de ArcStrocker...
Hors ligne
#6 Thu 06 November 2008 06:24
Re: Création tables POSTGIS avec des arcs
Merci pour ces informations.
Juste une question : y a-t-il un transformer (autre que coordinate counter) qui permet de savoir quel est le type réel de la géométrie au moment demandé (à l'endroit où on le connecte). Ainsi, le coordinate counter nous permet juste de dire s'il s'agit d'un point ou de rien, mais impossible de savoir si c'est une ligne, un arc, une surface etc...
Merci
Véronique Herzl
Hors ligne
#7 Thu 06 November 2008 07:49
- Sylvie
- Membre
- Date d'inscription: 5 Sep 2005
- Messages: 3066
Re: Création tables POSTGIS avec des arcs
Bonjour,
Donner le type réel de la géométrie, c'est le boulot de GeometryFilter.
Bonne journée
Hors ligne
#8 Thu 06 November 2008 07:51
- jaykayone
- Participant actif
- Date d'inscription: 15 Feb 2007
- Messages: 95
Re: Création tables POSTGIS avec des arcs
Serait-ce le geometryfilter que vous cherchez?
Jeff
Hors ligne
#9 Thu 06 November 2008 09:26
Re: Création tables POSTGIS avec des arcs
C'est GeometryFilter en théorie mais dans certains cas assez rares (celui de Véronique en particulier) le résultat de GeometryFilter est faux car la géométrie a été modifiée par un transformer.
Exemple : vous prenez un segment constitué de 2 vertex très proches (inf au mètre) , c'est donc une ligne.
Vous le faites passer dans CoordinateRounder avec un paramètre de -1. Il ressort un point unique avec un fme_type=fme_line !
Si vous utilisez GeometryFilter ce point va ressortir dans les lignes...
Il faut donc être vigilant avec certains transformers (CoordinateRounder, ArcStroker...) et utiliser CoordinateCounter pour faire la vérification.
Le problème peut être le même avec des polygones qui se trouvent constitués de 2 points après un CoordinateRounder.
Hors ligne