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 :

  1. 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
  2. é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
  3. Insérer ce code XML dans le fichier ~tomcat/content/erddap/datasets.xml
  4. 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 :

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.