Trabajando con eldatasets.xmlArchivo
\[Esta página web sólo será de interésERDDAP™administradores.\]
Después de haber seguido elERDDAP™ Instrucciones de instalación, debe editar eldatasets.xmlarchivo en tomcat /content/erddap/ para describir los conjuntos de datos que suERDDAP™la instalación servirá.
Puedes ver un ejemplo.datasets.xmlen GitHub.
Introducción
Algunas Asambleas necesarias
Configuración de un conjunto de datosERDDAP™no es solo cuestión de apuntar al directorio o URL del conjunto de datos. Tienes que escribir un trozo de XML paradatasets.xmlque describe el conjunto de datos.
- Para conjuntos de datos redondeados, con el fin de que el conjunto de datos se ajuste aERDDAP's estructura de datos para datos redondeados, usted tiene que identificar un subconjunto de las variables del conjunto de datos que comparten las mismas dimensiones. (¿Por qué? ¿Cómo?)
- Los metadatos actuales del conjunto de datos se importan automáticamente. Pero si quieres modificar esos metadatos o añadir otros metadatos, tienes que especificarlo endatasets.xml. YERDDAP™necesidades de otros metadatos, incluidosatributos globales (tales comoinfoUrl, institución,sourceUrl, resumen y título) yatributos variables (tales comolong\_namey unidades) . Así como los metadatos que se encuentran actualmente en el conjunto de datos agregan información descriptiva al conjunto de datos, los metadatos solicitados porERDDAP™añade información descriptiva al conjunto de datos. Los metadatos adicionales son una buena adición a su conjunto de datos y ayudaERDDAP™hacer un mejor trabajo de presentar sus datos a los usuarios que no están familiarizados con él.
- ERDDAP™necesita que hagas cosas especiales conlongitud, latitud, altitud (o profundidad) , y variables de tiempo.
Si usted compra en estas ideas y gasta el esfuerzo para crear el XML paradatasets.xml, usted consigue todas las ventajas deERDDAP™, incluyendo:
- Búsqueda completa de texto para conjuntos de datos
- Buscar conjuntos de datos por categoría
- Formularios de acceso a datos ( datasetID HTML) para que pueda solicitar un subconjunto de datos en muchos formatos de archivo diferentes
- Formularios para solicitar gráficos y mapas ( datasetID .graph)
- Web Map Service (WMS) para conjuntos de datos redondeados
- RESTfulacceso a sus datos
Hacer eldatasets.xmltoma considerable esfuerzo para los primeros pocos datasets, pero se hace más fácil . Después del primer conjunto de datos, a menudo puede reutilizar mucho de su trabajo para el próximo conjunto de datos. Afortunadamente,ERDDAP™viene con dosHerramientaspara ayudarle a crear el XML para cada conjunto de datosdatasets.xml. Si te atascas, veamos nuestrasección sobre la obtención de apoyo adicional.
Proveedor de datos Formulario
Cuando un proveedor de datos viene a usted esperando añadir algunos datos a suERDDAP, puede ser difícil y consume mucho tiempo para recoger todos los metadatos (información sobre el conjunto de datos) necesario para agregar el conjunto de datosERDDAP. Muchas fuentes de datos (por ejemplo, archivos .csv, Archivos de Excel, bases de datos) no tienen metadatos internos, así queERDDAP™tiene un Formulario de Proveedor de Datos que reúne metadatos del proveedor de datos y da al proveedor de datos alguna otra orientación, incluyendo una amplia orientación paraDatos en bases de datos. La información presentada se convierte endatasets.xmlformato y luego correo electrónico alERDDAP™administrador (Tú) y escrito (apéndice) a bigParentDirectory /logs/dataProviderForm.log . Así, el formulario semiautomatiza el proceso de conseguir un conjunto de datos enERDDAP, pero elERDDAP™administrador todavía tiene que completar eldatasets.xmly tratar con obtener el archivo de datos (s) del proveedor o conectarse a la base de datos.
La presentación de archivos de datos reales de fuentes externas es un gran riesgo de seguridad, por lo queERDDAP™no trata de eso. Usted tiene que encontrar una solución que funciona para usted y el proveedor de datos, por ejemplo, correo electrónico (para pequeños archivos) , tire de la nube (por ejemplo, DropBox o Google Drive) , un sitio de sftp (con contraseñas) , o zapatilla Net (una unidad USB o disco duro externo) . Probablemente sólo deberías aceptar archivos de personas que conoces. Usted necesitará escanear los archivos para virus y tomar otras precauciones de seguridad.
No hay un enlace enERDDAP™al Formulario de Proveedor de Datos (por ejemplo, enERDDAP™página principal) . En su lugar, cuando alguien le dice que quieren que sus datos sean servidos por suERDDAP, puede enviarles un correo electrónico diciendo algo como: Sí, podemos conseguir sus datosERDDAP. Para empezar, rellena el formulario https://yourUrl/erddap/dataProviderForm.html (ohttp://sihttps://no está habilitado) . Después de que termines, te contactaré para conocer los detalles finales. Si sólo quieres mirar el formulario (sin llenarlo) , puedes ver el formulario enERD'sERDDAP:Introducción,Parte 1,Segunda parte,Parte 3, yParte 4. Estos enlaces sobreERD ERDDAP™envíame información a mí, no a ti, así que no envíes información con ellos a menos que realmente quieras agregar datos alERD ERDDAP.
Si desea eliminar el Formulario de Proveedor de Datos de suERDDAP™, poner
<dataProviderFormActive>false</dataProviderFormActive>
en su archivo setup.xml.
El impulso para esto fueNOAA2014Acceso público a resultados de investigación (PARR) Directiva, que requiere que todoNOAAdatos ambientales financiados a través de dólares de los contribuyentes se ponen a disposición mediante un servicio de datos (no sólo archivos) dentro de 12 meses de creación. Así que hay mayor interés en utilizarERDDAP™para poner los conjuntos de datos disponibles a través de un servicio ASAP. Necesitamos una manera más eficiente de tratar con un gran número de proveedores de datos.
¿Retroalimentación/Sugerencias? Este formulario es nuevo, así que por favor emailerd dot data at noaa dot govsi usted tiene algún comentario o sugerencias para mejorar esto.
Herramientas
ERDDAP™viene con dos programas de línea de comandos que son herramientas para ayudarle a crear el XML para cada conjunto de datos que desea suERDDAP™para servir. Una vez que hayas preparadoERDDAP™y ejecutarlo (al menos una vez) , usted puede encontrar y utilizar estos programas en tomcat /webapps/erddap/WEB-INF directory. Hay scripts Linux/Unix shell (con la extensión .sh) y scripts de Windows (con la extensión .bat) para cada programa.\[En Linux, ejecute estas herramientas como el mismo usuario (¿Tomcat?) que correrá Tomcat.\]Cuando ejecutas cada programa, te hará preguntas. Para cada pregunta, escriba una respuesta, luego presione Enter. O pulse ^C para salir de un programa en cualquier momento.
¿El programa no funcionará?
- Si tienes un programa desconocido (o similares) mensaje de error, el problema es probablemente que el sistema operativo no pudo encontrarJava. Tienes que averiguar dóndeJavaestá en su computadora, a continuación, editar la referencia java en el archivo .bat o .sh que está tratando de utilizar.
- Si usted consigue un archivo de tarro no encontrado o clase no se encontró mensaje de error, entoncesJavano podía encontrar una de las clases enumeradas en el archivo .bat o .sh que está tratando de utilizar. La solución es averiguar dónde está ese archivo .jar y editar la referencia de java en el archivo .bat o .sh.
- Si está usando una versión deJavaque es demasiado viejo para un programa, el programa no funcionará y verá un mensaje de error como
Excepción en hilo "main" java.lang.UnsupportedClassVersionError:
algunos/clase/nombre : Versión principal sin soporte algunosNúmero
La solución es actualizar a la versión más reciente deJavay asegúrese de que el archivo .sh o .bat para el programa lo está utilizando.
Las herramientas imprimen varios mensajes de diagnóstico:
- La palabra "ERROR" se utiliza cuando algo salió tan mal que el procedimiento no pudo completar. Aunque es molesto obtener un error, el error le obliga a lidiar con el problema.
- La palabra "WARNING" se utiliza cuando algo salió mal, pero el procedimiento fue capaz de ser completado. Son bastante raros.
- Cualquier otra cosa es sólo un mensaje informativo. Puede añadir \-verbose a laGenerarDatasetsXmloDasDdslínea de comandos para obtener mensajes informativos adicionales, que a veces ayuda a resolver problemas.
Las dos herramientas son una gran ayuda, pero todavía debe leer todas estas instrucciones en esta página cuidadosamente y tomar decisiones importantes usted mismo.
GenerarDatasetsXml
- GenerarDatasetsXml es un programa de línea de comandos que puede generar un borrador aproximado del XML de conjunto de datos para casi cualquier tipo de conjunto de datos.
We STRONGLY RECOMMEND that you use GenerateDatasets Xml en lugar de crear pedazos dedatasets.xmla mano porque:
- GenerarDatasets Xml trabaja en segundos. Hacer esto a mano es al menos una hora de trabajo, incluso cuando sabes lo que estás haciendo.
- GenerarDatasets Xml hace un mejor trabajo. Hacer esto a mano requiere un amplio conocimiento de cómoERDDAP™funciona. Es poco probable que usted hará un mejor trabajo a mano. (Bob Simons siempre usa GenerateDatasets Xml para el primer borrador, y escribióERDDAP.)
- GenerarDatasets Xml siempre genera un trozo válido dedatasets.xml. Cualquier pedazo dedatasets.xmlque escriba probablemente tendrá al menos algunos errores que prevenganERDDAP™desde la carga del conjunto de datos. A menudo toma horas para diagnosticar estos problemas. No pierdas tu tiempo. Let Generate Datasets Xml hace el trabajo duro. Entonces puedes refinar el .xml a mano si quieres.
Cuando usted utiliza el GenerarDatasets Programa Xml:
- En Windows, la primera vez que ejecuta GenerateDatasetsXml, necesita editar el archivo GenerateDatasetsXml.bat con un editor de texto para cambiar la ruta hacia la java. archivo exe para que Windows pueda encontrarJava.
- GenerarDatasets Xml primero le pide que especifique el EDDType (Erd Dap Dataset Tipo) del conjunto de datos. Ver elLista de tipos de conjunto de datos (en el presente documento) para averiguar cuál es el tipo apropiado para el conjunto de datos en el que está trabajando. Además de los EDDTypes regulares, también hay algunosTipos de conjunto de datos especiales/Pseudo (por ejemplo, uno que arrastra un catálogo de THREDDS para generar un pedazo dedatasets.xmlpara cada uno de los conjuntos de datos del catálogo) .
- GenerarDatasets Xml entonces le hace una serie de preguntas específicas a ese EDDType. Las preguntas reúnen la información necesaria paraERDDAP™para acceder a la fuente del conjunto de datos. Para entender quéERDDAP™está pidiendo, vea la documentación para el EDDType que especificó haciendo clic en el mismo tipo de conjunto de datos en elLista de tipos de conjunto de datos.
Si necesita introducir una cadena con caracteres especiales (por ejemplo, caracteres blancos al principio o al final, caracteres no ASCII) , entrar acuerda de estilo JSON (con caracteres especiales escaparon con caracteres \) . Por ejemplo, para introducir sólo un personaje de pestaña, introduzca "\t" (con las citas dobles circundantes, que dicenERDDAP™que esta es una cadena de estilo JSON.
- A menudo, una de sus respuestas no será lo que GeneraDatasetsXml necesita. Entonces puedes intentarlo de nuevo, con respuestas revisadas a las preguntas, hasta GenerateDatasets Xml puede encontrar y entender con éxito los datos fuente.
- Si responde correctamente a las preguntas (o lo suficientemente correcto) , GenerarDatasets Xml se conectará a la fuente del conjunto de datos y recopilará información básica (por ejemplo, nombres variables y metadatos) . Para conjuntos de datos que son de localesNetCDF .ncy archivos relacionados, GenerateDatasets Xml a menudo imprimirá la estructura similar al ncdump del archivo después de que primero lea el archivo. Esto puede darle información para responder mejor a las preguntas en un bucle posterior a través de GenerateDatasetsXml.
- GenerarDatasets Xml generará un borrador aproximado del XML de conjunto de datos para ese conjunto de datos.
- Se escribirá información diagnóstica y el borrador áspero del XML de conjunto de datos bigParentDirectory /logs/GenerateDatasetsXml.log .
- El borrador áspero del XML de conjunto de datos se escribirá para bigParentDirectory /logs/GenerateDatasetsXml.out .
"0 archivos" Mensaje de error
Si corres GenerateDatasets Xml oDasDds, o si intenta cargar unaEDDGridDesde...Files o EDDTableDesde... Dataset de archivos enERDDAP™, y recibe un mensaje de error de "0 archivos" indicando queERDDAP™encontrados 0 archivos coincidentes en el directorio (cuando usted piensa que hay archivos coincidentes en ese directorio) :
-
Compruebe que ha especificado el nombre completo del directorio. Y si especificó el nombre de archivo de la muestra, asegúrese de especificar el nombre completo del archivo, incluyendo el nombre completo del directorio.
-
Compruebe que los archivos realmente están en ese directorio.
-
Compruebe la ortografía del nombre del directorio.
-
Revisa el archivoNameRegex. Es realmente, muy fácil cometer errores con regexes. Para fines de prueba, prueba el regex .\* que debe coincidir con todos los nombres de archivo. (Mira esto.documentación de regexyregex tutorial.)
-
Compruebe que el usuario que está ejecutando el programa (por ejemplo, user=tomcat (?) para Tomcat/ERDDAP) tiene permiso 'leer' para esos archivos.
-
En algunos sistemas operativos (por ejemplo, SELinux) y dependiendo de la configuración del sistema, el usuario que ejecutó el programa debe tener permiso 'leer' para toda la cadena de directorios que conducen al directorio que tiene los archivos.
-
Si tienes problemas que no puedes resolver,Solicitud de apoyocon la mayor información posible. De manera similar, si parece que el EDDType adecuado para un conjunto de datos dado no funciona con ese conjunto de datos, o si no hay EDDType adecuado, por favor, archiva unsobre GitHubcon los detalles (y un archivo de muestra si es relevante) .
Necesita editar la salida de GenerateDatasets Xml para mejorarlo.
-
DESCLAMADOR: EL CHUNK OFdatasets.xmlMADE BE GenerarDatasets Xml no es perfecto. Debes leer y grabar el XML antes de usarlo en una públicaERDDAP. GenerarDatasets Xml RELIES ON A LOT OF RULES-OF-THUMB WHICH AREN'T ALWAYS CORRECT. Usted es RESPONSABLE PARA AUMENTAR LA CORRECCIÓN DEL XML QUE AÑADIR AERDDAP'Sdatasets.xmlSilencio.
(No estoy gritando. Por razones legales históricas, los descargos deben ser escritos en todos los caps.)
La salida de GenerateDatasetsXml es un borrador duro. Casi siempre tendrás que editarlo. Hemos hecho y seguimos haciendo un gran esfuerzo para hacer que la salida sea lo más lista posible, pero hay límites. A menudo, la información necesaria simplemente no está disponible en los metadatos de origen.
Un problema fundamental es que estamos pidiendo un programa informático (GenerarDatasetsXml) para hacer una tarea donde, si le dieras la misma tarea a 100 personas, obtendrías 100 resultados diferentes. No hay una sola respuesta "derecha". Obviamente, el programa se acerca más a leer la mente de Bob (no tuyo) , pero aún así, no es un programa de IA todo-comprendido, sólo un montón de heurísticas adoquinaron juntos para hacer una tarea similar a IA. (Ese día de un programa de IA que todo lo entiende puede venir, pero aún no lo ha hecho. Si/cuando lo hace, los humanos podemos tener problemas mayores. Ten cuidado con lo que deseas.)
-
Para fines informativos, la salida muestra la fuente globalAtributos y fuente variableAtributos como comentarios.ERDDAP™combina fuenteAtributos yaddAttributes (que tienen precedencia) para hacer la combinación Atributos que se muestran al usuario. (Y otros atributos se añaden automáticamente a variables de longitud, latitud, altitud, profundidad y tiempo cuandoERDDAP™realmente hace el conjunto de datos) .
-
Si no te gusta una fuenteAtributo, sobreescribirla añadiendo una adiciónAtributo con el mismo nombre pero un valor diferente (o ningún valor, si quieres eliminarlo) .
-
Todo el mundoaddAttributesson sugerencias generadas por ordenador. ¡Mátalos! Si no te gusta un agregadoAttribute, cámbialo.
-
Si quieres añadir otroaddAttributes, agréguelos.
-
Si quieres cambiar undestinationNameCámbialo. Pero no cambiessourceNames.
-
Puedes cambiar el orden deldataVariables o eliminar cualquiera de ellos.
- Entonces puedes usarDasDds (véase infra) para probar repetidamente el XML para ese conjunto de datos para asegurar que el conjunto de datos resultante aparezca como desee.ERDDAP.
- Siéntete libre de hacer pequeños cambiosdatasets.xmlque se generó, por ejemplo, suministrar un mejorinfoUrl, resumen o título.
noAddStandardNames
Si incluye \-doNotAddStandardNames como parámetro de línea de comandos cuando se ejecuta genera Datasets Xml, genera Datasets Xml no añadirástandard\_namea laaddAttributespara cualquier variables distintas de variables llamadas latitud, longitud, altitud, profundidad o tiempo (que tienenstandard\_names) . Esto puede ser útil si está utilizando la salida de generar Datasets Xml directamente enERDDAP™sin editar la salida, porque genera Datasets Xml suele adivinarstandard\_nameincorrectamente. (Tenga en cuenta que siempre recomendamos que edite la salida antes de usarlo enERDDAP.) Usando este parámetro tendrá otros efectos relacionados menores porque el conjeturadostandard\_namea menudo se utiliza para otros fines, por ejemplo, para crear un nuevolong\_name, y para crear la configuración de colorBar.
Scripting
Como alternativa para responder las preguntas de forma interactiva en el teclado y bucle para generar conjuntos de datos adicionales, puede proporcionar argumentos de línea de comandos para responder a todas las preguntas para generar un conjunto de datos. GenerarDatasets Xml procesará esos parámetros, escribirá la salida al archivo de salida y saldrá del programa.
Para configurar esto, primero utilice el programa en modo interactivo y escriba sus respuestas. Aquí hay un ejemplo parcial: Digamos que ejecuta el script: ./GenerateDatasetsXml.sh Ingrese: EDDTableDesdeAsciiFiles Ingrese: /u00/data/ Entonces entra: Ingrese: /u00/data/sampleFile.asc A continuación, introduzca: ISO-8859-1
Para ejecutar esto de forma no interactiva, utilice esta línea de comandos: ./GenerateDatasetsXml.sh EDDTableDesdeAsciiFiles /u00/data/ .\*\.asc /u00/data/sampleFile.asc ISO-8859-1 Así que básicamente, sólo enumera todas las respuestas en la línea de comandos. Esto debe ser útil para conjuntos de datos que cambian con frecuencia de una manera que requiere re-correr GenerateDatasets Xml (notablementeEDDGridDeThreddsCatalog) .
Detalles:
- Si un parámetro contiene un espacio o algún personaje especial, codifica el parámetro como uncuerda de estilo JSON"Mi parámetro con espacios y dos\nlíneas".
- Si desea especificar una cadena vacía como parámetro, use: nada
- Si desea especificar el valor predeterminado de un parámetro, use: default
- GenerarDatasets Xml soporta a -i conjuntos de datos XmlName # tagName parámetro línea de comandos que inserta la salida en el parámetro especificadodatasets.xmlarchivo (el default tomcat /content/erddap/datasets.xml) . GenerarDatasets Xml busca dos líneas en conjuntos de datos XmlName:
<!-- Begin GenerateDatasetsXml #*tagName someDatetime* -->
y
<!-- End GenerateDatasetsXml #*tagName someDatetime* -->
y reemplaza todo entre esas líneas con el nuevo contenido, y cambia el tiempo de destino.
- El interruptor -i solo se procesa (y cambios endatasets.xmlsólo se hacen) si corres GenerateDatasets Xml con argumentos de línea de comandos que especifican todas las respuestas a todas las preguntas para un bucle del programa. (Ver 'Scripting' arriba.) (El pensamiento es: Este parámetro es para uso con scripts. Si utiliza el programa en modo interactivo (escribiendo información sobre el teclado) , es probable que genere algunos fragmentos incorrectos de XML antes de generar el que desee.)
- Si no se encuentran las líneas de Inicio y Fin, entonces esas líneas y el nuevo contenido se insertan justo antes</erddapDatasets confiar.
- También hay un -I (capital i) interruptor para propósitos de prueba que funciona igual que -i, pero crea un archivo llamadodatasets.xml Fecha y no hace cambios adatasets.xml.
- No corras GenerateDatasets Xml con -i en dos procesos a la vez. Hay una posibilidad de que sólo se mantenga un conjunto de cambios. Puede haber problemas graves. (por ejemplo, archivos dañados) .
Si utiliza "GenerateDatasetsXml -verbose", imprimirá más mensajes de diagnóstico de lo habitual.
Tipos de conjunto de datos especiales/Pseudo
En general, las opciones EDDType en GenerateDatasets Xml match of the EDD types described in this document (ver elLista de tipos de conjunto de datos) y generar unodatasets.xmlpara crear un conjunto de datos de una fuente de datos específica. Existen algunas excepciones y casos especiales:
EDDGridFromErddap
Este EDDType genera todo eldatasets.xmlpedazos necesarios para hacerEDDGridFromErddapconjuntos de datos de todos losEDDGriddatasets in a remoteERDDAP. Usted tendrá la opción de mantener el originaldatasetIDs (que puede duplicar algunosdatasetIDya en tuERDDAP) o generando nuevos nombres que serán únicos (pero generalmente no son tan legibles por el ser humano) .
EDDTableDeErddap
Este EDDType genera todo eldatasets.xmlpedazos necesarios para hacerEDDTableDeErddapconjuntos de datos de todos los conjuntos de datos EDDTable en un remotoERDDAP. Usted tendrá la opción de mantener el originaldatasetIDs (que puede duplicar algunosdatasetIDya en tuERDDAP) o generando nuevos nombres que serán únicos (pero generalmente no son tan legibles por el ser humano) .
EDDGridDeThreddsCatalog
Este EDDType genera todo eldatasets.xmlpedazos necesarios para todos losEDDGridDeDapconjuntos de datos que puede encontrar arrastrando recursivamente a través de un THREDDS (sub) catálogo. Hay muchas formas de URLs del catálogo de THREDDS. Esta opción requiere una URL de THREDDS .xml con /catalog/ en ella, por ejemplo,
https://oceanwatch.pfeg.noaa.gov/thredds/catalog/catalog.xml o
https://oceanwatch.pfeg.noaa.gov/thredds/catalog/Satellite/aggregsatMH/chla/catalog.xml
(a related .html catalog is at
https://oceanwatch.pfeg.noaa.gov/thredds/Satellite/aggregsatMH/chla/catalog.html , que no es aceptable paraEDDGridDeThreddsCatalog).
Si tienes problemas conEDDGridDeThredds Catálogo:
- Asegúrese de que la URL que está utilizando es válida, incluye /catalog/, y termina con /catalog.xml .
- Si es posible, utilice una dirección IP pública (por ejemplo, https://oceanwatch.pfeg.noaa.gov ) en la URL, no una dirección IP numérica local (por ejemplo, https://12.34.56.78 ) . Si los THREDDS sólo son accesibles a través de la dirección IP numérica local, puede utilizar [<convertToPublicSourceUrl] (#converttopublicsourceurl) Así que...ERDDAP™los usuarios ven la dirección pública, aunqueERDDAP™obtiene datos de la dirección numérica local.
- Si tienes problemas que no puedes resolver,comprobar los consejos de solución de problemas.
- El código de bajo nivel para esto ahora utiliza elUnidatanetcdf-java catálogo gateer code (Tredds. Clases de catálogo) para que pueda manejar todos los catálogos de THREDDS (que puede ser sorprendentemente complejo) GraciasUnidatapara ese código.
EDDGridLonPM180DesdeErddapCatalog
Este EDDType genera eldatasets.xmlpara hacerEDDGridLonPM180conjuntos de datos de todos losEDDGriddatasets in anERDDAPque tienen valores de longitud superiores a 180.
- Si es posible, utilice una dirección IP pública (por ejemplo, https://oceanwatch.pfeg.noaa.gov ) en la URL, no una dirección IP numérica local (por ejemplo, https://12.34.56.78 ) . SiERDDAP™sólo es accesible a través de la dirección IP numérica local, puede utilizar [<convertToPublicSourceUrl] (#converttopublicsourceurl) Así que...ERDDAP™los usuarios ven la dirección pública, aunqueERDDAP™obtiene datos de la dirección numérica local.
EDDGridLon0360DesdeErddapCatalog
Este EDDType genera eldatasets.xmlpara hacerEDDGridLon0360conjuntos de datos de todos losEDDGriddatasets in anERDDAPque tienen valores de longitud inferiores a 0.
- Si es posible, utilice una dirección IP pública (por ejemplo, https://oceanwatch.pfeg.noaa.gov ) en la URL, no una dirección IP numérica local (por ejemplo, https://12.34.56.78 ) . SiERDDAP™sólo es accesible a través de la dirección IP numérica local, puede utilizar [<convertToPublicSourceUrl] (#converttopublicsourceurl) Así que...ERDDAP™los usuarios ven la dirección pública, aunqueERDDAP™obtiene datos de la dirección numérica local.
EDDsDeFiles
Dado un directorio inicial, esto atraviesa el directorio y todos los subdirectorios y trata de crear un conjunto de datos para cada grupo de archivos de datos que encuentra.
- Esto supone que cuando se encuentra un conjunto de datos, el conjunto de datos incluye todos los subdirectorios.
- Si se encuentra un conjunto de datos, directorios similares de hermanos serán tratados como conjuntos de datos separados (por ejemplo, los directorios para los años noventa, los 2000, los 2010's, generarán conjuntos de datos separados) . Deberían ser fáciles de combinar a mano -- simplemente cambiar el primer conjunto de datos<fileDir contacto con el directorio padre y eliminar todos los conjuntos de datos de hermanos posteriores.
- Esto sólo tratará de generar un pedazo dedatasets.xmlpara el tipo más común de extensión de archivo en un directorio (no cuenta .md5, que se ignora) . Así que, dado un directorio con 10.ncarchivos y 5 .txt archivos, se generará un conjunto de datos para el.ncSólo archivos.
- Esto supone que todos los archivos en un directorio con la misma extensión pertenecen al mismo conjunto de datos. Si un directorio tiene algunos.ncarchivos con datos SST y algunos.ncarchivos con datos de clorofila, solo una muestra.ncarchivo será leído (¿SST? ¿Clorofila?) y sólo se creará un conjunto de datos para ese tipo de archivo. Ese conjunto de datos probablemente no se cargará debido a las complicaciones de intentar cargar dos tipos de archivos en el mismo conjunto de datos.
- Si hay menos de 4 archivos con la extensión más común en un directorio, esto supone que no son archivos de datos y simplemente salta el directorio.
- Si hay 4 o más archivos en un directorio, pero esto no puede generar con éxitodatasets.xmlpara los archivos (por ejemplo, un tipo de archivo sin soporte) , esto generará unEDDTableDesdeFileNamesDataset para los archivos.
- Al final del diagnóstico que esto escribe al archivo de registro, justo antes deldatasets.xmlpedazos, esto imprimirá una tabla con un resumen de la información reunida por el rastreo de todos los subdirectorios. La tabla enumerará cada subdirectorio e indicará el tipo más común de extensión de archivo, el número total de archivos, y qué tipo de conjunto de datos se creó para estos archivos (si) . Si te enfrentas a una estructura de archivos compleja y profundamente anidada, considera correr GenerateDatasets Xml con EDDType=EDDsDeFiles sólo para generar esta información,
- Esta opción puede no hacer un gran trabajo de adivinar el mejor EDDType para un grupo dado de archivos de datos, pero es rápido, fácil y vale la pena intentarlo. Si los archivos fuente son adecuados, funciona bien y es un buen primer paso en generar eldatasets.xmlpara un sistema de archivos con un montón de subdirectorios, cada uno con archivos de datos de diferentes conjuntos de datos.
EDDTableDeEML y EDDTableDeEMLBatch
Este EDDType especial genera eldatasets.xmlpara hacer unaEDDTableDesde el aeropuertodataset de cada una de las tablas descritasEcological Metadata LanguageArchivo XML. La variante "Batch" funciona en todos los archivos EML en un directorio local o remoto. Por favor, vea el separadodocumentación para EDDTableDesdeEML.
EDDTableDesde InPort
Este EDDType especial genera eldatasets.xmlpara hacer unaEDDTableDesde el aeropuertodataset desde la información en uninport-xmlarchivo. Si puede acceder al archivo de datos fuente (el archivo inport-xml debe tener pistas para dónde encontrarlo) , puede hacer un conjunto de datos de trabajo enERDDAP.
Los siguientes pasos describen cómo utilizar GenerateDatasets Xml con un archivo inport-xml para obtener un conjunto de datos de trabajo enERDDAP.
- Una vez que tenga acceso al archivo inport-xml (ya sea como una URL o un archivo local) : ejecutar GenerateDatasets Xml, especifique EDDType=EDDTableDesdeInPort, especifique la URL inport-xml o nombre completo de archivo, especifique quéChild=0, y especifique la otra información solicitada (si se sabe) . (En este punto, usted no necesita tener el archivo de datos fuente o especificar su nombre.) El ajuste queChild=0 dice GenerarDatasets Xml para escribir la información para Todos de la<entidad-atributo-información<en el archivo inport-xml (si hay alguna) . También imprime un resumen de información de antecedentes, incluyendo todos los datos de descarga listados en el archivo inport-xml.
- Mira toda esa información (incluyendo la información de fondo que GeneraDatasets Impresión Xml) y visitar la descarga-url (s) para tratar de encontrar el archivo de datos fuente (s) . Si puedes encontrarlo (ellos) , descargarlo (ellos) en un directorio que es accesibleERDDAP. (Si no puede encontrar ningún archivo de datos fuente, no hay punto en proceder.)
- Run Generate Datasets Otra vez Xml. Si el archivo de datos fuente corresponde a uno del archivo inport-xml<entidad-atributo-información<entidad título, especificar qué niño= queEntity'sNumber (por ejemplo, 1, 2, 3, ...) .ERDDAP™intentará igualar los nombres de las columnas en el archivo de datos fuente a los nombres de la información de la entidad, y pedirá que acepte/rechate/fijo cualquier discrepancia. O, si el archivo inport-xml no tiene ninguna<entidad-atributo-información<entidad título, especifique qué niño=0.
- En el pedazo dedatasets.xmlque fue hecho por GenerateDatasets Xml, revisa el [global]<addAttributes> (#global-atributos) según sea necesario o deseado.
- En el pedazo dedatasets.xmlque fue hecho por GenerateDatasetsXml, añadir/revise el [<dataVariable> (#datavariable) información según sea necesario o deseada para describir cada una de las variables. Asegúrese de identificar correctamente cada variable [<sourceName> (#sourcename) (como aparece en la fuente) , [<destinationName> (#Destino) (que tiene más limitaciones en caracteres permitidos quesourceName) , [<unidades] (#unidades) (especialmente si es untiempo o temporizador variabledonde las unidades necesitan especificar el formato) , y [<missing\_value> (#missing_value) ,
- Cuando estés cerca de terminar, usa repetidamente elDasDdsherramienta para ver rápidamente si la descripción del conjunto de datos es válida y si el conjunto de datos aparecerá enERDDAP™como quieras.
Sería genial si los grupos que utilizan InPort para documentar sus conjuntos de datos también utilizaranERDDAP™para poner los datos efectivos disponibles:
- ERDDAP™es una solución que se puede utilizar ahora mismo para que pueda cumplirNOAA'sAcceso público a resultados de investigación (PARR) necesidadesahora mismo, no en un momento vago en el futuro.
- ERDDAP™hace que los datos reales estén disponibles para los usuarios, no sólo los metadatos. (¿Qué bien son los metadatos sin datos?)
- ERDDAP™soporta metadatos (en particular, las unidades de variables) , a diferencia de otros software del servidor de datos que se están considerando. (¿Qué bien son los datos sin metadatos?) Utilizar software que no admite metadatos es invitar a los datos a ser malinterpretados y mal utilizados.
- ERDDAP™es software libre y de código abierto a diferencia de otros software que se están considerando. Desarrollo permanenteERDDAP™ya está pagado. ApoyoERDDAP™Los usuarios son libres.
- ERDDAP's apariencia se puede personalizar fácilmente para reflejar y resaltar su grupo (noERDoERDDAP) .
- ERDDAP™ofrece una manera consistente de acceder a todos los conjuntos de datos.
- ERDDAP™puede leer datos de muchos tipos de archivos de datos y de bases de datos relacionales.
- ERDDAP™puede tratar con grandes conjuntos de datos, incluyendo conjuntos de datos donde los datos de la fuente están en muchos archivos de datos.
- ERDDAP™puede escribir datos a muchos tipos de archivos de datos, a petición del usuario, incluyendo tipos de archivos de datos científicos como netCDF, ESRI .csv, yODV .txt.
- ERDDAP™puede hacer gráficos y mapas personalizados de subconjuntos de los datos, basados en las especificaciones del usuario.
- ERDDAP™puede tratar con conjuntos de datos no data, como colecciones de archivos de imagen, vídeo o audio.
- ERDDAP™ha sido instalado y utilizado enmás de 60 instituciones en todo el mundo.
- ERDDAP™se enumera como uno de los servidores de datos recomendados para uso dentroNOAAen elNOAAData Access Procedural Directive, a diferencia de que se está considerando otro software.
- ERDDAP™es un producto deNMFS/NOAA, así que utilizarlo dentroNMFSyNOAAdebe ser un punto de orgullo paraNMFSyNOAA.
Por favor.ERDDAP™un intento. Si necesita ayuda, por favor envíe un mensaje en elERDDAP™Grupo de Google.
addFillValueAttributes
Esta opción especial EDDType no es un tipo de conjunto de datos. Es una herramienta que puede añadir atributos \_FillValue a algunas variables en algunos conjuntos de datos. SeeaddFillValueAttributes.
encontrarDuplicar Hora
Esta opción especial EDDType no es un tipo de conjunto de datos. En lugar de eso, dice GenerarDatasets Xml para buscar a través de una colección de rejillas.nc (y conexas) archivos para encontrar e imprimir una lista de archivos con valores de tiempo duplicados. Cuando mira los valores de tiempo, los convierte de las unidades originales a"seconds since 1970-01-01"en caso de que diferentes archivos usen diferentes cadenas de unidades. Necesitas proporcionar el directorio inicial (con o sin la barra de seguimiento) , el nombre del archivo expresión regular (por ejemplo,.nc ) , y el nombre de la variable de tiempo en los archivos.
ncdump
Esta opción especial EDDType no es un tipo de conjunto de datos. En lugar de eso, dice GenerarDatasets Xml para imprimirncdump\-como impresión de una.nc,.ncml o.hdfarchivo. En realidad utiliza el netcdf-javaNCdump, que es una herramienta más limitada que la versión C de NCdump. Si utiliza esta opción, GenerateDatasetsXml le pedirá que utilice una de las opciones: "-h" (header) , "c" (coordenadas) , "vall" (por defecto) , "-v var1;var2", "-v var1 (0,010,0:20) ". Esto es útil porque, sin ncdump, es difícil saber lo que hay en un.nc,.ncml o.hdfarchivo y por lo tanto qué EDDType debe especificar para GenerateDatasets Xml. Para un.ncarchivo ml, esto imprimirá la salida ncdump para el resultado del.nccambios de archivo de ml aplicados a la.nco.hdfarchivo.
DasDds
- DasDds es un programa de línea de comandos que puede utilizar después de haber creado un primer intento en el XML para un nuevo conjunto de datos endatasets.xml. Con DasDds, puede probar y perfeccionar repetidamente el XML. Cuando utiliza el programa DasDds:
- En Windows, la primera vez que ejecuta DasDds, necesita editar los DasDds. archivo de murciélago con un editor de texto para cambiar la ruta hacia el java. archivo exe para que Windows pueda encontrarJava.
- DasDds te pregunta por eldatasetIDpara el conjunto de datos en el que está trabajando.
- DasDds intenta crear el conjunto de datos con esodatasetID.
- DasDds siempre imprime muchos mensajes de diagnóstico. Si utiliza "DasDds -verbose", DasDds imprimirá más mensajes de diagnóstico de lo habitual.
- Para seguridad, DasDds siempre elimina toda la información de conjunto de datos caché (archivos) para el conjunto de datos antes de intentar crear el conjunto de datos. Este es el equivalente de establecer unbandera duraAsí que para conjuntos de datos agregados, es posible que desee ajustar el archivoNameRegex temporalmente para limitar el número de archivos que el constructor de datos encuentra.
- Si el conjunto de datos no se carga (por cualquier razón) , DasDds parará y le mostrará el mensaje de error para el primer error que encuentra.
No intentes adivinar cuál es el problema. Lea cuidadosamente el mensaje ERROR.
Si es necesario, lea los mensajes diagnósticos anteriores para encontrar más pistas e información, también. - Haga un cambio en el XML del conjunto de datos para tratar de resolver ese problema
y dejar que DasDds trate de crear el conjunto de datos de nuevo. - Si repetidamente resuelves cada problema, eventualmente resolverás todos los problemas
y el conjunto de datos se cargará.
- Todos los DasDds salida (diagnóstico y resultados) están escritos a la pantalla y a bigParentDirectory /logs/DasDds.log .
- Si DasDds puede crear el conjunto de datos, DasDds le mostrará el.das (Dataset Attribute Structure) ,.dds (Descriptor de Dataset Estructura) , y.timeGaps (deficiencias del tiempo) información para el conjunto de datos en su pantalla y escríbalos a bigParentDirectory /logs/DasDds.out .
- A menudo, usted querrá hacer un pequeño cambio en el XML del conjunto de datos para limpiar los metadatos del conjunto de datos y recorar DasDds.
Bono Third-Party Tool:ERDDAP- No.
ERDDAP-lint es un programa de Rob Fuller y Adam Leadbetter del Instituto Marino Irlandés que usted puede utilizar para mejorar los metadatos de suERDDAP™Datasets.ERDDAP-incluye "contiene reglas y una simple aplicación web estática para realizar algunas pruebas de verificación contra suERDDAP™servidor. Todas las pruebas se ejecutan en el navegador web." Como elHerramienta Unix/Linux lint, puede editar las reglas existentes o añadir nuevas reglas. SeeERDDAP- No.para más información.
Esta herramienta es especialmente útil para conjuntos de datos que creaste hace algún tiempo y ahora quieres actualizar tus preferencias de metadatos actuales. Por ejemplo, versiones tempranas de GenerateDatasets Xml no puso ningún esfuerzo en crear globalcreator\_name,creator\_email, creador\_tipo, ocreator\_urlmetadatos. Podrías usarERDDAP- Insinúa identificar los conjuntos de datos que carecen de esos atributos de metadatos.
Gracias a Rob y Adam por crear esta herramienta y ponerla a disposición de laERDDAP™comunidad.
La estructura básica de ladatasets.xmlArchivo
Las etiquetas requeridas y opcionales permitidas en undatasets.xmlarchivo (y el número de veces que pueden aparecer) se muestran a continuación. En la práctica, tudatasets.xmltendrá muchos<etiquetas de dataset iconos y sólo utilizar las otras etiquetas dentro<erddapDatasets confiar según sea necesario.
<?xml version="1.0" encoding="ISO-8859-1" ?>
<erddapDatasets>
<angularDegreeUnits>...</angularDegreeUnits> <!-- 0 or 1 -->
<angularDegreeTrueUnits>...</angularDegreeTrueUnits> <!-- 0 or 1 -->
<cacheMinutes>...</cacheMinutes> <!-- 0 or 1 -->
<commonStandardNames>...</commonStandardNames> <!-- 0 or 1 -->
<convertInterpolateRequestCSVExample /> <!-- 0 or more -->
<convertInterpolateDatasetIDVariableList /> <!-- 0 or more -->
<convertToPublicSourceUrl /> <!-- 0 or more -->
<decompressedCacheMaxGB>...</decompressedCacheMaxGB> <!-- 0 or 1 -->
<decompressedCacheMaxMinutesOld>...</decompressedCacheMaxMinutesOld> <!-- 0 or 1 -->
<drawLandMask>...</drawLandMask> <!-- 0 or 1 -->
<emailDiagnosticsToErdData>...</emailDiagnosticsToErdData> <!-- 0 or 1 -->
<graphBackgroundColor>...</graphBackgroundColor> <!-- 0 or 1 -->
<ipAddressMaxRequests>...</ipAddressMaxRequests> <!-- 0 or 1 -->
<ipAddressMaxRequestsActive>...<ipAddressMaxRequestsActive> <!-- 0 or 1 -->
<ipAddressUnlimited>...<ipAddressUnlimited> <!-- 0 or 1 -->
<loadDatasetsMinMinutes>...</loadDatasetsMinMinutes> <!-- 0 or 1 -->
<loadDatasetsMaxMinutes>...</loadDatasetsMaxMinutes> <!-- 0 or 1 -->
<logLevel>...</logLevel> <!-- 0 or 1 -->
<nGridThreads>...</nGridThreads> <!-- 0 or 1 -->
<nTableThreads>...</nTableThreads> <!-- 0 or 1 -->
<palettes>...</palettes> <!-- 0 or 1 -->
<partialRequestMaxBytes>...</partialRequestMaxBytes> <!-- 0 or 1 -->
<partialRequestMaxCells>...</partialRequestMaxCells> <!-- 0 or 1 -->
<requestBlacklist>...</requestBlacklist> <!-- 0 or 1 -->
<slowDownTroubleMillis>...</slowDownTroubleMillis> <!-- 0 or 1 -->
<subscriptionEmailBlacklist>...</subscriptionEmailBlacklist> <!-- 0 or 1 -->
<unusualActivity>...</unusualActivity> <!-- 0 or 1 -->
<updateMaxEvents>...</updateMaxEvents> <!-- 0 or 1 --><standardLicense>...</standardLicense> <!-- 0 or 1 -->
<standardContact>...</standardContact> <!-- 0 or 1 -->
<standardDataLicenses>...</standardDataLicenses> <!-- 0 or 1 -->
<standardDisclaimerOfEndorsement>...</standardDisclaimerOfEndorsement> <!-- 0 or 1 -->
<standardDisclaimerOfExternalLinks>...</standardDisclaimerOfExternalLinks> <!-- 0 or 1 -->
<standardGeneralDisclaimer>...</standardGeneralDisclaimer> <!-- 0 or 1 -->
<standardPrivacyPolicy>...</standardPrivacyPolicy> <!-- 0 or 1 -->
<startHeadHtml5>...</startHeadHtml5> <!-- 0 or 1 -->
<startBodyHtml5>...</startBodyHtml5> <!-- 0 or 1 -->
<theShortDescriptionHtml>...</theShortDescriptionHtml> <!-- 0 or 1 -->
<endBodyHtml5>...</endBodyHtml5> <!-- 0 or 1 --><user username="..." password="..." roles="..." /> <!-- 0 or more -->
<dataset>...</dataset> <!-- 1 or more -->
</erddapDatasets>
Es posible que otras codificación se permitan en el futuro, pero por ahora sólo se recomienda ISO-8859-1.
XInclude
Nuevo en la versión 2.25 es soporte para XInclude. Esto requiere que usted está usando el parser SAX<useSaxParser</useSaxParser confianza en su setup.xml. Esto puede permitirle escribir cada conjunto de datos en su propio archivo, luego incluirlos todos en el principaldatasets.xml, reutilizar partes de las definiciones de conjunto de datos, o ambas. Si quieres ver un ejemplo,EDDTestDataset.javaestablece XInclude para reutilizar las definiciones variables.
Notas
Trabajando con eldatasets.xmlarchivo es un proyecto no-trivial. Por favor lea atentamente todas estas notas. Después de elegir unTipo de dataset, por favor lea la descripción detallada de ella cuidadosamente.
Elegir el tipo Dataset
En la mayoría de los casos, sólo hay unoERDDAP™tipo de conjunto de datos que es apropiado para una fuente de datos determinada. En algunos casos (por ejemplo,.ncarchivos) , hay algunas posibilidades, pero generalmente uno de ellos es definitivamente mejor. La primera y mayor decisión que debe tomar es: es apropiado tratar el conjunto de datos como un grupo de arrays multidimensionales (si es así verEDDGridtipos de conjunto de datos) o como un cuadro de datos similar a la base de datos (si es así verTipos de conjunto de datos) .
Servir los datos como es
Por lo general, no hay necesidad de modificar la fuente de datos (por ejemplo, convertir los archivos a otro tipo de archivo) asíERDDAP™puede servirlo. Una de las hipótesis deERDDAP™es que la fuente de datos se utilizará como es. Normalmente esto funciona bien. Algunas excepciones son:
- Bases de datos relacionales y Cassandra --ERDDAP™puede servir datos directamente desde bases de datos relacionales y Cassandra. Pero para cuestiones de seguridad, equilibrio de carga y rendimiento, puede optar por configurar otra base de datos con los mismos datos o guardar los datos paraNetCDFv3.ncarchivos y tienenERDDAP™servir los datos de la nueva fuente de datos. SeeEDDTableDesde la base de datosyEDDTableDesdeCassandra.
- Fuentes de datos no respaldadas --ERDDAP™puede soportar un gran número de fuentes de datos, pero el mundo está lleno de 1000 (¿En millones?) de diferentes fuentes de datos (notablemente, estructuras de archivos de datos) . SiERDDAP™no soporta su fuente de datos:
- Si la fuente de datos esNetCDF .ncarchivos, puede utilizarNcMLpara modificar los archivos de datos sobre la marcha, o utilizarNCOpara modificar permanentemente los archivos de datos.
- Puede escribir los datos a un tipo de fuente de datos queERDDAP™soportes.NetCDF-3.ncarchivos son una buena, recomendación general porque son archivos binarios queERDDAP™puede leer muy rápidamente. Para datos tabulares, considere almacenar los datos en una colección de.ncarchivos que utilizanCF Geometrías de muestreo discretos (DSG) Contiguous Ragged Array estructuras de datos y así se puede manejar conERDDAP'sEDDTableDesdeNcCFFiles). Si se organizan lógicamente (cada uno con datos para un trozo de espacio y tiempo) ,ERDDAP™puede extraer datos de ellos muy rápidamente.
- Puede solicitar que se añada soporte para esa fuente de datosERDDAP™por correo electrónico a Chris. John en Noaa.gov.
- Puede agregar soporte para esa fuente de datos escribiendo el código para manejarlo usted mismo. SeeelERDDAP™Guía del programador
- Velocidad...ERDDAP™puede leer datos de algunas fuentes de datos mucho más rápido que otros. Por ejemplo, la lecturaNetCDFv3.ncarchivos es rápido y leer archivos ASCII es más lento. Y si hay un gran (■1000) o enorme (√10,000) número de archivos de datos de origen,ERDDAP™responderá a algunas solicitudes de datos lentamente. Normalmente, la diferencia no es perceptible para los humanos. Sin embargo, si piensasERDDAP™es lento para un conjunto de datos dado, puede elegir resolver el problema escribiendo los datos a una configuración más eficiente (generalmente: unos pocos, bien estructurados,NetCDFv3.ncarchivos) . Para datos tabulares, consulteeste consejo.
Hint
A menudo es más fácil generar el XML para un conjunto de datos haciendo una copia de una descripción de conjunto de datos de trabajo en dataset.xml y luego modificarlo.
Codificación de caracteres especiales
Desdedatasets.xmles un archivo XML, debes" código"Tío"<", y "conejo" en cualquier contenido como "pacamp", "<", y "condenado". Incorrecto:<título Tiempo " mareas</title Bien.<título Tiempo y mareas</title
XML no tolera errores de sintaxis
Después de editar el archivo dataset.xml, es una buena idea verificar que el resultado esXML bien formadopegando el texto XML en un chequeador XML comoxmlvalidación.
Consejos de solución de problemas
- Otras maneras de diagnosticar problemas con los conjuntos de datos
Además de los dos principalesHerramientas, - log.txtes un archivo de registro con todoERDDAPEs mensajes de diagnóstico.
- ElDaily Reporttiene más información que la página de estado, incluyendo una lista de conjuntos de datos que no cargaron y las excepciones (errores) generaron.
- ElPáginaes una manera rápida de comprobarERDDAP's estado de cualquier navegador web. Incluye una lista de conjuntos de datos que no cargaron (aunque no las excepciones conexas) y la tarea (mostrando el progresoEDDGridCopiadoyEDDTableCopyconjuntos de datos y cualquierEDDGridDeFilesoEDDTableDeFilesconjuntos de datos que utilizancacheDesde el aeropuerto (pero no cache SizeGB) ) .
- Si te atascas, veamos nuestrasección sobre la obtención de apoyo adicional.
Variables especiales
- La longitud, latitud, altitud (o profundidad) , y tiempo (LLAT) variable destinationNames son especiales.
- En general:
- Las variables LLAT se hacen conocidasERDDAP™si la variable del eje (paraEDDGridconjuntos de datos) o variable de datos (para conjuntos de datos EDDTable) destinationNamees "longitud", "latitud", "altitud", " profundidad", o"time".
- Le animamos firmemente a utilizar estos nombres estándar para estas variables siempre que sea posible. Ninguno de ellos es requerido. Si no usa estos nombres de variables especiales,ERDDAP™No reconocerá su significado. Por ejemplo, las variables LLAT son tratadas especialmente por Make A Graph ( datasetID .graph) : si la variable X Axis es "longitud" y la variable Y Axis es "latitud", obtendrás un mapa (usando una proyección estándar, y con una máscara de tierra, límites políticos, etc.) en lugar de un gráfico.
- ERDDAP™añadirá automáticamente un montón de metadatos a variables LLAT (por ejemplo, "ioos\_category", "unidades", y varios atributos relacionados con estándares como "\_CoordinateAxisType") .
- ERDDAP™añadirá automáticamente muchos metadatos globales relacionados con los valores LLAT del subconjunto de datos seleccionado (por ejemplo, "geospacial\_lon\_min") .
- Los clientes que apoyen estos estándares de metadatos podrán aprovechar los metadatos añadidos para posicionar los datos en tiempo y espacio.
- Los clientes encontrarán más fácil generar consultas que incluyen variables LLAT porque los nombres de la variable son los mismos en todos los conjuntos de datos relevantes.
- Para la variable "longitud" y la variable "latitud":
- Usar eldestinationName"longitud" y "latitud" sólo siunidadesson grados y grados, respectivamente. Si sus datos no se ajustan a estos requisitos, utilice diferentes nombres variables (por ejemplo, x, y, lonRadians, latRadians) .
- Si tiene datos de longitud y latitud expresados en diferentes unidades y por lo tanto con diferentesdestinationNames, por ejemplo, lonRadians y latRadians, Hacer un Gráfico ( datasetID .graph) hará gráficos (por ejemplo, series temporales) en lugar de mapas.
- Para la variable "altitud" y la variable " profunda":
- Usar eldestinationName"altitud" para identificar la distancia de los datos sobre el nivel del mar (valores positivos="up") . Opcionalmente, puede utilizar "altitud" para distancias por debajo del nivel del mar si los valores son negativos por debajo del mar (o si utiliza, por ejemplo, [<Anombre=scale\_factor" type="int" 1</att] (#scale_factor) convertir valores de profundidad en valores de altitud.
- Usar eldestinationName"de profundidad" para identificar la distancia de los datos por debajo del nivel del mar (valores positivos="abajo") .
- Un conjunto de datos puede no tener variables tanto "altitud" como " profundidad".
- Para estos nombres variables,unidadesdebe ser "m", "meter", o "meters". Si las unidades son diferentes (por ejemplo, fathoms) , puedes usar [<Anombre=scale\_factor" algunos Valor </att] (#scale_factor) y [<att name="units"</att] (#unidades) para convertir las unidades a metros.
- Si sus datos no se ajustan a estos requisitos, utilice otrodestinationName (por ejemplo, sobreGround, distancia ToBottom) .
- Si conoce el CRS vertical por favor especifiquelo en los metadatos, por ejemplo, "EPSG:5829" (altura instantánea por encima del nivel del mar) , "EPSG:5831" (profundidad instantánea por debajo del nivel del mar) , o "EPSG:5703" (Altura NAVD88) .
- Para el"time"variable:
- Usar eldestinationName "time"sólo para variables que incluyen la fecha completa + tiempo (o fecha, si eso es todo) . Si, por ejemplo, hay columnas separadas para fecha y horaOfDay, no utilice el nombre variable"time".
- Seeunidadespara más información sobre el atributo de unidades para el tiempo y las variables TimeStamp.
- La variable de tiempo y relacionadatiempo Variables de muestreoson únicos en que siempre convierten valores de datos del formato de tiempo de la fuente (lo que sea) en un valor numérico (segundos desde 1970-01-01T00:00Z) o un valor de String (ISO 8601:2004 (E) formato) , dependiendo de la situación.
- Cuando un usuario solicita datos de tiempo, puede solicitarlo especificando el tiempo como valor numérico (segundos desde 1970-01-01T00:00Z) o un valor de String (ISO 8601:2004 (E) formato) .
- ERDDAP™tiene una utilidadConvertir un Numeric Tiempo para/desde un tiempo de cuerda.
- SeeCómoERDDAPTratos con el tiempo.
¿Por qué sólo dos estructuras básicas de datos?
- Puesto que es difícil para los clientes humanos y los clientes informáticos tratar con un conjunto complejo de posibles estructuras de conjunto de datos,ERDDAP™utiliza sólo dos estructuras de datos básicas:
- aEstructura de los datos redondeados (por ejemplo, para datos satelitales y datos modelo) y
- aestructura de datos tabulares (por ejemplo, para datos de boya, estación y trayectoria in situ) .
- Ciertamente, no todos los datos se pueden expresar en estas estructuras, pero gran parte de ella puede. Los cuadros, en particular, son estructuras de datos muy flexibles (ver el éxito de los programas de bases de datos relacionales) .
- Esto hace que las consultas de datos sean más fáciles de construir.
- Esto hace que las respuestas de datos tengan una estructura simple, lo que hace más fácil servir los datos en una variedad más amplia de tipos de archivos estándar (que a menudo sólo soporta estructuras de datos simples) . Esta es la razón principal por la que hemos establecidoERDDAP™Por aquí.
- Esto, a su vez, nos hace muy fácil (o cualquiera) para escribir software cliente que funciona con todosERDDAP™Datasets.
- Esto facilita la comparación de datos de diferentes fuentes.
- Somos muy conscientes de que si usted está acostumbrado a trabajar con datos en otras estructuras de datos puede pensar inicialmente que este enfoque es simplista o insuficiente. Pero todas las estructuras de datos tienen compensaciones. Ninguno es perfecto. Incluso las estructuras do-it-all tienen sus desventajas: trabajar con ellas es complejo y los archivos sólo se pueden escribir o leer con bibliotecas de software especiales. Si aceptasERDDAP's acercamiento suficiente para tratar de trabajar con él, usted puede encontrar que tiene sus ventajas (en particular el soporte para múltiples tipos de archivos que pueden contener las respuestas de datos) . ElERDDAP™show de diapositivas (en particularestructuras de datos) habla mucho sobre estos problemas.
- E incluso si este enfoque suena extraño para ti, la mayoríaERDDAP™clientes nunca se darán cuenta -- simplemente verán que todos los conjuntos de datos tienen una estructura simple agradable y estarán agradecidos de que pueden obtener datos de una amplia variedad de fuentes devueltas en una amplia variedad de formatos de archivos.
Dimensiones
- ¿Y si las variables de cuadrícula en el conjunto de datos fuente no comparten las mismas variables de eje?
InEDDGridconjuntos de datos, todas las variables de datos (parte) todas las variables del eje. Así que si un conjunto de datos fuente tiene algunas variables con un conjunto de dimensiones, y otras variables con un conjunto diferente de dimensiones, tendrá que hacer dos conjuntos de datos enERDDAP. Por ejemplo, usted podría hacer unoERDDAP™conjunto de datos titulado "Some Title (en la superficie) "para mantener variables que solo utilizan\[tiempo\]\[latitud\]\[longitud\]dimensiones y hacer otraERDDAP™conjunto de datos titulado "Some Title (a profundidades) "para mantener las variables que usan\[tiempo\]\[altitud\]\[latitud\]\[longitud\]. O tal vez puede cambiar la fuente de datos para añadir una dimensión con un solo valor (por ejemplo, altitud=0) para hacer las variables consistentes.
ERDDAP™no maneja conjuntos de datos más complicados (por ejemplo, modelos que usan una malla de triángulos) Bueno. Puede servir estos conjuntos de datos enERDDAP™creando dos o más conjuntos de datosERDDAP™ (para que todas las variables de datos en cada nuevo conjunto de datos compartan el mismo conjunto de variables de eje) , pero eso no es lo que los usuarios quieren. Para algunos conjuntos de datos, usted podría considerar la posibilidad de hacer una versión regular rejillada del conjunto de datos y ofrecer que además de los datos originales. Algunos software cliente sólo pueden tratar con una red regular, por lo que al hacer esto, se llega a clientes adicionales.
Datos recubridos previstos
Algunos datos redondeados tienen una estructura compleja. Por ejemplo, nivel de satélite 2 ("un largo camino") los datos no utilizan una proyección simple. Modelos (y otros) a menudo trabajan con datos redondeados sobre varias proyecciones no cilíndricas (por ejemplo, conic, estereográfico polar, tripolar) o en redes no estructuradas (una estructura de datos más compleja) . Algunos usuarios finales quieren estos datos como es, por lo que no hay pérdida de información. Para esos clientes,ERDDAP™puede servir los datos, como es, sólo siERDDAP™administrador rompe el conjunto de datos original en unos pocos conjuntos de datos, con cada parte incluyendo variables que comparten las mismas variables de eje. Sí, eso parece extraño para las personas involucradas y es diferente de la mayoríaOPeNDAPservidores. Pero...ERDDAP™enfatiza poner los datos disponibles en muchos formatos. Eso es posible porqueERDDAP™utiliza/requiere una estructura de datos más uniforme. Aunque es un poco incómodo (i.e., diferente de lo esperado) ,ERDDAP™puede distribuir los datos proyectados.
\[Sí,ERDDAP™podría tener requisitos más bajos para la estructura de datos, pero mantener los requisitos para los formatos de salida. Pero eso llevaría a confusión entre muchos usuarios, especialmente novatos, ya que muchas solicitudes aparentemente válidas de datos con diferentes estructuras serían inválidas porque los datos no encajarían en el tipo de archivo. Continuamos volviendo al diseño del sistema actual.\]
Algunos usuarios finales quieren datos en una proyección cilíndrica lat lon como Equirectangular / placa carrée o Mercator) para facilitar el uso en diferentes situaciones. Para estas situaciones, animamos a losERDDAP™administrador para utilizar otro software (NCO?Matlab? ¿R? IDV? ...?) para volver a proyectar los datos sobre una (Proyección equirectangular / placa carrée) u otra proyección cilíndrica y servir esa forma de los datos enERDDAP™como un conjunto de datos diferente. Esto es similar a lo que hacen las personas cuando convierten datos de nivel 2 de satélite en datos de nivel 3. Una de esas herramientas esNCOque ofrece opciones de extensión para regridding data.
GIS and Reprojecting Data
Dado que el mundo del SIG suele estar orientado al mapa, los programas del SIG suelen ofrecer apoyo para reestructurar los datos, es decir, trazar los datos en un mapa con una proyección diferente.
Actualmente,ERDDAP™no tiene herramientas para replantear datos. En su lugar, le recomendamos que utilice una herramienta externa para hacer una variante del conjunto de datos, donde los datos han sido reproyectos de su forma original en una forma rectangular (longitud de latitud) array adecuado paraERDDAP.
En nuestra opinión, el CF/DAPel mundo es un poco diferente al mundo del SIG y funciona a un nivel ligeramente inferior.ERDDAP™refleja eso. En general,ERDDAP™está diseñado para trabajar principalmente con datos (no mapas) y no quiere cambiar (por ejemplo, reproyecto) esos datos. ParaERDDAP™, los datos redondeados se asocian a menudo/usualmente/preferiblemente con valores de lat lon y una proyección cilíndrica, y no algunos valores x,y de la proyección. En cualquier caso,ERDDAP™no hace nada con la proyección de los datos; simplemente pasa los datos a través, como es, con su proyección actual, sobre la teoría de que una reproyección es un cambio significativo a los datos yERDDAP™no quiere involucrarse con cambios significativos. Además, los usuarios posteriores podrían volver a proyectar ingenuamente los datos de nuevo, lo que no sería tan bueno como hacer una reproyección. (Así que, si elERDDAP™administrador quiere ofrecer los datos en una proyección diferente, bien; sólo reproyecto los datos fuera de línea y ofrecer que como un conjunto de datos diferente enERDDAP. Se ofrecen muchos conjuntos de datos basados en satélites como lo que la NASA llama Nivel 2 (Swath) y como Nivel 3 (Proyección equirectangular) versiones.) CuandoERDDAP™hace mapas (directamente o víaWMSo KML) ,ERDDAP™Actualmente sólo ofrece hacer mapas con la proyección Equirectangular / plate carrée que, afortunadamente, es aceptada por la mayoría de los programas de mapeo.
AlentamosERDDAP™administradores para utilizar algún otro software (NCO?Matlab? ¿R? IDV? ...?) para volver a proyectar los datos sobre una (Proyección equirectangular / placa carrée) u otra proyección cilíndrica y servir esa forma de los datos enERDDAP™como un conjunto de datos diferente. Esto es similar a lo que hacen las personas cuando convierten datos de nivel 2 de satélite en datos de nivel 3. Una de esas herramientas esNCOque ofrece opciones de extensión para regridding data.
Esperamos queERDDAP™tendrá herramientas integradas para ofrecer mapas con otras proyecciones en el futuro. También esperamos tener mejores conexiones con el mundo del SIG en el futuro (fuera de la corrienteWMSservicio) . Es terrible que en este mundo "moderno", los vínculos entre el CF/DAPel mundo y el mundo del SIG siguen siendo tan débiles. Ambas cosas están en la lista To Do. (Si quieres ayudar, en particular con la conexiónERDDAP™a MapServer, por favor envía un correo electrónico a Chris. John en Noaa.gov.)
Tipos de datos
ERDDAP™soporta los siguientes tipos de datos (los nombres son sensibles a los casos;'u'prefijo significa "no firmado"; el número de nombres en otros sistemas es el número de bits) :
byte
- byte ha firmado valores enteros con una gama de -128 a 127. En otros sistemas, esto a veces se llama int8. Esto se llama "tinyint" por SQL y Cassandra. ERDDAP™convertidosbooleande algunas fuentes (por ejemplo, SQL y Cassandra) en bytesERDDAP™con un valor de 0=falso, 1=verdad, y 127=missing\_value.
ubyte
- ubyte tiene valores enteros sin firmar con una gama de 0 a 255. En otros sistemas, esto a veces se llama uint8.
corto
- corto ha firmado valores enteros con una gama de -32768 a 32767. En otros sistemas, esto a veces se llama int16. Esto se llama "smallint" por SQL y Cassandra.
ushort
- ushort tiene valores enteros sin firmar con una gama de 0 a 65535. En otros sistemas, esto se llama a veces uint16.
int
- int ha firmado valores enteros con una gama de -2147483648 a 2147483647. En otros sistemas, esto a veces se llama int32. Esto se llama "integer"|numérico (?) "por SQL y "int" por Cassandra.
Uint
- Uint tiene valores enteros sin firmar con una gama de 0 a 4294967295. En otros sistemas, esto se llama a veces uint32.