Vous avez
une question ?
Un projet ?

Contactez nous !
 

Contactez-nous

Vous avez une question ? un projet ? 
Vous souhaitez plus d'informations sur un produit ? sur notre offre ? 
Contactez-nous, on vous répond sous 4H.

eZHumanCAPTCHACode reload

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

Big data

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
Experts de  Smile
Auteur de l’article

Experts de Smile

Avis des internautes

comments powered by Disqus