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

GEODATA DAYS 2024

#1 Mon 16 July 2012 10:34

JeremieB
Participant occasionnel
Date d'inscription: 16 Jul 2012
Messages: 22

Quel transformer pour controler l'emprise géographique ?

Bonjour,


Je suis stagiaire dans un SIG et je doit m'auto former sur FME, et j'aimerai savoir quels sont les transformer existant pour contrôler une emprise géographique.
Je sais que ma question peut paraître stupide mais étant novice dans le monde de la cartographique et de l'utilisation de ce logiciel, cela est un vrai point noir...


De plus j'aimerai savoir si des personnes on déjà fait de l'export de métadonnées en fichier XML via FME en relation avec la directive inspire . Avez vous fait votre propre modèle d'extraction ou utiliser des transformer XML & inspire que propose la société Con Terra: http://www.conterra.de/en/products/fme/ … ution.shtm afin d'avoir un résultat conforme à la directive


Merci d'avance de votre aide !

Dernière modification par JeremieB (Mon 16 July 2012 10:52)

Hors ligne

 

#2 Mon 16 July 2012 14:44

Loic_GR
Moderateur
Lieu: Besancon
Date d'inscription: 12 May 2011
Messages: 1022
Site web

Re: Quel transformer pour controler l'emprise géographique ?

Bonjour,

Vous pouvez être plus précis par rapport à votre première question ? Que voulez-vous faire exactement ?


Freelance traitements ETL FME certifié: www.sitdi-france.fr Twitter : @sitdifrance
Site perso ~ www.partir-en-vtt.com

Hors ligne

 

#3 Wed 18 July 2012 08:53

JeremieB
Participant occasionnel
Date d'inscription: 16 Jul 2012
Messages: 22

Re: Quel transformer pour controler l'emprise géographique ?

BOnjour,

Alors pour la première question, il m'est demandé de vérifier si l'emprise géographique et présente, si oui est-elle au bon endroit de la carte si aucune emprise géographique, il faudra la positionner

Hors ligne

 

#4 Wed 18 July 2012 09:18

pyjoubert
Participant assidu
Lieu: Lyon
Date d'inscription: 21 Mar 2006
Messages: 343

Re: Quel transformer pour controler l'emprise géographique ?

Bonjour,
Toujours pas clair
Quelles sont vos données en entrée ?
Peut-il y avoir des entités en entrée sans contour? de quel type alors ?
Peux t'on voir un extrait de ces données ?
etc ....


Sinon je crains fortement qu'on ne puisse rien pour vous !

Hors ligne

 

#5 Wed 18 July 2012 11:20

JeremieB
Participant occasionnel
Date d'inscription: 16 Jul 2012
Messages: 22

Re: Quel transformer pour controler l'emprise géographique ?

D'accord,

Je vais demander des infos sur les types de données avant de partir dans tout les sens, je vous recontacte plus tard une fois tout les éléments récupérés pour demander de l'aide.
Ce que je peut vous dire à l'heure actuelle, c'est que toutes les données provienne d'une bdd oracle 10g, et pour les lire dans FME le format est Oracle Spatial object

Hors ligne

 

#6 Mon 30 July 2012 10:16

JeremieB
Participant occasionnel
Date d'inscription: 16 Jul 2012
Messages: 22

Re: Quel transformer pour controler l'emprise géographique ?

Pour répondre a Pyjoubert,

Les données à traiter en entrée sont de type Oracle spatial object (Oracle 10g)
sont stockées dans cette BDD géo des éléments géographiques comme des rasters, des plans de la ville etc...;
mon but dans un premier temps (car je vais y aller pas à pas), et d'extraire de ses tables l'emprise géographique(xmin, xmax, ymin, ymax) et de la comparer avec une emprise définie dite "de référence" se situant dans une autre table de la BDD geo.
SI l'emprise est plus grande que celle définie "référence" on enregistre dans un fichier de log tout ce qui est hors emprise et de même si aucune emprise est trouvée ( coordonnées nulle )

Et pour tout ce qui sera correct, on envoi le tout sur le même type de BDD mais d'une autre version (Oracle 11g)
De plus l'emprise sera utilisée je pense pour générer en même temps un fichier XML de métadonnées pour alimenter notre géocatalogue suivant la directive INSPIRE. (mais bon je verrais cela plus tard)

Donc de mon coté j'ai trouvé un transformer qui m'extrait bien mes coordonnées géo qui correspondent à l'emprise (BoundsExtractor)
Ma question est, quel transformer il faut pour comparer les coordonnées extraites par le transformer à celle de référence ? Je peut si il le faut extraire les coordonnées de référence si ça peut être utile.

si mes explication ne sont toujours pas claires, merci de me le dire, car je suis novice dans ce domaine....

Hors ligne

 

#7 Mon 30 July 2012 11:29

JeremieB
Participant occasionnel
Date d'inscription: 16 Jul 2012
Messages: 22

Re: Quel transformer pour controler l'emprise géographique ?

Je poste ma solution,

Je lis l'emprise maxi de ma table avec  (BoundingBoxAccumulator), puis je récupère les valeurs dans des attributs xmin xmax, ymin, ymax avec (BoundsExtractor) et enfin je teste si l'emprise est plus grande ou nulle qu'une valeur définie (dans le futur j'utiliserai la valeur définie de l'emprise maxi stockée en base) avec (Tester).

Donc si l'emprise est plus grande que celle définie ou nulle sur xmax, xmin, ymax, ymin, cela ressort en fail sinon ça passe.

Je pense que je suis pas trop loin d'une solution fonctionnelle, vous en pensez quoi ?

Hors ligne

 

#8 Mon 30 July 2012 13:11

Pierre
DesCartesPourUnMondeMeilleur
Date d'inscription: 22 Sep 2005
Messages: 1643

Re: Quel transformer pour controler l'emprise géographique ?

Aloha,

J'aurais fait de même mais en SQL dans Oracle. FME n'a d'intérêt à mon sens que pour les connexions entre différents schémas, formats voire base de données différentes.
Sinon, en FME j'utilise effectivement le BBoxAccu que je teste avec un SpatialFilter, plus efficace selon moi (critère : within).

Bonne après midi


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

 

#9 Mon 30 July 2012 13:51

JeremieB
Participant occasionnel
Date d'inscription: 16 Jul 2012
Messages: 22

Re: Quel transformer pour controler l'emprise géographique ?

Oui les tests peuvent être fait en SQL mais c'est pas le seul est unique test que je fais faire donc autant tout regrouper.De plus FME va me permettre de changer la projection de toutes les données.

Le SpatialFilter m'a l'air pas mal, mais pour le moment j'ai des difficultés à récupérer l'emprise de référence en BDD donc je rentre en dur dans le testeur les valeurs de l'emprise de référence pour me faciliter la tâche.

Hors ligne

 

#10 Mon 30 July 2012 14:23

Pierre
DesCartesPourUnMondeMeilleur
Date d'inscription: 22 Sep 2005
Messages: 1643

Re: Quel transformer pour controler l'emprise géographique ?

Et pourquoi ne pas créer un polygone avec ces coordonnées que vous utiliserez dans votre tester ? C'est exactement ce que je fais chez nous.
PS. Oracle sait re-projeter et même très bien, des données. J'ai plusieurs vues avec des coordonnées d'objets dans différents systèmes.


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

 

#11 Tue 31 July 2012 08:38

JeremieB
Participant occasionnel
Date d'inscription: 16 Jul 2012
Messages: 22

Re: Quel transformer pour controler l'emprise géographique ?

Oui c'est ce que j'ai fait en fait, à partir d'un polygone, j'ai extrait les coordonnées min et max de X et Y
Actuellement mes données sont en Lambert II étendu, le nouveau système de projection sera du RFG93:CC48

Par contre question bête, vu que je passe par BoundBox Accu, Extractor, ses transformer me récupèrent les attribut de la table ou pas ? car en sortie du testeur je repars sur ma nouvelle base Oracle11g et donc il faut que les tables validées  soit intégralement copiées dans ma nouvelle base.

Ou je doit recréer les tables avec leur attribut avant d'effectuer le job ?

Car les transformer ne contiennent pas les attribut en données source, c'est pour ça que je demande.
Je vous joint mon projet FME

Dernière modification par JeremieB (Tue 31 July 2012 08:45)


Fichier(s) joint(s) :
Pour accéder aux fichiers vous devez vous inscrire.

Hors ligne

 

#12 Tue 31 July 2012 09:19

Pierre
DesCartesPourUnMondeMeilleur
Date d'inscription: 22 Sep 2005
Messages: 1643

Re: Quel transformer pour controler l'emprise géographique ?

Bonjour,

JeremieB a écrit:

Oui c'est ce que j'ai fait en fait, à partir d'un polygone, j'ai extrait les coordonnées min et max de X et Y


Non. Vous utilisez un tester sur les coordonnées. J'utilise une liste de coordonnées pour créer un polygone et je vous propose de l'utiliser comme contrainte dans un tester sur les géométries.

JeremieB a écrit:

Par contre question bête, vu que je passe par BoundBox Accu, Extractor, ses transformer me récupèrent les attribut de la table ou pas ? car en sortie du testeur je repars sur ma nouvelle base Oracle11g et donc il faut que les tables validées  soit intégralement copiées dans ma nouvelle base.

Ou je doit recréer les tables avec leur attribut avant d'effectuer le job ?

Car les transformer ne contiennent pas les attribut en données source, c'est pour ça que je demande.
Je vous joint mon projet FME


Le mieux c'est d'utiliser les schémas dynamiques avec le paramètre de create table à yes, idem pour truncate. Il faut paramétrer la séquence (donner son nom), et pour les attributs vous dites d'aller chercher le schéma de la table dans la base de données sources (FME le trouvera grâce à l'attribut FME_feature_type).


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

 

#13 Tue 31 July 2012 10:30

JeremieB
Participant occasionnel
Date d'inscription: 16 Jul 2012
Messages: 22

Re: Quel transformer pour controler l'emprise géographique ?

D'accord, mais ce que j'ai du mal à comprendre c'est que ma table contient 20169 éléments, avec boundingBoxAccumulator je ressort juste un seul élément, comment FME va écrire ses 20169 éléments dans la nouvelle table oracle ?

EN tout cas j'arrive à reproduire la table source dans la BDD ora 11g mais il faut remplir les champ avec les 20169 enregistrement je pense non ?
Je tiens à vous remercier, grâce à vous je peut avancer dans mon projet intelligemment et j'espère ne pas trop vous posez de question un peut bateau car je suis conscient que j'en demande beaucoup

Dernière modification par JeremieB (Tue 31 July 2012 10:50)

Hors ligne

 

#14 Tue 31 July 2012 11:25

Pierre
DesCartesPourUnMondeMeilleur
Date d'inscription: 22 Sep 2005
Messages: 1643

Re: Quel transformer pour controler l'emprise géographique ?

Faîtes deux projets. Et un projet qui contient les 2. L'idée : vérifiez avec le 1er si l'emprise des données est correcte. Si le résultat est bon, FME lancera le 2nd projet qui lui écrira les 21069 objets dans la table. Pour ça, il va vous falloir utiliser les workspacerunner.
Sinon c'est normal pour le boundingboxaccumulator. Si vous lisez sa description vous comprendrez pourquoi il n'y a qu'un objet en sortie.


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

 

#15 Tue 31 July 2012 11:35

JeremieB
Participant occasionnel
Date d'inscription: 16 Jul 2012
Messages: 22

Re: Quel transformer pour controler l'emprise géographique ?

Ouioui j'avais compris le principe du Bounding, c'est bien ce que je pensais, si on regroupe tout en un en sortie on perd les 20000 enregistrements.
Je vais étudier l'histoire du double projet

Hors ligne

 

#16 Mon 06 August 2012 12:47

JeremieB
Participant occasionnel
Date d'inscription: 16 Jul 2012
Messages: 22

Re: Quel transformer pour controler l'emprise géographique ?

Car j'avais aussi dans l'idée de faire un fichier de log si jamais une table passe par le port FAILED de mon tester, créer un fichier xml, xls txt peut importe en récupérant le nom de la table avec l'attribut fme_feature_type. mais le soucis c'est que je récupère autant de fois le nom de la table que le nombre d'enregistrement donc pour ici je récupère 20169 fois le nom de ma table.
Vu que je peut pas récupérer le nom de la table avec les transformer utilisés avant il faut que je créée un sous projet qui extraira tout ce qu'il faut de ma table pour générer mon fichier de log.

ma nouvelle question est: comment récupérer UNE seule fois le nom de la table ? et non pas autant de fois que j'ai d'enregistrement, je suis sur qu'il y a un transformer pour ça !

Hors ligne

 

#17 Tue 07 August 2012 12:15

xav
Participant assidu
Date d'inscription: 27 Oct 2005
Messages: 280

Re: Quel transformer pour controler l'emprise géographique ?

Bonjour,
tu peux utiliser le transformer DuplicateRemover (port UNIQUE) pour garder qu'une fois le nom de chaque table.


Xavier Lang
Information géographique et observatoire - DSI Communautaire
Cap Atlantique

Hors ligne

 

#18 Wed 08 August 2012 09:05

JeremieB
Participant occasionnel
Date d'inscription: 16 Jul 2012
Messages: 22

Re: Quel transformer pour controler l'emprise géographique ?

D'accord, sinon j'arrive a récupérer le paramètre fme_feature_type, qui contient le nom de la table mais les deux solutions marchent merci smile

Hors ligne

 

Pied de page des forums

Powered by FluxBB