Pages: 1
- Sujet précédent - [Talend Open Studio SDI]:générer des lignes à partir de points - Sujet suivant
#1 Tue 11 June 2013 10:42
- Anaïs Just
- Participant actif
- Lieu: Montreuil
- Date d'inscription: 10 Dec 2007
- Messages: 131
[Talend Open Studio SDI]:générer des lignes à partir de points
Bonjour,
J'ai réalisé un job sous talend qui me permet de lire en boucle des fichiers textes de traces GPS d'un logiciel propriétaire dans un dossier (tfilelist), de les transformer (tmap) afin d'avoir les données de coordonnées dans un bon format, de les grouper dans un seul fichier (thashoutput->thashinput->tunite), de les convertir en fichier de point (s2DPointreplacer) et de les intégrer dans un shapefile.
Cependant j'aimerais pouvoir placer un composant entre le (s2DPointreplacer) et le shapefile qui me permette d'obtenir des lignes à partir des points (prendrait en compte un identifiant de ligne et l'ordre des points)...
Une idée? ce composant existe-t-il ou dois-je sortir de mon job talend et faire ça sous qgis ou postgis?
ça m'arrangerait d'avoir tout en un afin de compiler ensuite le job pour en faire un exe qui se lance tout seul en dehors de talend.
En pièce jointe la capture d'écran du job.
Merci d'avance!
Hors ligne
#2 Tue 11 June 2013 11:28
- mcoudert
- Participant actif
- Lieu: Toulouse
- Date d'inscription: 16 Oct 2006
- Messages: 83
Re: [Talend Open Studio SDI]:générer des lignes à partir de points
Bonjour,
Tout d'abord je ne pense pas qu'il existe de composants sur étagère correspondant exactement à votre besoin...
Cependant cela reste réalisable via Talend par des manières détournées, si ma compréhension du besoin est correcte.
Il faudrait agréger les lignes (rows talend) à l'aide de l'identifiant de linestring (liste de corrdonnées X / Y ordonnées) puis ensuite créer de manière programmatique des linestrings en créant des nouvelles "Géométries" un peu à la manière de ce tutoriel :
http://www.talendforge.org/wiki/doku.ph … frompoints
Vous pouvez par exemple utiliser un tJavaRow pour créer les nouvelles géométries à partir de la liste de coordonnées X,Y ordonnées...
Mathieu
Hors ligne
#3 Tue 11 June 2013 11:37
- Anaïs Just
- Participant actif
- Lieu: Montreuil
- Date d'inscription: 10 Dec 2007
- Messages: 131
Re: [Talend Open Studio SDI]:générer des lignes à partir de points
Merci beaucoup! en effet ça pourrait correspondre à mes besoins...
Je vais jeter un coup d'oeil à cette solution.
Je mettrais la solution en ligne.
Bonne journée!
Hors ligne
#4 Tue 11 June 2013 16:06
- Anaïs Just
- Participant actif
- Lieu: Montreuil
- Date d'inscription: 10 Dec 2007
- Messages: 131
Re: [Talend Open Studio SDI]:générer des lignes à partir de points
Merci,
grâce à tes conseils j'ai pu créer mon shapefile en utilisant donc un méthode un peut "sioux" mais ça fonctionne parfaitement.
A partir d'un tableau comme ça:
Code:
[statistics] connecting to socket on port 3457 [statistics] connected .---+-----------------------------+---------+-----------+--------+--------+--------. | tLogRow_3 | |=--+-----------------------------+---------+-----------+--------+--------+-------=| |id |identifiant_trait |latitude |longitude |altitude|date |heure | |=--+-----------------------------+---------+-----------+--------+--------+-------=| |1 |1102043Donnees brutesZ1f.Pts |45.33502 |-0.7449167 |0,00 |11/02/04|18:40:03| |2 |1102043Donnees brutesZ1f.Pts |45.33385 |-0.74446666|0,00 |11/02/04|18:40:47| |3 |1102043Donnees brutesZ1f.Pts |45.33265 |-0.74401665|0,00 |11/02/04|18:41:31| |4 |1102043Donnees brutesZ1f.Pts |45.331467|-0.74355 |0,00 |11/02/04|18:42:15| |5 |1102043Donnees brutesZ1f.Pts |45.330265|-0.74305 |0,00 |11/02/04|18:42:58| |6 |1102043Donnees brutesZ1f.Pts |45.3291 |-0.74251664|0,00 |11/02/04|18:43:43| |7 |1102043Donnees brutesZ1f.Pts |45.327965|-0.74188334|0,00 |11/02/04|18:44:27| |8 |1102043Donnees brutesZ1f.Pts |45.3269 |-0.74115 |0,00 |11/02/04|18:45:11| |9 |1102043Donnees brutesZ1f.Pts |45.3259 |-0.74050003|0,00 |11/02/04|18:45:54| |10 |1102043Donnees brutesZ1f.Pts |45.3249 |-0.7399833 |0,00 |11/02/04|18:46:38| |11 |1102043Donnees brutesZ1f.Pts |45.323868|-0.7394833 |0,00 |11/02/04|18:47:22| |12 |1102043Donnees brutesZ1f.Pts |45.322834|-0.739 |0,00 |11/02/04|18:48:06| |13 |1102043Donnees brutesZ1f.Pts |45.321766|-0.73855 |0,00 |11/02/04|18:48:50| |14 |1102043Donnees brutesZ1f.Pts |45.320717|-0.7381 |0,00 |11/02/04|18:49:33| |15 |1102043Donnees brutesZ1f.Pts |45.31965 |-0.73765 |0,00 |11/02/04|18:50:17| |16 |1102043Donnees brutesZ1f.Pts |45.318565|-0.73723334|0,00 |11/02/04|18:51:01| |17 |1102043Donnees brutesZ1f.Pts |45.31745 |-0.73683333|0,00 |11/02/04|18:51:44| |18 |1102043Donnees brutesZ1f.Pts |45.316334|-0.73645 |0,00 |11/02/04|18:52:28| |19 |1102043Donnees brutesZ1f.Pts |45.315235|-0.73604995|0,00 |11/02/04|18:53:13| |20 |1102043Donnees brutesZ1f.Pts |45.314117|-0.7356167 |0,00 |11/02/04|18:53:57| |21 |1102043Donnees brutesZ1f.Pts |45.313 |-0.73518336|0,00 |11/02/04|18:54:41| |22 |1102043Donnees brutesZ1f.Pts |45.311882|-0.73471665|0,00 |11/02/04|18:55:24| |23 |1102043Donnees brutesZ1f.Pts |45.31077 |-0.73425 |0,00 |11/02/04|18:56:08| |24 |1102043Donnees brutesZ1f.Pts |45.31027 |-0.73401666|0,00 |11/02/04|18:56:30| |25 |1202041Donnees brutesZ0.Pts |45.234333|-0.70183337|0,00 |12/02/04|09:07:15| |26 |1202041Donnees brutesZ0.Pts |45.233334|-0.7018167 |0,00 |12/02/04|09:07:59| |27 |1202041Donnees brutesZ0.Pts |45.232334|-0.70166665|0,00 |12/02/04|09:08:43| |28 |1202041Donnees brutesZ0.Pts |45.2315 |-0.7015 |0,00 |12/02/04|09:09:26| |29 |1202041Donnees brutesZ0.Pts |45.2307 |-0.70136666|0,00 |12/02/04|09:10:11| |30 |1202041Donnees brutesZ0.Pts |45.229866|-0.7011833 |0,00 |12/02/04|09:10:55| |31 |1202041Donnees brutesZ0.Pts |45.229 |-0.70100003|0,00 |12/02/04|09:11:39| |32 |1202041Donnees brutesZ0.Pts |45.22817 |-0.70066667|0,00 |12/02/04|09:12:23| |33 |1202041Donnees brutesZ0.Pts |45.227333|-0.70049995|0,00 |12/02/04|09:13:06| |34 |1202041Donnees brutesZ0.Pts |45.226532|-0.70014995|0,00 |12/02/04|09:13:51| |35 |1202041Donnees brutesZ0.Pts |45.225666|-0.69983333|0,00 |12/02/04|09:14:35| |36 |1202041Donnees brutesZ0.Pts |45.224834|-0.6995 |0,00 |12/02/04|09:15:18| |37 |1202041Donnees brutesZ0.Pts |45.22395 |-0.6993167 |0,00 |12/02/04|09:16:03| |38 |1202041Donnees brutesZ0.Pts |45.22305 |-0.6990833 |0,00 |12/02/04|09:16:47| |39 |1202041Donnees brutesZ0.Pts |45.222168|-0.69883335|0,00 |12/02/04|09:17:3
1) Dans un premier tmap je créé des couples de points par simple concaténation de texte
row4.latitude +" "+row4.longitude ->row11.point
cela donne
Code:
[statistics] connecting to socket on port 3722 [statistics] connected .---+-----------------------------+---------------------+--------+--------. | tLogRow_4 | |=--+-----------------------------+---------------------+--------+-------=| |id |identifiant_trait |point |date |heure | |=--+-----------------------------+---------------------+--------+-------=| |1 |1102043Donnees brutesZ1f.Pts |45.33502 -0.7449167 |11/02/04|18:40:03| |2 |1102043Donnees brutesZ1f.Pts |45.33385 -0.74446666 |11/02/04|18:40:47| |3 |1102043Donnees brutesZ1f.Pts |45.33265 -0.74401665 |11/02/04|18:41:31| |4 |1102043Donnees brutesZ1f.Pts |45.331467 -0.74355 |11/02/04|18:42:15| |5 |1102043Donnees brutesZ1f.Pts |45.330265 -0.74305 |11/02/04|18:42:58| |6 |1102043Donnees brutesZ1f.Pts |45.3291 -0.74251664 |11/02/04|18:43:43| |7 |1102043Donnees brutesZ1f.Pts |45.327965 -0.74188334|11/02/04|18:44:27|
2) dans un taggregate row j'aggrège en fonction de l'identifiant_trait ces couples de points (opération liste avec comme séparateur la virgule)
3) Dans un second tmap j'utilise ce champ d'aggrégation dans une variable comme indiqué dans ton exemple
"LINESTRING("+row11.point +")"
Je passe cette variable comme paramètre d'une fonction new Geometry d'une colonne de type geometry
4) en sortie j'utilise un shapefile! et voilà!
Dernière modification par Anaïs Just (Tue 11 June 2013 16:10)
Hors ligne
Pages: 1
- Sujet précédent - [Talend Open Studio SDI]:générer des lignes à partir de points - Sujet suivant