ERDDAP > Informations
ERDDAP est un serveur de données qui vous offre un moyen simple et cohérent de télécharger des sous-ensembles d'ensembles de données scientifiques dans des formats de fichiers courants et de créer des graphiques et des cartes.
Table des matières
Sans ERDDAP, lorsqu'une personne (ou un programme informatique) recherche sur Internet un type précis de données scientifiques (par exemple, des données satellitaires de température de surface de la mer), il y a des problèmes...
- Les ensembles de données intéressants sont difficiles à trouver car ils se trouvent sur de nombreux sites Web différents.
- Chaque site nécessite un protocole différent pour demander les données :
(par exemple,
HTTP GET ,
XML ,
SOAP+XML ,
OPeNDAP ,
WCS ,
WFS ,
SOS , ou un formulaire HTML) .
- Chaque site renvoie les données dans un format différent (par exemple, XML, SOAP+XML, flux de données binaires OPeNDAP, texte ASCII, HDF 4, HDF 5, NetCDF, ...) et ce n'est pas le format de fichier courant que vous vouloir.
- Les données de différents sites sont difficiles à comparer car les dates + heures sont exprimées dans différents formats, par exemple, "2 janvier 1985", "02-JAN-1985", "1/2/85", "2/1/85".
","1985-01-02", ou jours depuis le 1er janvier 1980, ou ...).
- Pour une introduction rapide à ERDDAP,
regardez la première moitié de ce vidéo . (5 minutes)
Dans ce document, un scientifique télécharge les données de prévision des courants océaniques de l' ERDDAP pour modéliser un déversement toxique dans l'océan à l'aide
du logiciel GNOME de la NOAA .
(dans 5 minutes!).
Cette vidéo montre :
Merci à Rich Signell.
(Une petite erreur dans la vidéo :
lors de la recherche d'ensembles de données, n'utilisez pas AND entre les termes de recherche.
C'est implicite.)
- ERDDAP peut obtenir des données à partir de sources de données locales (sur le disque dur du serveur) et distantes (accessibles via le Web).
Voir la
liste des types de sources de données auxquelles ERDDAP peut accéder.
- ERDDAP peut servir de nombreux types de données scientifiques, pas seulement des données océanographiques.
ERDDAP est un serveur de données qui a été écrit à
NOAA
NMFS
SWFSC
ERD .
Le serveur ERDDAP de l' ERD sert des données océanographiques, mais ERDDAP (le programme) peut accéder et servir toutes les données maillées ou tabulaires.
- ERDDAP propose plusieurs façons de rechercher des ensembles de données intéressants.
Par exemple, la recherche en
texte intégral,
la recherche par catégorie (également appelée recherche à facettes) et la
recherche avancée .
La recherche avancée combine toutes les techniques de recherche et ajoute des recherches d'ensembles de données contenant des données dans des plages de longitude, de latitude et de temps, de sorte que vous pouvez rechercher des ensembles de données en fonction de nombreux critères différents simultanément.
- ERDDAP vous permet de demander des données de manière standardisée,
quel que soit le protocole de demande de la source de données.
ERDDAP fournit également des formulaires d'accès aux données (pages Web) qui aident les humains à créer les demandes OPeNDAP .
d' OPeNDAP
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.
- Les demandes de données maillées peuvent être faites en unités utilisateur.
Bien que les demandes de données maillées dans ERDDAP puissent être effectuées avec des indices de tableau (conformément à la spécification OPeNDAP ), les demandes peuvent également être exprimées en unités utilisateur (par exemple, degrés est), en utilisant
une notation entre parenthèses, car les utilisateurs pensent dans ces unités, pas des indices.
- ERDDAP envoie les résultats dans des formats de fichiers de données courants.
Les résultats peuvent être renvoyés dans l'un des nombreux formats de fichiers de données courants (par exemple,
HTTP GET ,
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 .
- ERDDAP normalise les noms et les unités des variables pour la longitude, la latitude, l'altitude, la profondeur et le temps dans les résultats.
Pour faciliter les comparaisons de données provenant de différents ensembles de données, les requêtes et les résultats dans ERDDAP utilisent des unités d'axe espace/temps normalisées :
- la longitude est toujours en degrees_east .
- latitude est toujours en degrees_north .
- l'altitude est toujours en mètres avec positive=up.
- la profondeur est toujours en mètres avec positive=down.
- l'heure, lorsqu'elle est formatée comme un nombre, est toujours en"seconds since 1970-01-01T00:00:00Z"(appelée
heure Unix 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).
Cela facilite la spécification des contraintes dans les requêtes sans avoir à se soucier du format des données d'altitude (les valeurs positives sont-elles en haut ou en bas ?
en mètres ou en brasses ?) ou du format des données temporelles (un royaume cauchemardesque de formats possibles, par exemple,"Jan 2, 1985","02-JAN-1985","1/2/85","2/1/85","1985-01-02", ou jours depuis le 1er janvier 1980).
Cela facilite la comparaison des résultats de différentes sources de données.
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 :
- UDUNITSxternal.png" alt="(lien externe)" title="Ce lien vers un site Web externe ne constitue pas une approbation."> - d'
Unidata , 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 .
- UCUM - 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" .
Bien que ERDDAP n'exige pas l'utilisation de l'une ou l'autre des unités standard, la plupart des installations ERDDAP privilégient l'une ou l'autre.
(Administrateurs ERDDAP :
vous pouvez le spécifier avec la <units_standard> dans setup.xml.) Vous pouvez convertir UDUNITS vers/depuis les unités UCUM avec le convertisseur d'
unités ERDDAP .
Lorsque vous demandez des données ou un graphique à partir d'un ensemble de
données tabledap, vous pouvez ajouter &units("UDUNITS") ou &units("UCUM") à la fin de l'URL pour demander des unités UDUNITS ou UCUM.
Plus d'information
- ERDDAP peut ajouter ou modifier des métadonnées.
De nombreuses sources de données ont peu ou pas de
métadonnées (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 .
- ERDDAP vous permet de demander des fichiers image .png et .pdf avec des graphiques et des cartes
des données en plus des données réelles.
Et Make A Graph de l' ERDDAP vous permet de personnaliser les images.
Certaines utilisations spéciales de ces images sont :
- Demander des fichiers compressés
ERDDAP n'offre pas de résultats stockés dans des fichiers compressés (par exemple, .zip ou .gzip ) à moins que le fichier source ne soit déjà compressé.
Au lieu de cela, ERDDAP recherche
accept-encoding 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.
- ERDDAP rend différents types de serveurs de données (OPeNDAP, OBIS, SOS, WMS, ...) interopérables.
Différents types de serveurs de données sont utilisés dans différentes communautés scientifiques.
Dans un avenir prévisible, il est peu probable qu'un type devienne dominant et remplace les autres.
Ainsi ERDDAP agit comme un pont entre différents types de programmes clients (navigateurs web, IDV, Matlab, programmes netCDF, ODV, clients WMS, etc.) et les différents types de serveurs de données.
- ERDDAP accepte les demandes des clients pour des données dans différents formats (par exemple, OPeNDAP, WMS ).
- ERDDAP convertit une requête donnée dans le format de requête utilisé par le serveur de données source (par exemple, OPeNDAP, SOS, OBIS, ...) et l'envoie au serveur de données source.
- ERDDAP convertit les données de réponse du serveur de données source dans un format interne, y compris la conversion de toutes les données temporelles dans un format commun :
"seconds since 1970-01-01T00:00:00Z" .
- ERDDAP convertit les données du format interne au format de fichier demandé par le client (par exemple, .csv, Google Earth .kml, .htmlTable, .dods, .mat, .nc, ODV .txt, .png).
Les clients n'ont pas à s'inquiéter ni à connaître le type de serveur de données source.
Ils obtiennent simplement les données qu'ils veulent, dans le format de fichier qu'ils veulent.
- ERDDAP utilise seulement deux structures de données de base pour stocker les données.
- Étant donné qu'il est difficile pour les clients humains et les clients informatiques de gérer un ensemble complexe de structures d'ensembles de données possibles, ERDDAP n'utilise que deux structures de données de base :
- Certes, toutes les données ne peuvent pas être exprimées dans ces structures, mais une grande partie le peut.
Les tables, en particulier, sont des structures de données très flexibles (regardez le succès phénoménal des bases de
données relationnelles programmes).
- Cela facilite la construction des requêtes de données.
- Cela permet aux réponses de données d'avoir une structure simple, ce qui facilite le traitement des données dans une plus grande variété de types de fichiers standard (qui ne prennent souvent en charge que des structures de données simples).
C'est la principale raison pour laquelle nous avons mis en place l' ERDDAP de cette manière.
- Ceci, à son tour, nous permet (ou à n'importe qui) d'écrire très facilement un logiciel client qui fonctionne avec tous les ensembles de données ERDDAP .
- Cela facilite la comparaison des données provenant de différentes sources, par exemple pour une analyse intégrée de l'écosystème (IEA).
- Nous sommes très conscients que si vous avez l'habitude de travailler avec des données dans d'autres structures de données, vous pouvez d'abord penser que cette approche est simpliste ou insuffisante.
Mais toutes les structures de données ont des compromis.
Aucun n'est parfait.
Même les structures à tout faire ont leurs inconvénients :
travailler avec elles est complexe et les fichiers ne peuvent être écrits ou lus qu'avec des bibliothèques logicielles spéciales.
Si vous acceptez suffisamment l'approche d' ERDDAP pour essayer de l'utiliser, vous constaterez peut-être qu'elle a ses avantages (notamment la prise en charge de plusieurs types de fichiers pouvant contenir les réponses de données).
Le
diaporama original de l' ERDDAP (en particulier le
diaporama sur les structures de données) traite de ces questions.
- Et même si cette approche vous semble étrange, la plupart des clients ERDDAP ne le remarqueront jamais - ils verront simplement que tous les ensembles de données ont une belle structure simple et ils seront reconnaissants de pouvoir obtenir des données provenant d'une grande variété de sources renvoyées dans une grande variété de formats de fichiers.
- ERDDAP propose
email/URL et
RSS services d'abonnement, afin que vous puissiez être averti chaque fois qu'un jeu de données change.
- ERDDAP est très efficace pour détecter les modifications apportées aux ensembles de données maillées, car il peut détecter le changement des valeurs d'axe (par exemple, les valeurs temporelles).
- ERDDAP n'est pas très efficace pour détecter les modifications apportées aux ensembles de données tabulaires, car il n'y a généralement aucune modification des métadonnées lorsque de nouvelles données sont ajoutées.
- ERDDAP détectera si un ensemble de données devient indisponible (mais peut-être pas immédiatement).
- ERDDAP détectera quand cet ensemble de données redeviendra disponible.
- ERDDAP ne fait aucune promesse quant à la pertinence ou à l'exactitude de ces services (voir
les AVIS DE NON-RESPONSABILITÉ de l' ERDDAP).
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.
- ERDDAP est une
application web (pages Web avec des formulaires pour les humains utilisant des navigateurs)
et un
service Web (avec
prestations de programmes informatiques).
En fait, les formulaires sur les pages Web de l' ERDDAP génèrent simplement des URL spécialement formées qui sont ensuite soumises aux services Web de l' ERDDAP .
- ERDDAP a
REST - et
ROA -liens de style pour rendre ses services disponibles pour les programmes informatiques.
Ces fonctionnalités peuvent être utilisées pour créer un autre service Web au-dessus d' ERDDAP (ce qui fait que ERDDAP fait tout le travail !).
ERDDAP n'est pas destiné à être un service d'exploration/de représentation graphique de données de haut niveau.
Au lieu de cela, ERDDAP est destiné à fournir des services pour ces sites Web et programmes.
Donc, si vous avez une idée pour une meilleure interface avec les données ERDDAP, nous vous encourageons à créer votre propre application Web ou service Web et à utiliser ERDDAP comme base.
En savoir plus sur les services de l' ERDDAP
pour les programmes informatiques .
- Sécurité - Par défaut, ERDDAP fonctionne comme un serveur entièrement public sans système de connexion et sans restriction d'accès aux données.
Cependant, un administrateur ERDDAP peut configurer ERDDAP pour restreindre l'accès à certains ou à tous les ensembles de données aux utilisateurs qui se connectent et auxquels certains rôles ont été attribués.
ERDDAP a des méthodes intégrées pour l'authentification (connexion).
Si une installation ERDDAP a l'authentification activée, il y aura un lien "Connexion" en haut de chaque page Web.
Les utilisateurs n'ont jamais à se connecter pour accéder aux ensembles de données accessibles au public.
Les utilisateurs qui se sont connectés peuvent accéder aux ensembles de données publics et aux ensembles de données privés auxquels ils sont autorisés à accéder.
Les utilisateurs doivent utiliser https:
(Secure Sockets Layer) pour se connecter et accéder aux ensembles de données privés.
Les ensembles de données peuvent être configurés pour avoir des graphiques et des cartes accessibles au public, mais les données ne sont accessibles qu'aux utilisateurs autorisés.
(plus d'informations)
- ERDDAP traite les données par tranches.
Pour économiser de la mémoire (un gros problème) et faire en sorte que les réponses commencent plus tôt, ERDDAP traite les demandes de données par blocs - récupérant à plusieurs reprises un bloc de données de la source, le nettoyant (par exemple, en ajoutant
des métadonnées ) 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).
- ERDDAP a une structure modulaire.
ERDDAP est structuré de manière à ce qu'il soit facile d'ajouter différents composants (par exemple, une classe pour demander des données à un serveur SOS et les stocker sous forme de table).
Le nouveau composant acquiert alors toutes les fonctionnalités et capacités du parent (par exemple, la prise en charge des requêtes OPeNDAP et la possibilité d'enregistrer les données dans plusieurs formats de fichiers courants).
- Diffusion de données / Réseaux de distribution de données :
Push et Pull
Normalement, ERDDAP agit comme intermédiaire :
il prend une demande d'un utilisateur ; obtient des données d'une source de données distante ; reformate les données ; et l'envoie à l'utilisateur.
Technologie de Pull :
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 :
- FusionnerIR
EDDGrid FromMergeIRFiles.java a été écrit et contribué par Jonathan Lafite et Philippe Makowski de R.Tech Engineering (licence :
open source sous copyright).
Merci Jonathan et Philippe !
- TableWriterDataTable
.dataTable (TableWriterDataTable.java) a été écrit et contribué par Roland Schweitzer de la NOAA (licence :
open source sous copyright).
Merci Roland!
- json-ld
La version initiale de la fonctionnalité
Semantic Markup of Datasets with json-ld (JSON Linked Data) (et donc tout le travail acharné de conception du contenu) a été écrite et contribuée (licence :
copyright open source) par Adam Leadbetter et Rob Fuller de le Marine Institute en Irlande.
Merci, Adam et Rob !
- orderBy
Le code du
filtre orderByMean dans tabledap et les modifications importantes apportées au code pour prendre en charge la
notation variableName/divisor:offset pour tous les filtres orderBy été écrits et contribués (licence :
copyright open source) par Rob Fuller et Adam Leadbetter du Marine Institute de Irlande.
Merci, Rob et Adam !
- Types de marqueurs sans bordure
Le code pour trois nouveaux types de marqueurs (Borderless Filled Square, Borderless Filled Circle, Borderless Filled Triangle) a été fourni par Marco Alba de ETT / EMODnet Physics.
Merci Marco Alba!
- Traductions de messages.xml
La version initiale du code dans TranslateMessages.java qui utilise le service de traduction de Google pour traduire messages.xml dans différentes langues a été écrite par Qi Zeng, qui travaillait comme stagiaire Google Summer of Code.
Merci Qi!
- orderBy Somme
Le code du
filtre orderBy Sum dans tabledap (basé sur orderByMean de Rob Fuller et Adam Leadbetter) et les boutons Check All et Uncheck All sur le formulaire d'accès aux données EDDGrid ont été écrits et contribués (licence :
open source sous copyright) par Marco Alba de ETT Solutions et EMODnet.
Merci Marco!
- Requêtes .transparentPng hors plage
ERDDAP accepte désormais les demandes de .transparentPng lorsque les valeurs de latitude et/ou de longitude sont partiellement ou totalement hors plage.
(Il s'agissait du numéro 19 du problème ERDDAP GitHub, publié par Rob Fuller - merci de l'avoir publié, Rob.) Le code pour résoudre ce problème a été écrit par Chris John.
Merci Chris!
- Afficher les données d'image base64 dans les réponses .htmlTable
Le code d'affichage des données d'image base64 dans les réponses .htmlTable a été fourni par Marco Alba de ETT / EMODnet Physics.
Merci Marco Alba!
- nThreads Amélioration
Le système nThreads pour EDDTableFromFiles a été considérablement amélioré.
Ces modifications entraînent une amélioration considérable de la vitesse (par exemple, une accélération 2X lorsque nThreads est défini sur 2 ou plus) pour les requêtes les plus difficiles (lorsqu'un grand nombre de fichiers doivent être traités pour recueillir les résultats).
Ces changements conduiront également à une accélération générale dans l'ensemble ERDDAP .
Le code de ces changements a été fourni par Chris John.
Merci Chris!
J'espère que d'autres contribueront au code à l'avenir.
S'il m'arrive quelque chose, mes patrons engageront un remplaçant dans le but précis qu'il poursuive le développement de l' ERDDAP .
De plus, j'essaie d'écrire du code très propre.
J'écris des commentaires Java Doc.
J'écris des commentaires dans le code.
J'ai choisi les noms de variables avec soin.
Je suis les directives de formatage Java .
Tout cela est un effort pour rendre le code plus lisible, pour les autres programmeurs qui veulent le comprendre et/ou le modifier, et pour moi, car, dans un an ou deux, j'aurai oublié les détails du comment et du pourquoi du code était écrit comme ça.
Un code propre avec de bons commentaires facilite mon travail continu sur ERDDAP, donc j'ai une grande incitation à écrire du code propre avec de bons commentaires.
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 :
- ERDDAP est un petit projet (suffisamment petit pour être géré par un développeur principal avec l'aide non officielle de quelques autres), il ne nécessite donc pas de ressources massives.
- ERDDAP est un logiciel gratuit et open source, donc personne ne peut vous empêcher, vous ou quiconque, de travailler sur ERDDAP .
Je ne peux pas penser à une meilleure situation.
J'espère que cela apaise les craintes que vous (ou quelqu'un d'autre) aviez sur la pérennité de l' ERDDAP .
Si vous entendez des gens remettre en question ou décourager l'utilisation d' ERDDAP parce qu'il n'y a qu'un seul développeur principal, veuillez les mettre au clair en les dirigeant vers la discussion ci-dessus à cette URL :
https://coastwatch.pfeg.noaa.gov/erddap/information.
html#durable .
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.
- Le petit effort de mise en place de l' ERDDAP apporte de nombreux avantages.
- Si vous disposez déjà d'un web service de diffusion de vos données, vous pouvez paramétrer ERDDAP pour accéder à vos données via le service existant ou via les fichiers sources ou la base de données.
Ensuite, les gens auront un autre moyen d'accéder à vos données et pourront télécharger les données dans des formats de fichiers supplémentaires ou sous forme de graphiques ou de cartes.
- Si vous avez des ensembles de données très demandés, vous pouvez installer
plusieurs ERDDAP qui fonctionnent ensemble pour évoluer et répondre aux besoins d'un grand centre de distribution de données.
Si vous avez des questions, des suggestions ou des commentaires sur ERDDAP en général (et non sur cette installation ERDDAP spécifique), veuillez envoyer un e-mail à
erd dot data at noaa dot gov et inclure l'URL ERDDAP directement liée à votre question ou commentaire.
Ou, vous pouvez rejoindre le groupe Google / liste de diffusion ERDDAP en visitant
https://groups.google.com/forum/#!forum/erddap 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 .