Actualités

[21/06/2017] Smile dans le top 10 des entreprises où il fait bon travailler !

Smile entre dans le classement très fermé des entreprises où il fait bon débuter sa carrière. Un palmarès publié dans Les échos et réalisé par Meilleures-entreprises.com.

[20/06/2017] Smile classé 1er hébergeur en haute disponibilité depuis 3 mois

Depuis début mars, soit 3 mois consécutifs, Smile est à la tête du Classement des Hébergeurs en haute disponibilité, réalisé par ip-label et le Groupe NextRadio TV (01net, BFM, RMC).

[20/06/2017] Smile remporte l'Extending eZ Award !

Lors de l'eZ Conference 2017 qui s'est tenue du 6 au 8 juin, Smile a remporté l'Extending eZ Award.

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