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

Rencontres QGIS 2025

L'appel à participation est ouvert jusqu'au 19 janvier 2025!

#1 Mon 03 November 2008 16:33

veroh
Participant actif
Lieu: Moutier
Date d'inscription: 27 Sep 2008
Messages: 97
Site web

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 mad

Toute info est donc la bienvenue

Véronique

Hors ligne

 

#2 Mon 03 November 2008 16:53

veroh
Participant actif
Lieu: Moutier
Date d'inscription: 27 Sep 2008
Messages: 97
Site web

Re: Création tables POSTGIS avec des arcs

Bon, OK, je donne la réponse puis je vais me pendre dans un coin ! ARCSTROKER !!!!

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

veroh
Participant actif
Lieu: Moutier
Date d'inscription: 27 Sep 2008
Messages: 97
Site web

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

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

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...


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

Hors ligne

 

#6 Thu 06 November 2008 06:24

veroh
Participant actif
Lieu: Moutier
Date d'inscription: 27 Sep 2008
Messages: 97
Site web

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

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

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.


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

Hors ligne

 

Pied de page des forums

Powered by FluxBB