|
ERDDAP
Accès plus facile aux données scientifiques |
Présenté par NOAA NMFS SWFSC ERD |
vidéo .
(5 minutes)
,
XML
,
SOAP+XML
,
OPeNDAP
,
WCS
,
WFS
,
SOS
, ou un formulaire HTML) .
vidéo
. (5 minutes)
(dans 5 minutes!).
Cette vidéo montre :
Protocole d'accès aux données (DAP )
est l'une des
recommandations techniques d'accès aux données de la NOAA
et une
norme NASA Earth Science Data and Information System (ESDIS)
.
(OPeNDAP est génial !) ERDDAP traduit votre demande du OPeNDAP, WMS ou SOS au format de demande de la source de données et convertit la réponse en l'une des structures de données internes d' ERDDAP .
Ensuite, ERDDAP reformate les données dans le format de fichier commun de votre choix (par exemple, sous forme de tableau .html, ESRI .asc, Google Earth .kml, .mat, .nc, ODV .txt, .csv, .tsv, .json, .xhtml, .png, .pdf) et vous envoie le fichier.
Consultez la liste des types de
fichiers griddap et la liste des types de
fichiers tabledap .
D'autres protocoles de demande de données (par exemple,
WCS
) peut être ajouté à l'avenir.
ERDDAP est structuré pour ces ajouts et il ne semble pas y avoir d'obstacles.
,
XML
,
SOAP+XML
,
OPeNDAP
,
WCS
,
WFS
,
SOS
, ou un formulaire HTML), au lieu du format d'origine ou du format de transfert OPeNDAP (qui n'a pas de manifestation de fichier standard).
Ces fichiers sont créés à la volée.
Comme il existe peu de structures de données internes, il est facile d'ajouter des pilotes de type fichier supplémentaires.
Consultez la liste complète des types de
fichiers de grille et
des types de fichiers de table .
ou epoch secondes, qui estUDUNITS
-compatible) et, lorsqu'il est formaté en tant que chaîne, est formaté selon le
format"extended"ISO 8601:2004
standard (yyyy-MM-ddTHH:mm:ssZ, par exemple, "1985-01-02T00:00:00Z"). (Vous pouvez convertir des heures numériques vers/depuis des heures de chaîne ISO avec le convertisseur d'
heure d' ERDDAP .) De plus, pour éviter la confusion entre le fuseau horaire et l'heure d'été, les valeurs d'heure sont toujours converties en fuseau horaire Zulu (UTC, GMT).
ERDDAP a un utilitaire pour
convertir une heure numérique en/à partir d'une chaîne de temps .
Pour plus de détails, voir
Comment ERDDAP le temps .
Étant donné que les variables de longitude, latitude, altitude et heure sont spécifiquement reconnues, ERDDAP est conscient des caractéristiques géo/temporelles de chaque ensemble de données. Ceci est utile lors de la création d'images avec des cartes ou des séries chronologiques, et lors de l'enregistrement de données dans des types de fichiers géo-référencés (par exemple, .esriAscii, .geoJson et .kml ).
Deux normes communes pour l'écriture des unités de mesure sont :
, qui est utilisé dans
COARDS
,
FC
, et
NetCDF
fichiers de données.
Par exemple, UDUNITS propose de nombreuses options pour les degrés Celsius, notamment degree_C et degC .
- le Code unifié des unités de mesure.
OGC
services tels que
SOS
,
WCS
, et
WMS
se réfèrent souvent à UCUM comme UOM (unités de mesure).
Par exemple, UCUM n'a qu'une seule option sensible à la casse pour les degrés Celsius :
"Cel" .
(par exemple,
les métadonnées CF
) décrivant les données.
ERDDAP permet (et encourage) l'administrateur de décrire les métadonnées qui seront ajoutées aux ensembles de données et à leurs variables à la volée.
Voir la
section addAttributes des
instructions pour les administrateurs .
dans l'en-tête de requête HTTP GET envoyé par le client.
Si un type de compression pris en charge (gzip, x-gzip ou deflate ) est trouvé dans la liste d'acceptation d'encodage, ERDDAP inclut content-encoding dans l'en-tête de réponse HTTP et compresse les données lors de leur transmission.
C'est au programme client de rechercher content-encoding et de décompresser les données.
Les réponses compressées sont souvent 3 à 10 fois plus rapides, bien qu'il n'y ait aucun avantage à demander des fichiers .png compressés puisque le contenu des fichiers est déjà compressé.
Les navigateurs et les clients OPeNDAP le font par défaut.
Ils demandent des données compressées et décompressent automatiquement les données renvoyées.
D'autres clients (par exemple, les programmes Java ) doivent le faire explicitement.
Avec curl, ajoutez --compressed à la ligne de commande pour indiquer à curl de demander une réponse compressée et de la décompresser automatiquement.
programmes).
services d'abonnement, afin que vous puissiez être averti chaque fois qu'un jeu de données change.
Abonnements
par e-mail/URL (non disponibles sur certaines installations ERDDAP ) Chaque fois qu'un ensemble de données change, le système d'abonnement par e-mail/URL vous enverra immédiatement un e-mail ou contactera une URL que vous spécifiez.
Les abonnements par e-mail/URL ne sont pas disponibles dans certaines installations ERDDAP .
Pour configurer un abonnement par e-mail/URL, cliquez sur l'une des icônes d'enveloppe
qui apparaissent à l'extrême droite sur les pages Web ERDDAP avec des listes d'ensembles de données (exemple) et sur les pages Web Data Access Forms et Make A Graph pour les ensembles de données individuels (exemple) si cette installation ERDDAP prend en charge les abonnements par e-mail/URL.
(Programmeurs informatiques :
si vous écrivez des services Web, vous pouvez utiliser le système d'URL pour que ERDDAP informe immédiatement votre service Web chaque fois qu'un ensemble de données change.)
RSS
Abonnements RSS est un système standard pour informer les utilisateurs lorsque le contenu d'un site Web a changé.
Les navigateurs Web modernes ont un client RSS intégré ou vous pouvez utiliser un
lecteur RSS séparé
.
ERDDAP propose un RSS 2.01 séparé pour chaque ensemble de données afin que vous puissiez savoir quand des ensembles de données intéressants ont changé.
Pour vous abonner au RSS d'un jeu de données, cliquez sur l'une des icônes RSS
qui apparaissent à l'extrême droite sur les pages Web ERDDAP avec des listes d'ensembles de données (exemple) ou sur les pages Web Data Access Forms et Make A Graph pour des ensembles de données individuels (exemple).
Comparaison Le service RSS peut être exactement ce que vous recherchez.
C'est une belle norme.
Mais si vous avez besoin de savoir dès que possible quand un jeu de données change, utilisez le système email/URL, pas RSS .
Les clients RSS demandent et lisent périodiquement (toutes les heures ?) le document RSS XML pour rechercher les modifications.
Ainsi, généralement, un client RSS ne détectera pas rapidement une modification apportée à un ensemble de données (30 minutes en moyenne ?).
En revanche, le système d'abonnement par e-mail/URL agit immédiatement chaque fois que l' ERDDAP détecte une modification d'un ensemble de données.
L'approche plus proactive du système e-mail/URL est également beaucoup plus efficace :
vous pouvez peut-être configurer votre client RSS pour qu'il vérifie les changements toutes les minutes (ne le faites pas !), mais cela entraînerait simplement de nombreuses demandes inutiles.
au serveur ERDDAP et il ne détecterait toujours pas les changements immédiatement.
(pages Web avec des formulaires pour les humains utilisant des navigateurs)
(avec
prestations de programmes informatiques).
- et
ROA
-liens de style pour rendre ses services disponibles pour les programmes informatiques.
) et de l'envoyer au client.
Pour de nombreuses sources de données, cela signifie que le premier bloc de données (par exemple, du premier capteur) parvient au client en quelques secondes au lieu de quelques minutes (par exemple, après que les données du dernier capteur ont été récupérées), rassurant le client que les données arrivent.
Du point de vue de la mémoire, cela permet de traiter simultanément de nombreuses requêtes volumineuses (chacune plus grande que la mémoire disponible).
:
Mais ERDDAP a également la capacité d'obtenir activement toutes les données disponibles à partir d'une source de données distante et
de stocker une copie locale des données .
Technologie de Push
:
En utilisant les
services d'abonnement de l' ERDDAP, d'autres serveurs de données peuvent être avertis dès que de nouvelles données sont disponibles afin qu'ils puissent demander les données (en extrayant les données).
ERDDAP
EDDGrid et EDDTableFromErddap d'
ERDDAP utilisent les services d'abonnement et
le système de signalement d' ERDDAP afin d'être informés immédiatement lorsque de nouvelles données sont disponibles.
Vous pouvez les combiner avec grand effet :
si vous enroulez une copie EDDGrid autour d'un ensemble de données EDDGrid FromErddap (ou enroulez une EDDTableCopy autour d'un ensemble de données EDDTableFromErddap), ERDDAP créera et maintiendra automatiquement une copie locale de l'ensemble de données d'un autre ERDDAP .
Parce que les services d'abonnement fonctionnent dès que de nouvelles données sont disponibles, la technologie push diffuse les données très rapidement (en quelques secondes).
Cette architecture confie à chaque administrateur ERDDAP la responsabilité de déterminer d'où proviennent les données de son ERDDAP .
D'autres administrateurs ERDDAP peuvent faire de même.
Il n'y a pas besoin de coordination entre les administrateurs.
Si de nombreux administrateurs ERDDAP sont liés aux ERDDAP les uns des autres, un réseau de distribution de données est formé.
Les données seront rapidement, efficacement et automatiquement diffusées à partir des sources de données (ERDDAP et autres serveurs) vers les sites de redistribution des données (ERDDAP ) n'importe où dans le réseau.
Un ERDDAP donné peut être à la fois une source de données pour certains jeux de données et un site de redistribution pour d'autres jeux de données.
Le réseau résultant est à peu près similaire aux réseaux de distribution de données mis en place avec des programmes tels
que IDD/IDM d' Unidata .
, mais moins rigidement structuré.
DAP ? OPeNDAP ? DODS ? ERDDAP ? Quelle est la différence? Ma compréhension (de Bob) est :
DODS (Distributed Oceanographic Data System) a été créé dans les années 1990, avant qu'il n'y ait http: (!). Le système DODS a créé et utilisé le dods : protocole sur Internet. Lorsque HTTP est arrivé et a connu un tel succès, ils sont passés de dods: à http:.
À un moment donné, ils ont réalisé que le système était utile pour plus que de simples données océanographiques.
Ils ont donc abandonné ce nom DODS (bien qu'il existe dans certains codes), ont formé une petite organisation appelée
OPeNDAP
et a écrit la
spécification DAP (Data Access Protocol)
, qui normalise le format des demandes de métadonnées et/ou de données, et les réponses avec les métadonnées et/ou les données.
OPeNDAP (l'organisation) gère toujours DAP (la spécification) et est l'auteur de Hyrax (le serveur de données souvent appelé à tort OPeNDAP ).
Hyrax, THREDDS, GRADS, ERDDAP et autres sont des serveurs de données (logiciels) qui implémentent DAP . Ils implémentent chacun un sous-ensemble de DAP mais font d'autres choses très différemment.
ERDDAP utilise du code (dans le répertoire "dods") (en fait écrit par Jake Hamby au NASA JPL) pour certaines fonctionnalités de lecture de données à partir de serveurs DAP externes.
ERDDAP utilise son propre code pour écrire les réponses DAP .
L' ERDDAP est-il une solution aux problèmes de diffusion des données / d'accès aux données de chacun ?
Non.
ERDDAP essaie de trouver un point idéal qui soit une très bonne solution à la plupart des problèmes de distribution de données auxquels nous avons été confrontés.
ERDDAP adopte une approche middleware :
il peut obtenir des données de nombreux types de serveurs de données distants et il peut fournir ces données aux clients dans de nombreux formats de fichiers différents.
Il est conçu comme une solution agnostique qui cherche à rendre interopérables d'autres serveurs de données (OPeNDAP, SOS, OBIS, WMS, ...) .
Existe-t-il un serveur de données parfait qui répond parfaitement aux besoins de chacun ?
Nous ne le pensons pas.
Et même si vous pensez qu'il y en a ou qu'il y en aura, il faudra beaucoup de temps avant que tout le monde n'y change, voire jamais.
D'ici là, ERDDAP est disponible dès maintenant pour rendre interopérables d'autres serveurs de données et servir des données dès maintenant.
ERDDAP peut gérer de nombreux/la plupart des ensembles de données tels quels, mais pas tous. Ce n'est pas que les ensembles de données restants (par exemple, les données de modèle utilisant une projection de sphère cubique) ne sont pas importants. C'est juste que l'objectif d' ERDDAP de renvoyer des données dans des formats de fichiers courants (dont certains sont assez simples), exclut une structure de données interne plus complexe. Les groupes de chercheurs travaillant avec des structures de données plus complexes disposent souvent déjà de serveurs de données spécialisés et de logiciels clients spécialisés adaptés aux besoins de leur communauté. ERDDAP, en tant que serveur de données généraliste, ne cherche pas à concurrencer ces serveurs de données spécialisés. Ils sont adaptés aux besoins de leur communauté et font un excellent travail. Cependant, ces ensembles de données ne sont souvent "compris" que par le logiciel spécialisé de cette communauté.
Une solution de contournement pour les ensembles de données complexes - ERDDAP a un moyen de gérer des ensembles de données complexes qu'il ne peut pas gérer directement.
Tout comme une base de
données relationnelle
peut stocker un ensemble de données complexe en utilisant une seule structure de données simple (une table), ERDDAP peut servir les données d'ensembles de données plus complexes en divisant l'ensemble de données source en quelques ensembles de données ERDDAP, chacun avec des structures de données simples et similaires.
Par exemple, certains ensembles de données de modèles environnementaux maillés peuvent être stockés dans ERDDAP en mettant les variables de surface de la mer ([heure][latitude][longitude]) dans un ensemble de données ERDDAP, et en mettant les variables avec l'altitude ([heure][altitude][ latitude][longitude]) dans un autre jeu de données ERDDAP .
Nous savons que ce n'est pas idéal, mais il est nécessaire de permettre à ERDDAP de renvoyer des données dans des formats de fichiers courants (dont certains sont assez simples).
Une autre approche pour traiter des ensembles de données complexes (par exemple, pour les données de modèle utilisant une projection de sphère cubique) consiste également à proposer une version reprojetée de l'ensemble de données ([heure][altitude][latitude][longitude]) avec laquelle ERDDAP peut travailler facilement.
Ces structures de données plus simples ne sont pas destinées à remplacer les structures de données d'origine, mais elles peuvent être un moyen utile de distribuer les données à un public plus large.
Quelle est la pérennité du projet ERDDAP ?
ERDDAP est très durable.
Certaines personnes sont surprises et déçues d'apprendre que ERDDAP est principalement développé par une seule personne (moi, Bob Simons).
[Au fait, les opinions sur cette page Web sont mes opinions personnelles et ne reflètent pas nécessairement la position du gouvernement ou de la National Oceanic and Atmospheric Administration .] Ils craignent que si quelque chose m'arrive, ce sera la fin de ERDDAP .
Ce n'est tout simplement pas vrai.
Le positionnement de l' ERDDAP pour la durabilité à long terme est excellent, et proche du meilleur possible.
Oui, je suis le principal développeur d' ERDDAP . Je suis un employé fédéral entièrement financé. Mon financement n'est pas de l'argent "soft", donc je ne reçois pas ou ne compte pas sur des subventions. Je passe plus de la moitié de mon temps à développer ERDDAP . Le reste de mon temps est consacré à la gestion des jeux de données. Ce travail est utile pour ERDDAP car j'ai besoin de travailler avec de vrais ensembles de données afin de savoir en détail ce que ERDDAP doit faire. Mes patrons soutiennent pleinement mon travail sur ERDDAP car il fait ce pour quoi j'ai été embauché : faciliter l'obtention de données scientifiques provenant de diverses sources pour les scientifiques de la pêche (principalement, mais vraiment tout le monde).
Ce qui est miraculeux avec les logiciels, c'est qu'il ne coûte rien à dupliquer. Alors pour faire mon travail, j'écris ERDDAP à utiliser à l' ERD . Je pense que c'est la meilleure façon possible pour moi de faire mon travail. Cette raison justifie à elle seule les dépenses de développement du ERDDAP . (Je pense qu'il pourrait être démontré ERDDAP a fait gagner plus de temps aux scientifiques de la NOAA que ce que j'ai passé à développer ERDDAP . Time=Money.) Mais l'avantage secondaire est que toute autre organisation peut télécharger, installer et utiliser ERDDAP gratuitement pour distribuer leur données scientifiques.
Plus de 90 organisations dans au moins 14 pays utilisent ERDDAP . Peut-être qu'il existe une chose telle qu'un déjeuner gratuit.
ERDDAP est un programme Java .
Le code source de chaque version est sur
GitHub
, le système le plus couramment utilisé pour les projets logiciels collaboratifs.
Jusqu'à présent, ces groupes/personnes ont contribué au code d' ERDDAP :
Mais toutes mes réponses jusqu'à présent ne sont pas très importantes. Une seule chose qui est vraiment importante.
Une seule chose garantit la pérennité de l' ERDDAP ou de tout projet logiciel :
ERDDAP soit un logiciel
libre et open source (FOSS)
.
Concrètement, ERDDAP utilise
des licences logicielles compatibles avec Apache
, afin que n'importe qui puisse faire ce qu'il veut avec le code.
Pourquoi est-ce important ?
On pourrait penser que le logiciel sera disponible de manière fiable à l'avenir parce qu'une grande entreprise est derrière.
Mais Google, par exemple, a abandonné de nombreux projets (voici une liste
).
Je ne veux pas m'en prendre à Google parce que j'aime vraiment Google et qu'ils financent un grand nombre de grands projets open source.
Microsoft a interrompu des projets.
Apple a abandonné des projets.
...
Le fait est que le simple fait d'avoir le soutien d'une grande entreprise ne garantit pas que le projet se poursuivra.
Les utilisateurs de ce logiciel n'ont pas de chance, à moins que le logiciel ne soit (et ne soit donc toujours) un logiciel libre et open source (FOSS).
Ensuite, chaque fois qu'il y a de l'intérêt même pour un seul développeur, le projet peut et continuera d'évoluer.
FOSS est une police d'assurance.
En fait, FOSS est la seule police d'assurance, la seule assurance qui compte.
FOSS garantit qu'il y a toujours une voie à suivre pour le logiciel.
C'est un droit que personne ne peut retirer, jamais.
On pourrait également penser qu'un logiciel qui a une grande équipe de développeurs sera plus durable qu'un logiciel avec un développeur principal. Mais de nombreux développeurs ont généralement besoin de beaucoup de financement. Je connais un projet célèbre et raisonnablement important avec 10 développeurs (je ne les embarrasserai pas en les nommant) qui est constamment en grave danger d'arrêter le projet parce qu'ils n'ont pas assez de financement. Ils comptent sur les subventions. Ils ont toujours un déficit. Leur patron les a toujours renfloués à la dernière minute, mais en a vraiment marre de les renflouer. Donc, s'ils ne peuvent pas collecter un million de dollars par an en subventions (ou si le mécène en a trop marre de les renflouer), ils s'arrêteront. Et le groupe ne peut concevoir d'avoir moins de 10 développeurs. Chaque développeur a un rôle à jouer dans son groupe. À la lumière de cela, il me semble que c'est un bon signe ERDDAP peut être, et est, activement développé par un seul développeur principal (qui est entièrement financé) avec l'aide non officielle de quelques autres. En fait, ce serait un mauvais signe si ERDDAP nécessitait plusieurs développeurs. Le fait que l' ERDDAP n'ait qu'un seul développeur principal signifie qu'il ne s'agit pas d'une tâche énorme qui nécessite un financement continu massif ; il s'agit d'une tâche relativement petite qui nécessite un minimum d'efforts et de financement. C'est plus durable, pas moins.
On pourrait penser que l'embauche d'une entreprise contractante pour écrire un logiciel est une bonne idée. Moyennant des frais, ils fourniront des développeurs et promettront la continuité (ce qui est bien à moins / jusqu'à ce qu'ils fassent faillite). Mais ils vous tiennent aussi au-dessus d'un baril : vous devez leur payer ce qu'ils demandent ou il n'y a plus de développement, à moins que le logiciel ne soit FOSS et que vous ne les payiez que pour travailler sur le code. Avec FOSS, vous avez toujours le choix sur la façon d'aller de l'avant. Parce que ERDDAP est FOSS, les sous-traitants sont toujours une bonne option pour vous ou n'importe qui en ce qui concerne ERDDAP : si quelque chose m'arrive (le seul développeur principal), ou si je n'ai pas le temps d'apporter les modifications que vous souhaitez, ou si je prendre ma retraite et que tu n'aimes pas le travail de mon remplaçant, tu peux toujours faire appel à une entreprise contractante pour faire les changements que tu souhaites (ou les faire toi-même).
En résumé, l' ERDDAP présente les deux caractéristiques de durabilité les plus importantes :
Comment citer un ensemble de données dans un article
Il est important de faire savoir aux lecteurs comment vous avez obtenu les données que vous avez utilisées dans votre article.
Pour chaque ensemble de données que vous avez utilisé, veuillez consulter les métadonnées de l'ensemble de données dans la section Structure des attributs de l'ensemble de données au bas de la page .html de l'ensemble de données, par exemple,
https://coastwatch.pfeg.noaa.gov/erddap/griddap/jplMU RSS T41.html .
Les métadonnées incluent parfois un format de citation obligatoire ou suggéré pour l'ensemble de données.
Les métadonnées "licence" énumèrent parfois des restrictions sur l'utilisation des données.
Pour générer une citation pour un ensemble de données :
Si vous considérez le jeu de données comme un article scientifique, vous pouvez générer une citation basée sur l'auteur (voir les métadonnées "creator_name" ou "institution" ), la date à laquelle vous avez téléchargé les données, le titre (voir les métadonnées "title" ), et l'éditeur (voir les métadonnées "publisher_name").
Si possible, veuillez inclure la ou les URL spécifiques utilisées pour télécharger les données.
Si les métadonnées de l'ensemble de données incluent un
identificateur d'objet numérique (DOI )
, veuillez l'inclure dans la citation que vous créez.
Comment citer ERDDAP dans un article
Si vous souhaitez citer ERDDAP lui-même dans un article scientifique, veuillez utiliser quelque chose comme
Simons, R.A. 2022. ERDDAP. https://coastwatch.pfeg.noaa.gov/erddap . Monterey, CA: NOAA/NMFS/SWFSC/ERD.
Que signifie l'acronyme « ERDDAP » ?
"ERDDAP" était un acronyme, mais il a dépassé cette description originale.
Maintenant, s'il vous plaît, pensez-y simplement comme un nom, pas comme un acronyme.
Lignes directrices pour les systèmes de distribution de données
Les opinions de Bob sur la conception et l'évaluation des systèmes de distribution de données peuvent être consultées
ici .
Vous pouvez configurer votre propre serveur ERDDAP et servir vos propres données.
et en cliquant sur "Demander l'adhésion".
Une fois que vous êtes membre, vous pouvez y poster votre question ou effectuer une recherche pour voir si la question a déjà été posée et répondue.
AVIS DE NON-RESPONSABILITÉ : Les opinions sur cette page Web sont les opinions personnelles de Bob Simons et ne reflètent pas nécessairement la position du gouvernement ou de la National Oceanic and Atmospheric Administration .