Les Dataset dans Erddap
Decription XML des jeux de données dand Erddap
Configurer des jeux de données dans Erddap, revient à insérer une description des données en XML dans un fichier unique appelé datasets.xml
~tomcat/content/erddap/datasets.xml
- XML c'est pas humain !... Ce code XML de description des données, va être produit par un programme fournit par Erddap, appelé GenerateDatasetsXml.sh qu'on verra plus loin.
Charger des jeux de données
Charger un jeu de données dans Erddap consiste en :
- déposer les fichiers de données sources dans un des nombreux formats adapté et reconnu par Erddap (CSV, NetCDF, ODV, etc), dans un répertoire
- établir la structure XML de ces fichiers de données : en lançant un programme GenerateDatasetsXml.sh qui va analyser les données et produire le code XML de description
- Insérer ce code XML dans le fichier ~tomcat/content/erddap/datasets.xml
- déposer un flag de mise à jour dans le répertoire ~tomcat/content/erddap/flag/
Erddap fournit un programme en ligne de commande « GenerateDatasetsXml.sh » dans le répertoire /opt/tomcat/webapps/erddap/WEB-INF qui va :
- analyser les jeux de données qu'on lui fournit , selon une catégorie de formats prédéfinis, et
- générer le code XML qui décrit un grand nombre de formats de jeux de données.
Le code XML produit par la commande GenerateDatasetsXml.sh devra être inséré dans le fichier
~/tomcat/content/erddap/datasets.xml
-
GenerateDatasetsXml pose une série de questions pour essayer de reconnaitre comment est organisé le jeu de données.
-
GenerateDatasetsXml analyse la source de données correspondant à une catégorie de format de fichiers, et va essayer de reconnaitre et extraire les données et metadonnées qu'il trouve dans les fichiers (noms de variables, metadata, et les données brutes elles mêmes. etc) . Le programme fournit le code XML qui décrit les fichiers de données.
Apres insertion du code XML dans le fichier datasets.xml, et activation de la mise à jour, le jeu de données devrait apparaitre dans le catalogue Erddap.
Si le jeu de donnée n'est pas chargé par erddap et n'apparait pas dans l'interface web, c'est qu'il ya eu un probleme lors de l'analyse des fichiers, il faudra alors :
- regarder les traces dans les logs et comprendre le problème
- modifier quelque chose : soit le format des fichiers qui ne répond pas au standard demandé (ci dessous), soit les réponses
- relancer la commande GenerateDatasetsXml
- modifier les réponses
- ou bien retoucher le code XML à la main avec un éditeur
Les types de jeux de données gérés par ERDDAP
Brièvement Erddap gère 2 grandes catégories de données qui représentent la majeure partie de ce qu’on peut trouver en situation réelle :
-
format EDDGrid : données "maillées" 2D sous forme de grille spatiale (ex. données satellite, format netcdf) :
- les données sont des tableaux multi dimensionnés.
- Il DOIT y avoir une variable qui sert d’axe pour chaque dimension (temps, latitude, longitude, altitude, profondeur) dans les EDDGrid datasets, toutes les variables doivent utiliser toutes les variables des axes
- chaque dimension DOIT être ordonnée (sorted) (recommendations du standard CF: http://cfconventions.org/Data/cf-conventions/cf-conventions-1.9/cf-conventions.html
-
Format EDDTable : données sous forme de tables en colonnes (capteur in situ, série temporelle, profil vertical, trajectoire...)
- chaque colonne est une variable
- chaque ligne est une mesure/observation de cette variable
- les données évoluent selon une dimension, spatiale ou temporelle
Le détail des types de jeux de données gérés par Erddap sont décrits ici :
-
https://coastwatch.pfeg.noaa.gov/erddap/download/setupDatasetsXml.html#datasetTypes
-
Ces types de jeux de données sont utilisés par la commande GenerateDatasetsXml.sh que nous allons voir plus loin, pour générer le code XML qui va décrire les données
Lors qu'on lance la commande GenerateDatasetsXml.sh la premiere question consiste à indiquer quel type de jeu de données on veut utiliser pour gérer nos données.
On a le choix de différents types de données dans la liste suivante. Pour utiliser Erddap il faut donc lire la doc pour connaitre quel type de données il faut utiliser pour tel ou tel format de fichiers
The EDDType options are:
EDDGridAggregateExistingDimension EDDTableFromEMLBatch
EDDGridFromAudioFiles EDDTableFromErddap
EDDGridFromDap EDDTableFromFileNames
EDDGridFromEDDTable EDDTableFromHttpGet
EDDGridFromErddap EDDTableFromInPort
EDDGridFromMergeIRFiles EDDTableFromIoosSOS
EDDGridFromNcFiles EDDTableFromJsonlCSVFiles
EDDGridFromNcFilesUnpacked EDDTableFromMultidimNcFiles
EDDGridFromThreddsCatalog EDDTableFromNcFiles
EDDGridLonPM180FromErddapCatalog EDDTableFromNcCFFiles
EDDTableFromAsciiFiles EDDTableFromNccsvFiles
EDDTableFromAudioFiles EDDTableFromOBIS
EDDTableFromAwsXmlFiles EDDTableFromSOS
EDDTableFromBCODMO EDDTableFromThreddsFiles
EDDTableFromCassandra EDDTableFromWFSFiles
EDDTableFromColumnarAsciiFiles EDDsFromFiles
EDDTableFromDapSequence addFillValueAttributes
EDDTableFromDatabase findDuplicateTime
EDDTableFromEDDGrid ncdump
EDDTableFromEML
Which EDDType (default="EDDGridFromDap")
?
Nous allons maintenant manipuler et intégrer plusieurs jeux de données dans erddap avec 2 de ces types de données.