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

#1 Wed 24 March 2010 15:08

geomatikfab
Participant actif
Lieu: Dijon
Date d'inscription: 25 Nov 2008
Messages: 100
Site web

[SDI 4.0] Réccupérer automatiquement le schéma d'un shape?

Bonjour,

(d'abord j'espère être dans le bon post)
Je débute sous SDI (spatial Data Intégrator), je me suis dans un premier temps bien amusé avec talend, ca commence à rentrer, j'ai bien compris l'idée, et maintenant je m'attaque aux données spatiales...
Mon but est simple, j'ai un fichier shape (couche de points, avec un seul champs, l'identifiant du champ au format texte), et je veux l'intégrer dans une base postgis (vide).

Problème 1) il ne me récupère pas automatiquement le schéma de mon shape... pas grave, j'essaye de le rentrer à la main, mais il ne veut toujours pas reconnaître ma géométrie...

Problème 2) avec les postgres, je pouvais créer des tables dans ma base, avec postgis, il ne me propose pas, ca veut dire quoi? il créé les tables automatiquement? s'il en voit une, il l'écrase?

Si quelqu'un pouvait m'aider, je me sentirais moins seul... merci d'avance!

Hors ligne

 

#2 Wed 24 March 2010 17:32

mathieu_r
Participant occasionnel
Date d'inscription: 17 Mar 2009
Messages: 21

Re: [SDI 4.0] Réccupérer automatiquement le schéma d'un shape?

Bonjour,

Question 1
SDI ne peut récupérer automatiquement le schéma des shapefiles.
Il ne peut d'ailleurs pas le faire avec d'autres formats de fichiers: fichier délimité, fichier excel.
--
Concernant la géométrie, c'est bizarre qu'il ne la reconnaisse pas.
Il peut y avoir plusieurs raisons:
-le schéma paramétré est incorrect..
Pour tester le bon accès au shape, on peut mettre un tLogRow connecté par Main au Shapefile. L'affichage des enregistrements validera le schéma d'entrée.
-Le type géométrique paramétré dans le composant de sortie, ici, le tPostGisOutput, est incorrect. Généralement, des problèmes se posent quand on a paramétré une couche en Point alors qu'elle est en MultiPoint, ou inversement. C'est valable aussi pour les lignes et les polygones.
Le tLogRow t'affiche le type géométrique, ce qui permet de résoudre le mauvais paramétrage du type géométrique.
A noter que l'on peut également afficher le type via la fonction GETGEOMETRYPE()
Ainsi, dans un tJavaRow, input_row.the_geom.GETGEOMETRYTYPE() affichera le type géométrique de la couche


Question 2
Oui, il crée la table automatiquement.
Et il me semble qu'il l'écrase également.
Effectue des tests préalablement...

A plus!

Dernière modification par mathieu_r (Wed 24 March 2010 17:36)

Hors ligne

 

#3 Wed 24 March 2010 19:01

Yves
Membre du bureau
Lieu: Aix-les-Bains
Date d'inscription: 22 Mar 2006
Messages: 9864
Site web

Re: [SDI 4.0] Réccupérer automatiquement le schéma d'un shape?

Bonjour,

Je confirme la réponse de MAthieu pour la réponse 2. Il existe deux components pour postgis : postgisOutput et postgresqlOutput. Dans le 2e cité, on ne peut pas définir le srid et le type de la géométrie, contrairement à la 2e mais on ne peut pas gérer les actions sur la table (suppression, truncate, atc.)

Y.
PS : je n'ai pas vue d'annonce pour la version 4 de SDI juste un répertoire est ce normal ? wink


Yves Jacolin, bénévole de l'association GeoRezo.net, agit au nom et pour le compte de l'association - Partageons ce qui nous départage !!  - GeoRezo vous aide ? Aidez GeoRezo !

Hors ligne

 

#4 Wed 24 March 2010 21:17

mathieu_r
Participant occasionnel
Date d'inscription: 17 Mar 2009
Messages: 21

Re: [SDI 4.0] Réccupérer automatiquement le schéma d'un shape?

Pardon, je crois que j'ai mal compris le problème 1

SDI peut récupérer de manière automatique le schéma des shapefiles.
Il faut aller dans generic schema > generate schema from GIS Files (...)
Une fois cela fait, le schéma est stocké dans le repository

Dans le composant tShapeFileInput, il faut spécifier un type d'accès au schéma repository et pointer celui qui vient d'être généré

La spécification du schéma est donc en quelque sorte semi-automatique.

Il n'est pas toujours évident de paramétrer soi-même le schéma du job à cause de subtilités liées à la spécification des types.

Je pensais que tu voulais savoir s'il était possible que SDI devine lui-même le schéma du fichier au sein du job sans que l'on ait à le générer manuellement, soit par l'opération "generate schema (...)". La question est souvent posée dans les forums pour d'autres composants d'entrée: excel, délimité,...La spécification des schémas peut être limitante pour le traitement massif de données de structures différentes mais elle semble être à l'essence de tous les logiciels ETLs. Il faut donc faire avec...

Hors ligne

 

#5 Wed 24 March 2010 23:18

ThomasG
Membre
Lieu: Nantes
Date d'inscription: 9 Sep 2005
Messages: 946
Site web

Re: [SDI 4.0] Réccupérer automatiquement le schéma d'un shape?

Bonsoir,

Pour SDI, je n'ai pas vu passer l'annonce également mais je suppose que c'est parce que c'est une Release Candidate 1 (RC1), à moins que ce soit le changement de nom du fichier zip augurant un changement de nom du logiciel ?

http://sourceforge.net/projects/sdispatialetl/files/ pour les curieux (comme moi wink )

Cordialement

ThomasG

Dernière modification par ThomasG (Wed 24 March 2010 23:25)

Hors ligne

 

#6 Thu 25 March 2010 09:20

geomatikfab
Participant actif
Lieu: Dijon
Date d'inscription: 25 Nov 2008
Messages: 100
Site web

Re: [SDI 4.0] Réccupérer automatiquement le schéma d'un shape?

Bonjour,

Tout d'abord, merci pour ces réponses...
Ensuite, je voudrais revenir sur "SDI4.0"; je parlais effectivement de TOS-All-r38438-V4.0.0RC1.spatial... comme je ne suis ni un habitué des logiciels libres, ni un informaticien, j'ai cru que c'était la version 4 de SDI... Si j'ai bien compris, quand on est en version RC, le produit est en phase de test final, non? Rassurez-moi big_smile

Pour en revenir à mes deux problèmes, je crois avoir compris pourquoi je galère tant...
1) dans "generic schema", je n'ai pas "Create generic schema from shapefile"...
2) dans le "compone" de "postgis" j'ai essayé les "geometry type" une fois en points, une fois en multipoints... :s
Donc, mon schéma de shape, j'ai essayé de le construire à la main, et j'ai prié pour que la géométrie se retrouve toute seule comme une grande... moralité... j'ai une table qui se créé mais vide dans postgis...
Entre temps j'ai quand même fini par trouver les tutos http://www.talendforge.org/wiki/doku.ph … istutorial et je confirme que je n'ai pas tous les éléments dans mon espace de travail...


J'espère que ces problèmes viennent de ma version de SDI ou TOS? Si j'ai bien compris je dois installer la version 3.2.2 pour etre tranquille ou je dois retourner sur ModelBuilder?? (ben faut dire que je le connais par cœur celui la à force... même si ca peut vous faire grincer des dents) mais l'idée c'était de me lancer un peu dans SDI!
Merci encore pour ces élements! j'installe la 3.2.2 et je viens confirmer son bon fonctionnement smile

Dernière modification par geomatikfab (Thu 25 March 2010 09:22)

Hors ligne

 

#7 Thu 25 March 2010 09:22

mathieu_r
Participant occasionnel
Date d'inscription: 17 Mar 2009
Messages: 21

Re: [SDI 4.0] Réccupérer automatiquement le schéma d'un shape?

Je me demande ce que nous réserve la dernière version smile

On peut intégrer sextante au sein de SDI et la connectivité avec GRASS était en cours d'expérimentation:
http://www.talendforge.org/wiki/doku.php?id=sdi:r_d

Hors ligne

 

#8 Thu 25 March 2010 10:07

mathieu_r
Participant occasionnel
Date d'inscription: 17 Mar 2009
Messages: 21

Re: [SDI 4.0] Réccupérer automatiquement le schéma d'un shape?

@ThomasG: As-tu résolu ton problème?

Hors ligne

 

#9 Thu 25 March 2010 11:01

ThomasG
Membre
Lieu: Nantes
Date d'inscription: 9 Sep 2005
Messages: 946
Site web

Re: [SDI 4.0] Réccupérer automatiquement le schéma d'un shape?

Bonjour,

@mathieu_r, je n'avais pas de problème. C'est plutôt à @geomatikfab qu'il faut poser la question wink

ThomasG

Hors ligne

 

#10 Thu 25 March 2010 14:20

geomatikfab
Participant actif
Lieu: Dijon
Date d'inscription: 25 Nov 2008
Messages: 100
Site web

Re: [SDI 4.0] Réccupérer automatiquement le schéma d'un shape?

Re-bonjour,

Effectivement mon problème est résolu, dans la version 4RC1, je n'avais pas accès à "Create generic schema from shapefile"...  Dans la 3.2.2 il n'y a pas de problème! smile merci pour le coup de main à tous!

Hors ligne

 

#11 Mon 03 May 2010 12:05

lucclementSTR
Participant occasionnel
Lieu: Albi
Date d'inscription: 12 Mar 2010
Messages: 33

Re: [SDI 4.0] Réccupérer automatiquement le schéma d'un shape?

Bonjour,

en utilisant SDI 3.2.2, je créé un shape à partir d'une table Oracle où la géométrie des lignes ets contenue dans un champ SDO_GEOMETRY appelé "geom".

Lors de l'import du schéma de la table, il lui attribue le type "geometry" de longueur 1.


De manière classique et utopique, j'utilise le composant "2dreplacer" en indiquant que la colonne "geom" contient les coordonnées X et Y. Cela ne fonctionne pas.

Quel est la bonne méthode pour récupérer dans SDI la géométrie de lignes contenue dans un champ de type SDO_GEOMETRY?

Merci à ceux qui auraient une idée!

Hors ligne

 

#12 Mon 03 May 2010 13:29

geomatikfab
Participant actif
Lieu: Dijon
Date d'inscription: 25 Nov 2008
Messages: 100
Site web

Re: [SDI 4.0] Réccupérer automatiquement le schéma d'un shape?

Bonjour,
je suis encore loin d'être un pro de SDI mais comme j'ai pas mal galéré avec je me dépatouille!
Je ne suis pas sur d'avoir saisi le problème, mais n'est il pas possible de modifier le schéma de la base initiale après l'avoir récupéré, pour lui dire que ce champ "geom" est effectivement la "GEOMETRY" et sans longueur si ma mémoire est bonne ?

Je dis ca parce que dans mon cas, pour l'import d'un shape dans une base PostGis, il ne voulait pas reconnaître la géométrie "POINT" du shape initial (il me créait des erreurs partout - ne me demandez pas pourquoi), j'ai du lui indiquer simplement  que le champ "geom" de mon shape était de type "geometry",
ce qui n'a pas été un problème puisque l'application ensuite (geoserver) a reconnu elle-même que c'était des points.

Hors ligne

 

#13 Mon 03 May 2010 15:27

lucclementSTR
Participant occasionnel
Lieu: Albi
Date d'inscription: 12 Mar 2010
Messages: 33

Re: [SDI 4.0] Réccupérer automatiquement le schéma d'un shape?

Re bonjour,
suite à de multiples recherches, je complète ma problématique postée ci-dessus:

est-ce que la version de Spatial Data Integrator 3.2.0 reconnait le type de champ "SDO_GEOMETRY" (champ géométrie de Oracle spatial) et surtout, peut-elle le remplacer par un type de champ Java équivalent? Faut-il ajouter un fichier jar à SDI pour gérer le type de champ "jgeometry"?

Sinon, est-ce que la solution est de spécifier le modèle du champ geom dans les paramètres du composant "tOracleInput"(SDO_GEOMETRY;SDO_ELEM_INFO;SDO_ORDINATE_ARRAY)? J'avoue que pour l'instant je ne voie pas comment m'en sortir de cette manière.

Dans mon cas, le champ geom se présente ainsi:
(2002; 41013; ; (1; 2; 1; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ); (607887.89; 142886.68; 607897.3; 142887.34; 607902.86; 142888.68; 607905.67; 142889.36; 607911.14; 142891.72; 607917.97; 142894.66; 607924.75; 142898.54; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ))


Merci à tous.

Merci malgré tout, geomatikfab, de t'être penché si vite sur le problème

Hors ligne

 

#14 Mon 03 May 2010 16:36

mathieu_r
Participant occasionnel
Date d'inscription: 17 Mar 2009
Messages: 21

Re: [SDI 4.0] Réccupérer automatiquement le schéma d'un shape?

je ne pense pas que SDI puisse récupérer les données d'oracle spatial

Il faudrait que tu transformes ta définition de géométrie suivante:
(2002; 41013; ; (1; 2; 1; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ); (607887.89; 142886.68; 607897.3; 142887.34; 607902.86; 142888.68; 607905.67; 142889.36; 607911.14; 142891.72; 607917.97; 142894.66; 607924.75; 142898.54; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ))
en well known text

Des exemples de WKT sont les suivants:
POINT(6 10)
MULTIPOLYGON(((1 1,5 1,5 5,1 5,1 1),(2 2,2 3,3 3,3 2,2 2)),((6 3,9 2,9 4,6 3)))

Pour passer de ta définition à du wkt, je pense qu'il faudra passer par du traitement de chaîne de caractères...

Une fois que tu as ton wkt, tu génères ta géométrie de cette façon:
new Geometry([ta définition wkt])

(je ne fais que  m'inspirer de ce qui est déjà écrit dans le tutoriel Talend SDI à cette adresse:
http://www.talendforge.org/wiki/doku.ph … rompoints)

==
Une autre solution plus simple consisterait selon moi à utiliser OGR pour accéder à ta base oracle et créer un shapefile, par exemple

Dernière modification par mathieu_r (Mon 03 May 2010 16:36)

Hors ligne

 

#15 Mon 18 October 2010 16:59

sofiane_bfm007
Juste Inscrit !
Date d'inscription: 14 Oct 2010
Messages: 5

Re: [SDI 4.0] Réccupérer automatiquement le schéma d'un shape?

bonjour,

Une autre solution plus simple consisterait selon moi à utiliser OGR pour accéder à ta base oracle et créer un shapefile, par exemple


Peux-tu me donner plus de précision sur l'utilisation des ORG pour accéder a Oracle Spatial !!!
Merci

Dernière modification par sofiane_bfm007 (Mon 18 October 2010 17:13)

Hors ligne

 

#16 Tue 19 October 2010 09:07

Yves
Membre du bureau
Lieu: Aix-les-Bains
Date d'inscription: 22 Mar 2006
Messages: 9864
Site web

Re: [SDI 4.0] Réccupérer automatiquement le schéma d'un shape?

Bonjour,

Pas ORG mais GDAL-OGR : http://georezo.net/wiki/main/logiciels/ … se/ogr_oci

Y.


Yves Jacolin, bénévole de l'association GeoRezo.net, agit au nom et pour le compte de l'association - Partageons ce qui nous départage !!  - GeoRezo vous aide ? Aidez GeoRezo !

Hors ligne

 

#17 Tue 19 October 2010 10:08

sofiane_bfm007
Juste Inscrit !
Date d'inscription: 14 Oct 2010
Messages: 5

Re: [SDI 4.0] Réccupérer automatiquement le schéma d'un shape?

Merci de ta réponse.
Comment implémenter ce pilote, doit-on gérer une couche intermédiaire entre Talend et Oracle Spatial !!!

Hors ligne

 

#18 Tue 19 October 2010 11:46

Yves
Membre du bureau
Lieu: Aix-les-Bains
Date d'inscription: 22 Mar 2006
Messages: 9864
Site web

Re: [SDI 4.0] Réccupérer automatiquement le schéma d'un shape?

Bonjour,

Oui c'était l'idée proposée je pense. Oracle -> shp via ogr2ogr puis shp -> XXX via Talend.

Y.


Yves Jacolin, bénévole de l'association GeoRezo.net, agit au nom et pour le compte de l'association - Partageons ce qui nous départage !!  - GeoRezo vous aide ? Aidez GeoRezo !

Hors ligne

 

#19 Wed 20 October 2010 11:56

sofiane_bfm007
Juste Inscrit !
Date d'inscription: 14 Oct 2010
Messages: 5

Re: [SDI 4.0] Réccupérer automatiquement le schéma d'un shape?

Bonjour,
Je peux avoir plus de détail sur l'implémentation.
Je suis avec Talend et Oracle Spatial comme base,
Donc avec le pilote GDAL-OGR je peux accéder à Oracle Spatial (la question est la), faire des transformations dans Talend et insérer les données dans une base Sql Server (la géométrie en binaire) well-known binary (ça je le transforme via une méthode java de la class Geometry, je le sais).
Merci

Hors ligne

 

Pied de page des forums

Powered by FluxBB