Analyse de données avec MySQL

Nous allons utiliser les informations SYNOP en libre accès de Météo France, puis nous allons étudier un peu ces données.

Des stations météorologiques diffusent toutes les 3h des mesures d’observation via des téléscripteurs (radiotélétype), l’avantage de cette transmission est d’être très résistante aux interférences par contre la transmission est lente. Ces données synoptiques sont centralisées par Météo France et les mets à disposition en libre accès (OpenData).

La transmission se fait via le code Baudot, du nom du mathématicien Emile Baudot, le Baud provient également du nom de ce mathématicien.

Ces informations seront récupérées au format .csv et seront intégrées à une base de données MySQL. Si vous ne connaissez pas MySQL, je vous invite à visiter mon mémo sur le sujet (ici)

I°) Récupération des données

Nous allons sur le site de Météo France (ici pour être très exacte) pour récupérer les données en question, nous allons prendre le descriptif des paramètres de données SYNOP ainsi que la liste des stations essentielles et les données du mois de février 2018.

II°) Création de la base de données

Nous créons une base de données nommée meteo.

On crée deux tables, une nommée station et l’autre nommée synop.

Remarque : Pour créer la table synop qui contient beaucoup de colonne, je suis passé par un générateur de schéma SQL (celui-ci pour être précis) et j’ai modifié les types générer qui ne correspondait pas au type du tableau descriptif des paramètres des données SYNOP.

Maintenant que les tables sont créées on peut importer le contenu des fichiers .csv dans chaque table, on importera les informations essentielles des stations dans la table station et les données synop dans la table synop.

Maintenant que les données ont été importées dans la base de données nous allons pouvoir les analyser.

III°) Etude des données

Tout d’abord nous allons compter le nombre d’enregistrement dans chaque table. Pour compter nous utilisons la fonction COUNT().

Nous recherchons l’altitude moyenne des stations météorologiques à l’est de Paris. Sachant que Paris a pour longitude 2.3522.

Et si on veut savoir le nom des stations à l’est de Paris dans l’ordre inverse de l’ordre alphabétique avec leur altitude parce que je veux vérifier le résultat précédent ?

Ok, maintenant on cherche à savoir la température (en °C) la plus grande et la plus faible (les valeurs seront arrondies) durant le mois de février.

Remarques :

Les températures sont normalement en Kelvin, pour transformer en °C on soustrait le zéro absolue (-273.15).

On utilise des alias (AS) pour avoir un résultat plus jolie.

On ne prend pas en compte les moments où la température veut zéro car elle ne vaut jamais vraiment 0°K (il ne fais jamais -273.15°C, en tout cas pas sur terre). Le zéro signifie pas de valeur.

Recherchons l’humidité moyenne à Poitiers. Pour ça nous allons devoir utiliser nos deux tables.

Remarque : Comme on ne connait ni le nom exact de la station de Poitiers ni son identifiant nous avons appliqués un filtre qui sélectionne toutes les stations ayant dans leur nom le mot « Poitier » (station.nom LIKE ‘%POITIER%’)

Pour finir nous allons afficher, pour les dix premières stations (dans l’ordre alphabétique) la température moyenne, minimal et maximal pour le premier et le dernier jour de février.

Voici à quoi ressemble l’analyse de données via MySQL.

sources : stackoverflow.com ; meteofrance.fr ; sql.sh ; w3school.com ; tp de mon formateur (Manu) ; wikipedia.org

Laisser un commentaire

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.