#1 Mon 01 December 2008 11:58
- Jérôme TEIXEIRA
- Participant occasionnel
- Date d'inscription: 18 Jun 2007
- Messages: 31
Comparer la géométrie de 2 versions de parcellaire
Bonjour à toutes et à tous. Ravi d'avoir mis des visages sur des noms lors de la conférence francophone FME. Journée très enthousiasmante...
Je cherche à comparer 2 BD de type surfacique.
J'ai une donnée A avec x entités géométriques et une donnée B avec y entités.
Je voudrai localiser la différence spatiale qu'il y aurait entre ces 2 sources de données mises à jour.
En gros, je voudrai localiser les entités supprimés depuis la dernière MAJ.
Je pensais que "ChangeDetector" me permettrait de les localiser, mais je n'arrive pas avec ce transformer au résultat escompté.
Un FMEnaute pourrait me venir en aide.
Merci par avance.
Jérôme Teixeira
Chargé de mission SIG - SI17
j.teixeira@ si17.fr
Hors ligne
#2 Mon 01 December 2008 12:21
- Sylvie
- Membre
- Date d'inscription: 5 Sep 2005
- Messages: 3066
Re: Comparer la géométrie de 2 versions de parcellaire
Bonjour Jérôme !
Bonjour la liste (celles et ceux qui étaient à la conférence francophone FME ... et les autres)
Quels paramètres as-tu passé à ChangeDetector et en quoi le résultat ne te satisfait pas ?
Sinon, une alternative avec Matcher
Sylvie
ps : pour détecter les doublons c'est MorgonDegustator
Hors ligne
#3 Mon 01 December 2008 12:27
- Matthieu-VEREMES
- Participant actif
- Lieu: Montpellier
- Date d'inscription: 9 Jan 2008
- Messages: 97
- Site web
Re: Comparer la géométrie de 2 versions de parcellaire
Bonjour à tous,
Je ne vois pas mieux que ChangeDetector ou Matcher. Après ce sera une question de réglage des paramètres...
Matthieu Ambrosy
Veremes : support FME & version française
support at veremes point com
Hors ligne
#4 Mon 01 December 2008 14:06
- Jérôme TEIXEIRA
- Participant occasionnel
- Date d'inscription: 18 Jun 2007
- Messages: 31
Re: Comparer la géométrie de 2 versions de parcellaire
Bonjour Sylvie et Matthieu.
Effectivement je pense que "ChangeDetector" doit pouvoir faire mon bonheur. Ce n'est qu'une histoire de paramétrage.
Je cherche à comparer la géométrie de 2 versions de parcellaire. La comparaison devrait m'isoler la géométrie des parcelles différentes (en plus ou en moins).
En entrée, je spécifie ma couche "parcelle" d'origine dans le port "ORIGINAL"
Toujours en entrée, je spécifie ma couche "parcelle_maj" dans le port "REVISED".
Paramètres :
- Corresponcande de la géométrie : 2D
- Lenient Geometry matchineg : Yes
Les paramètres sont uniquement des paramètres liés à la géométrie et non pas attributaire (notemment le champ "IDU").
Tout passe par les sortie "ADDED" et "DELETED" mais le résultat n'isole pas les parcelles différentes.
Je n'ai aucune sortie au niveau de "CHANGED" alors que j'ai bien des parcelles en moins dans "parcelle_maj".
J'ai sûrement raté un paramètre...
Voyez-vous plus clairement mon souci dorénavant ?
Merci par avance
Jérôme
Hors ligne
#5 Mon 01 December 2008 16:30
Re: Comparer la géométrie de 2 versions de parcellaire
Bonjour,
Juste un truc pas compris. Le transformer ChangeDetector que j'ai à disposition me donne trois sorties : ADDED, DELETED et UNCHANGED et non CHANGED ?
Donc si toutes les parcelles ont été modifiées, rien ne sortira par la sorite UNCHANGED. Non ?
Véronique
Hors ligne
#6 Mon 01 December 2008 16:50
- Jérôme TEIXEIRA
- Participant occasionnel
- Date d'inscription: 18 Jun 2007
- Messages: 31
Re: Comparer la géométrie de 2 versions de parcellaire
Bonjour Véronique. Effectivement, il s'agit de "UNCHANGED".
Uniquement certaines parcelles ont été ajouté ou supprimé bien sûr.
Mais je ne récupère pas la différence.
Mais le souci vient peut-être que j'ai une entrée en MDB (warehouse GeoMedia) et une autre entrée en Shape.
Il me sort en résultat que tout est différent.
Je me demande s'il ne s'agit pas plutôt d'une structuration de format différente stockant les coordonnées X et Y différemment ?
J'ai fait le test avec 2 versions cadastrales différentes avec le même type de format, et là le transformer "ChangeDetector" fonctionne bien.
Je continue mes tests et vous tiendrez au courant sur le forum.
Grand merci
Jérôme
Hors ligne
#7 Mon 01 December 2008 16:53
Re: Comparer la géométrie de 2 versions de parcellaire
Bonjour,
Si vous prenez la Lenient Geometry comme NO (afin d'éviter justement les modifications liées à des changements de chemin et non de surface ?
Véronique
Hors ligne
#8 Mon 01 December 2008 18:49
- Jérôme TEIXEIRA
- Participant occasionnel
- Date d'inscription: 18 Jun 2007
- Messages: 31
Re: Comparer la géométrie de 2 versions de parcellaire
Véronique.
Non malheureusement l'incrémentation de la valeur No n'a pas fait mon bonheur.
Je pense faire une conversion de format afin que les 2 entrées stockent la géométrie de la même façon.
Merci de ton aide, c'est sympa.
Je tiendrai au courant la communauté FME de mes tests en fin de semaine. après mes déplacements...
Jérôme Teixeira
Chargé de mission SIG SI 17
Hors ligne
#9 Mon 01 December 2008 21:55
Re: Comparer la géométrie de 2 versions de parcellaire
Les Transformers de comparaison de géométrie de FME (ChangeDetector, Matcher) ne fonctionnent que si les géométries sont strictement identiques. Pour cela, il faut que les vertex des objets soient identiques (mêmes coordonnées et même ordre).
Dans la pratique cela n'est possible que si les objets sont stockés dans le même format.
Si ce n'est pas le cas, il faut généralement utiliser CoordinateRounder pour diminuer sensiblement la précision de stockage (au mètre par exemple).
Vous pouvez remplacer les fonctions de comparaison de géométrie par coordinateRounder(0) + GeometryExactor pour pouvoir travailler sur la représentation WKT de la géométrie et donc une chaîne de caractères.
Hors ligne
#10 Mon 01 December 2008 21:59
- Sylvie
- Membre
- Date d'inscription: 5 Sep 2005
- Messages: 3066
Re: Comparer la géométrie de 2 versions de parcellaire
Hmmm,
Je prend le risque de contredire Olivier : dans un des deux transformers, un paramètre permet de ne pas tenir compte de l'ordre des vertices.
Sylvie
Hors ligne
#11 Tue 02 December 2008 08:37
Re: Comparer la géométrie de 2 versions de parcellaire
C'est vrai Sylvie. Il est même possible de déclarer égales deux géométries ayant un nombre de vertex différents.
Mais dans la pratique je doute que ces paramètres soient réellement utiles.
Soit les géométries à comparer ont la même origine et dans ce cas elles vont avoir les mêmes vertex (nombre et ordre) mais pas forcement exactement les mêmes coordonnées (en raison de la précision et du mode de stockage de chaque format);
soit les géométries ont des origines différentes et dans ce cas il me semble illusoire d'utiliser matcher/changedetector. Il est préférable d'utiliser alors des Transformers de type AreaOnAreaOverlayer ou SpatialRelator pour essayer d'établir une relation entre objets basée sur le taux de recouvrement.
Hors ligne