Actualités

[22/03/2017] Smile participe au salon Cloud Computing World Expo

Smile interviendra ce mercredi 22 mars au salon Cloud Computing World Expo pour présenter notre projet collaboratif OCCIware (plateforme standard outillée de connecteurs Cloud).

[22/03/2017] Smile vainqueur des IoT Awards 2017 !

Lors de l'IoT World à Paris, Smile a remporté l'IoT Award dans la catégorie "High-tech" pour son projet de cabine connectée avec Coved.

[17/03/2017] Smile dans le Journal de l'Emploi sur Demain TV

Géraldine Moreau-Luchaire, notre Responsable Recrutement, nous parle des 350 postes à pourvoir en 2017 !

Toutes les actualités picto
       

Vous avez besoin de mettre à jour votre Lecteur Flash Flash 7

Guillemet ouvrant l'actualité des solutions
et des technologies open source Guillemet fermant
picto

Analyser des données géographiques avec ElasticSearch Kibana et Talend

Le moteur de recherche Elasticsearch permet de stocker des informations de localisation aisément. En effet, chaque document est stocké au format JSON et Elasticsearch supporte le format GeoJSON.

Cas d'usage

Nous utilisons ici la liste des gares Transilien (données OpenData publiées sur http://ressources.data.sncf.com ) au format CSV.

Les données sont intégrées via le composant Talend tDelimitedInput.

Les données géographiques sont contenues dans une chaîne de caractère au format suivant :

'latitude,longitude'

L'objectif est de transformer cette chaîne de caractères au format GeoJSON, c'est-à-dire un tableau de flottants :

[longitude,latitude]

Un simple tMap permet de répartir la chaîne de caractère dans deux champs et de les convertir en flottants. On utilise ensuite un tJavaRow pour instancier un tableau comme suit :

float[] point;

point =newfloat[2]; // initialisation du tableau

point[0] = input_row.lon; // remplissage du tableau avec nos données

point[1] = input_row.lat;

Cette variable 'point' est ensuite envoyée dans un champ de type Objet du schéma cible. On envoie ensuite le flux de données vers le composant tElasticsearchIndex. Il faut penser à définir un champ id en clé du schéma pour que les données soient bien indéxées.

Talend

On crée ensuite sous Kibana une bettermap qui se base sur le champ 'point' contenu dans les documents qui viennent d'être indéxés et on obtient le résultat suivant :

Kibana

Pierre-Antoine Marc
picto

Commentaires

Soyez la premiere personne à ajouter un commentaire sur cet article.
Ecrire un nouveau commentaire