Actualités

[21/07/2017] Smile lance les premiers vélos solaires connectés à l’occasion du Sun Trip Tour 2017

Smile, leader des solutions IoT et open source, confirme sa solide expertise sur le marché de l’embarqué en participant activement à la course de vélos solaires du Sun Trip Tour.

[03/07/2017] Smile remporte le Drupagora d'Or 2017 du meilleur site e-commerce

Le vendredi 30 juin, la 3ème édition des Drupagora d'Or s'est déroulée à Paris.

[30/06/2017] Découvrez les projets de nos équipes au Hackathon Data Énergie

Les 29 et 30 juin, le Hackathon Data Énergie s'est déroulé au Liberté Living Lab à Paris.

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