Arbeide meddatasets.xmlFil
\[Denne nettsiden vil bare være av interesse forERDDAP™Administratorer.\]
Etter at du har fulgtERDDAP™ installasjonsinstruksjonerDu må redigeredatasets.xmlfil i tomcat /innhold/erddap/ å beskrive datasettene dineERDDAP™installasjon vil tjene.
Du kan se et eksempeldatasets.xmlpå GitHub..
Introduksjon
En samling kreves
Sette opp et datasett iERDDAP™er ikke bare et spørsmål om å peke på datasettets katalog eller URL. Du må skrive en bit XML fordatasets.xmlsom beskriver datasettet.
- For nettbaserte datasett, for å gjøre datasettet i samsvar medERDDAPDatastrukturen for rutenettede data, må du identifisere en undergruppe av datasettets variabler som deler de samme dimensjonene. (Hvorfor? Hvordan?)
- Datasettets nåværende metadata importeres automatisk. Men hvis du vil endre metadata eller legge til andre metadata, må du angi det idatasets.xml.. OgERDDAP™trenger andre metadata, inkludertglobale attributter (sominfoUrl, institusjon,sourceUrl, sammendrag og tittel) ogvariabele attributter (somlong\_nameog enheter) .. Akkurat som metadataene som er i datasettet legger til beskrivende informasjon til datasettet, spør metadataene fraERDDAP™Legg til beskrivende informasjon til datasettet. De ekstra metadataene er et godt tillegg til datasettet og hjelperERDDAP™Gjør en bedre jobb med å presentere dataene dine til brukere som ikke er kjent med det.
- ERDDAP™trenger å gjøre spesielle ting medlengdegrad, breddegrad, høyde (eller dybde) , og tidsvariabler..
Hvis du kjøper i disse ideene og bruker innsatsen på å opprette XML fordatasets.xmlDu får alle fordelene medERDDAP™, inkludert:
- Søk etter datasett i fulltekst
- Søk etter datasett etter kategori
- Datatilgangsskjemaer ( datasetID .html) slik at du kan be om en undergruppe av data i mange forskjellige filformater
- Skjema for å be om grafer og kart ( datasetID .graph)
- Web Map Service (WMS) for nettbaserte datasett
- RESTfultilgang til dine data
Gjøredatasets.xmllegger stor vekt på de første datasettene, men Det blir lettere .. Etter det første datasettet kan du ofte gjenbruke mye av arbeidet ditt for det neste datasettet. Heldigvis,ERDDAP™Kommer med toVerktøyfor å hjelpe deg med å opprette XML for hvert datasett idatasets.xml.. Hvis du sitter fast, se vårSeksjon om å få ekstra støtte..
Dataleverandør Form
Når en dataleverandør kommer til deg i håp om å legge til noen data i dinERDDAP, kan det være vanskelig og tidkrevende å samle alle metadata (Informasjon om datasettet) nødvendig å legge til datasettet iERDDAP.. Mange datakilder (for eksempel .csv-filer, Excel-filer, databaser) har ingen interne metadata, såERDDAP™har et dataleverandørskjema som samler metadata fra dataleverandøren og gir dataleverandøren annen veiledning, inkludert omfattende veiledning forData i databaser.. De innsendte opplysningene konverteres tildatasets.xmlformat og deretter e-post tilERDDAP™administrator (du) og skrevet (Legg til) til bigParentDirectory /logs/dataProviderForm.log. Formen semi-automatiserer prosessen med å få et datasett iERDDAPMen detERDDAP™administratoren må fortsatt fullføredatasets.xmlbit og håndtere å få datafilen (s) fra leverandøren eller tilkobling til databasen.
Innlevering av faktiske datafiler fra eksterne kilder er en stor sikkerhetsrisiko, såERDDAP™tar seg ikke av det. Du må finne ut en løsning som fungerer for deg og dataleverandøren, for eksempel e-post (for små filer) Trekk fra skyen (For eksempel DropBox eller Google Drive) , en sftp nettsted (med passord) , eller sneaker Netto (en USB tommelfingerstasjon eller ekstern harddisk) .. Du bør sannsynligvis bare akseptere filer fra folk du kjenner. Du må skanne filene for virus og ta andre sikkerhetstiltak.
Det er ingen link iERDDAP™til dataleverandørskjemaet (For eksempel påERDDAP™hjemmeside) .. I stedet, når noen forteller deg at de ønsker å ha sine opplysninger servert av dinERDDAPDu kan sende dem en e-post som sier noe som: Ja, vi kan få dine data inn iERDDAP.. For å komme i gang, vennligst fyll ut skjemaet på https://yourUrl/erddap/dataProviderForm.html (ellerhttp://hvishttps://er ikke aktivert) .. Når du er ferdig, kontakter jeg deg for å finne ut de siste detaljene. Hvis du bare vil se på skjemaet (Uten å fylle den ut) Du kan se skjemaet påERD'sERDDAP:)Introduksjon,Del 1,Del 2,Del 3, ogDel 4.. Disse linkene påERD ERDDAP™Send informasjon til meg, ikke deg, så ikke send informasjon med dem med mindre du faktisk vil legge til data tilERD ERDDAP..
Hvis du vil fjerne skjemaet for dataleverandør fra dinERDDAP™, sette
<dataProviderFormActive>false</dataProviderFormActive>
i config.xml-filen.
Fremdriften til dette varNOAA2014Offentlig tilgang til forskningsresultater (PARR) direktivsom krever at alleNOAAmiljødata som finansieres gjennom skattepliktige dollar gjøres tilgjengelig via en datatjeneste (ikke bare filer) innen 12 måneder etter opprettelsen. Det er økt interesse for brukERDDAP™å gjøre datasett tilgjengelig via en tjeneste ASAP. Vi trengte en mer effektiv måte å håndtere et stort antall dataleverandører på.
Feedback/forslag? Dette skjemaet er nytt, så vennligst e-posterd dot data at noaa dot govHvis du har noen tilbakemeldinger eller forslag til forbedring av dette.
Verktøy
ERDDAP™kommer med to kommandolinjeprogrammer som er verktøy for å hjelpe deg å opprette XML for hvert datasett som du vil ha dinERDDAP™å tjene. Når du har satt oppERDDAP™og kjøre den (minst en gang) Du kan finne og bruke disse programmene i tomcat /webapps/erddap/WEB-INF-katalog. Det er Linux/Unix skall skript (med utvidelsen .sh) Windows-skripter (med utvidelsen .bat) For hvert program.\[På Linux, kjøre disse verktøyene som samme bruker (Tomcat?) Det vil kjøre Tomcat.\]Når du kjører hvert program, vil det stille deg spørsmål. For hvert spørsmål, skriv inn et svar, trykk deretter Enter. Eller trykk ^ C for å avslutte et program når som helst.
Programmet vil ikke løpe?
- Hvis du får et ukjent program (eller lignende) feilmelding, problemet er sannsynligvis at operativsystemet ikke fantJava.. Du må finne ut hvorJavaer på datamaskinen, og deretter redigere java referanse i .bat eller .sh-filen som du prøver å bruke.
- Hvis du ikke har funnet eller ikke fant feilmelding i klassen, såJavaklarte ikke å finne en av klassene som er oppført i .bat eller .sh-filen du prøver å bruke. Løsningen er å finne ut hvor den .jar filen er, og redigere java referanse til det i .bat eller .sh fil.
- Hvis du bruker en versjon avJavasom er for gammelt for et program, programmet vil ikke kjøre og du vil se en feilmelding som
Unntak i tråd "main" java.lang.U støttetClassVersionError:
noen/klasse/navn : Ustøttet major.minor versjon noenNumber
Løsningen er å oppdatere den siste versjonen avJavaog sørg for at .sh eller .bat-filen for programmet bruker den.
Verktøyene skriver ut ulike diagnostiske meldinger:
- Ordet "Error" brukes når noe gikk så galt at prosedyren ikke klarte å fullføre. Selv om det er irriterende å få en feil, tvinger feilen deg til å håndtere problemet.
- Ordet «varning» brukes når noe gikk galt, men prosedyren var i stand til å bli fullført. De er ganske sjeldne.
- Alt annet er bare en informativ melding. Du kan legge til --verbose tilGenerer DatasetsXmlellerDasDdskommandolinje for å få ytterligere informative meldinger, som noen ganger bidrar til å løse problemer.
De to verktøyene er en stor hjelp, men du må fortsatt lese alle disse instruksjonene nøye på denne siden og ta viktige beslutninger selv.
Generer DatasetsXml
- Generer DatasetsXml er et kommandolinjeprogram som kan generere et grovt utkast av datasett XML for nesten alle typer datasett.
Vi STRONGLY REQUERER at du bruker Genererer Datasett Xml i stedet for å lage biter avdatasets.xmlFor hånd fordi:
- Opprett datasett Xml fungerer i sekunder. Å gjøre dette for hånd er minst en times arbeid, selv når du vet hva du gjør.
- Opprett datasett Xml gjør en bedre jobb. Å gjøre dette for hånd krever omfattende kunnskap om hvordanERDDAP™Fungerer. Det er usannsynlig at du vil gjøre en bedre jobb for hånd. (Bob Simons bruker alltid Genererer Datasett Xml for det første utkastet, og han skrevERDDAP..)
- Opprett datasett Xml genererer alltid en gyldig del avdatasets.xml.. Alle deler avdatasets.xmldu skriver vil sannsynligvis ha minst noen feil som hindrerERDDAP™fra å laste datasettet. Det tar ofte timer å diagnostisere disse problemene. Ikke kast bort tiden din. La generere Datasett Xml gjør hardt arbeid. Deretter kan du raffinere .xml for hånd hvis du vil.
Når du bruker Genererer Datasett Xml-programmet:
- På Windows, første gang du kjører GenerererDatasetsXml, må du redigere GenerererDatasetsXml.bat-filen med en tekstredigeringseditor for å endre banen til java. exe-fil slik at Windows kan finneJava..
- Opprett datasett Xml ber deg først om å angi EDDType (Erd Dap Dataset Type) av datasettet. SeListe over datasetttyper (i dette dokumentet) å finne ut hvilken type som passer for datasettet du jobber med. I tillegg til vanlige EDDTypes er det også noen fåSpesial/Pseudo Datasett Typer (f.eks. en som kryper en TREDDS-katalog for å generere en bit avdatasets.xmlfor hvert datasett i katalogen) ..
- Opprett datasett Xml stiller deg så en rekke spørsmål som er spesifikke for den EDDType. Spørsmålene samler informasjon som trengs forERDDAP™å få tilgang til datasettets kilde. For å forstå hvaERDDAP™se dokumentasjonen for EDDType som du spesifiserte ved å klikke på den samme datasetttypen iListe over datasetttyper..
Hvis du må skrive inn en streng med spesielle tegn (For eksempel tomme tegn i begynnelsen eller slutten, ikke-ASCII tegn) Enter aJSON-stil streng (med spesielle tegn rømt med \ tegn) .. For eksempel, for å skrive inn bare en fane tegn, skriv inn "\t" (med de omgivende doble sitatene, som fortellerERDDAP™Dette er en JSON-stil-streng.
- Ofte vil et av dine svar ikke være det GenerererDatasetsXml trenger. Du kan deretter prøve igjen, med reviderte svar på spørsmålene, til CreateDatasetts Xml finner og forstår kildedataene.
- Hvis du svarer på spørsmålene riktig (eller tilstrekkelig riktig) , Opprett datasett Xml vil koble til datasettets kilde og samle inn grunnleggende informasjon (For eksempel variable navn og metadata) .. For datasett som er fra lokalNetCDF .ncog relaterte filer, Genererer datasett Xml vil ofte skrive ut ncdump-lignende strukturen til filen etter at den først leser filen. Dette kan gi deg informasjon for å svare på spørsmålene bedre på en etterfølgende sløyfe gjennom GenerateDatasetsXml.
- Opprett datasett Xml vil da generere et grovt utkast av datasett XML for det datasettet.
- Diagnostisk informasjon og det grove utkastet til datasett XML vil bli skrevet til bigParentDirectory /logs/GreateDatasetsXml.log .
- Det grove utkastet til datasett XML vil bli skrevet til bigParentDirectory /logs/GreateDatasetsXml.out .
"0 filer" Feilmelding
Hvis du kjører Genererer Datasett Xml ellerDasDds, eller hvis du prøver å laste enEDDGridFra... Filer eller EDDTableFra... Filer datasett iERDDAP™, og du får en "0 filer" feilmelding som indikerer atERDDAP™funnet 0 samsvarende filer i katalogen (når du tror det er samsvarende filer i den katalogen) :)
-
Sjekk at du har angitt hele navnet på katalogen. Og hvis du oppgav prøvenavnet, sørg for at du spesifiserte filens fulle navn, inkludert hele katalognavnet.
-
Sjekk at filene virkelig er i den katalogen.
-
Kontroller stavingen av mappenavnet.
-
Sjekk filenNameRegex. Det er virkelig, veldig enkelt å gjøre feil med regulære. For testformål, prøv regulær .\* som bør matche alle filnavn. (Se detteRegulatorisk dokumentasjonogRegular tutorial..)
-
Sjekk at brukeren som kjører programmet (For eksempel bruker=tomcat (?) for Tomcat/ERDDAP) Har "lese" tillatelse til disse filene.
-
I noen operativsystemer (For eksempel SELinux) og avhengig av systeminnstillinger, må brukeren som kjørte programmet ha "lese" tillatelse til hele kjede av mapper som fører til katalogen som har filene.
-
Hvis du har problemer som du ikke kan løse,forespørselsstøtteMed så mye informasjon som mulig. Hvis det ser ut som den riktige EDDType for et gitt datasett ikke fungerer med det datasettet, eller hvis det ikke er riktig EDDType, vennligst fil enSpørsmål om GitHubMed detaljene (og en prøvefil hvis det er relevant) ..
Du må redigere utdata fra Genererer Datasett Xml for å gjøre det bedre.
-
Disclaimer: KUNKEN AVdatasets.xmlMADE BE GenerationDatasett Xml er ikke perfekt. Du må lese og eddit XML før du bruker den i en OFFENTLIGERDDAP.. Opprett datasett Xml RELIES På mye av KORRECT. Du er ansvarlig for å sørge for at XML-verdiene som du legger tilERDDAP'Sdatasets.xmlFIL.
(Fun Fakta: Jeg roper ikke. Av historiske juridiske grunner må fraskrivere være skrevet i alle caps.)
Utgangen av GenerationDatasetsXml er et grovt utkast. Du trenger nesten alltid å redigere den. Vi har gjort og fortsetter å gjøre en enorm innsats for å gjøre produksjonen så klar til å gå som mulig, men det er grenser. Ofte er nødvendig informasjon ikke tilgjengelig fra kildemetadata.
Et viktig problem er at vi spør et dataprogram (Generer DatasetsXml) å gjøre en oppgave der, hvis du ga samme oppgave til 100 personer, ville du få 100 forskjellige resultater. Det finnes ikke noe enkelt answer riktig" svar. Selvfølgelig kommer programmet nærmest å lese Bobs sinn (Ikke din) , men selv om det er det ikke et all-forståelig AI-program, bare en haug heuristics cobbled sammen for å gjøre en AI-lignende oppgave. (Den dagen av et all-forståelig AI-program kan komme, men det har ikke ennå. Hvis det gjør det, kan vi mennesker ha større problemer. Vær forsiktig med hva du ønsker.)
-
For informative formål viser utgangen den globale kildenAttributes og variabel kildeAttributes som kommentarer.ERDDAP™kombinerer kildeAttributes ogaddAttributes (som har forrang) å gjøre den kombinerte Attribut som er vist til brukeren. (Og andre attributter legges automatisk til lengdegrad, breddegrad, høyde, dybde og tidsvariabler nårERDDAP™Faktisk gjør datasettet) ..
-
Hvis du ikke liker en kildeAttribute, overskriv den ved å legge til en addAttribute med samme navn, men en annen verdi (eller ingen verdi, hvis du vil fjerne den) ..
-
AlleaddAttributeser datagenererte forslag. Rediger dem! Hvis du ikke liker en addAttribute, endre det.
-
Hvis du vil legge til andreaddAttributesLegg dem til.
-
Hvis du vil endre endestinationNameEndre det. Men ikke endresourceNameS.
-
Du kan endre rekkefølgen pådataVariableeller fjerne noen av dem.
- Du kan deretter brukeDasDds (Se nedenfor) å gjentatte ganger teste XML for det datasettet for å sikre at det resulterende datasettet vises som du vil det skal iERDDAP..
- Du kan gjerne gjøre små endringer idatasets.xmlDel som ble generert, for eksempel, gir en bedreinfoUrlSammendrag eller tittel.
Legg ikke til standardNames
Hvis du har \ doNotAddStandardNames som en kommandolinjeparameter når du kjører genererer Datasett Xml, generer Datasett Xml vil ikke legge tilstandard\_nametiladdAttributesfor andre variabler enn variabler som heter breddegrad, lengdegrad, høyde, dybde eller tid (som har åpenbarestandard\_names) .. Dette kan være nyttig hvis du bruker utgangen fra å generere Datasett Xml direkte iERDDAP™uten å redigere utdata, fordi generere Datasett Xml gjetter oftestandard\_namefeil. (Merk at vi alltid anbefaler at du redigerer utdata før du bruker det iERDDAP..) Bruk av denne parameteren vil ha andre mindre relaterte effekter fordi gjettetstandard\_namebrukes ofte til andre formål, f.eks. til å skape en nylong\_name, og for å opprette fargelinjen innstillinger.
Scripting
Som et alternativ til å svare på spørsmålene interaktivt på tastaturet og looping for å generere ytterligere datasett, kan du gi kommandolinjeargumenter for å svare på alle spørsmålene for å generere ett datasett. Opprett datasett Xml vil behandle disse parametrene, skrive utgangen til utdatafilen og avslutte programmet.
For å konfigurere dette, kan du først bruke programmet i interaktiv modus og skrive ned dine svar. Her er et delvis eksempel: La oss si at du kjører manus: ./GreateDatasetsXml.sh Deretter skriv inn: EDDTableFromAsciiFiles Skriv deretter inn: /u00/data/ Deretter skriv inn: . . . . . . . Skriv deretter inn: /u00/data/sampleFile.asc Skriv deretter inn: ISO-8859-1
Hvis du vil kjøre dette på en ikke-interaktiv måte, kan du bruke denne kommandolinjen: ./GreateDatasetsXml.sh EDDTableFra AsciiFiles /u00/data/ .\*\.asc /u00/data/ampleFile.asc ISO-8859-1 Så i utgangspunktet, du bare liste alle svarene på kommandolinjen. Dette bør være nyttig for datasett som endres ofte på en måte som krever omkjøring Genererer Datasett Xml (spesieltEDDGridFraThreddsCatalog) ..
Detaljer:
- Hvis en parameter inneholder et mellomrom eller noe spesielt tegn, så koder parameteren som enJSON-stil strengf.eks. min parameter med mellomrom og to\nlinjer".
- Hvis du vil angi en tom streng som parameter, bruk: ingenting
- Hvis du vil angi standardverdien til en parameter, bruk: standard
- Opprett datasett Xml støtter en -i Datasett XmlName # TaggName kommandolinjeparameter som setter utgangen i den angittedatasets.xmlfil (Standarden er tomcat /innhold/erddap/datasets.xml) .. Opprett datasett Xml ser etter to linjer i datasett XmlName
<!-- Begin GenerateDatasetsXml #*tagName someDatetime* -->
og
<!-- End GenerateDatasetsXml #*tagName someDatetime* -->
og erstatter alt mellom disse linjene med det nye innholdet, og endrer noenDatetime.
- -i-bryteren behandles bare (og endringer idatasets.xmler bare laget) hvis du kjører Genererer Datasett Xml med kommandolinjeargumenter som angir alle svarene på alle spørsmålene for en løkke av programmet. (Se "Skrift" ovenfor.) (Tenkningen er: Denne parameteren er for bruk med skript. Hvis du bruker programmet i interaktiv modus (Skrive informasjon på tastaturet) , du er sannsynlig å generere noen feil biter av XML før du generere den du vil.)
- Hvis Start- og Sluttlinjene ikke er funnet, blir disse linjene og det nye innholdet satt inn rett før</erddapDatasett>.
- Det finnes også en -I (kapital i) bryter for testformål som fungerer som -i, men oppretter en fil kaltdatasets.xml Datotid og gjør ikke endringer idatasets.xml..
- Ikke kjør Genererer Datasett Xml i to prosesser samtidig. Det er en sjanse for at det vil bli holdt én endring. Det kan være alvorlige problemer (For eksempel skadde filer) ..
Hvis du bruker -GreateDatasetsXml -verbose - vil det skrive ut mer diagnostiske meldinger enn vanlig.
Spesial/Pseudo Datasett Typer
Generelt, EDDType-alternativene i Genererer Datasett Xml-match av EDD-typene beskrevet i dette dokumentet (SeListe over datasetttyper) og generere endatasets.xmlbit for å opprette ett datasett fra én bestemt datakilde. Det er noen unntak og spesielle tilfeller:
EDDGridFraErddap
Denne EDDType genererer alledatasets.xmlBiter som trengs for å lageEDDGridFraErddapDatasett fra alleEDDGriddatasett i fjernkontrollenERDDAP.. Du vil ha muligheten til å holde den opprinneligedatasetIDs (som kan duplisere noendatasetIDallerede i dinERDDAP) eller å generere nye navn som vil være unike (Men vanligvis ikke som menneskeleselig) ..
EDDTableFraErddap
Denne EDDType genererer alledatasets.xmlBiter som trengs for å lageEDDTableFraErddapdatasett fra alle EDDTable-datasett i en eksternERDDAP.. Du vil ha muligheten til å holde den opprinneligedatasetIDs (som kan duplisere noendatasetIDallerede i dinERDDAP) eller å generere nye navn som vil være unike (Men vanligvis ikke som menneskeleselig) ..
EDDGridFraThreddsCatalog
Denne EDDType genererer alledatasets.xmlKnebb som trengs for alleEDDGridFraDapdatasett som det kan finne ved å krype rekursivt gjennom en TREDDS (sub) Katalog. Det er mange former for THREDDS katalog-adresser. Dette alternativet REQUIRES a THREDDS .xml URL med / catalog / i det, for eksempel,
https://oceanwatch.pfeg.noaa.gov/thredds/catalog/catalog.xml eller
https://oceanwatch.pfeg.noaa.gov/thredds/catalog/Satellite/aggregsatMH/chla/catalog.xml
(en relatert .html katalog er på
https://oceanwatch.pfeg.noaa.gov/thredds/Satellite/aggregsatMH/chla/catalog.html som ikke er akseptabelt forEDDGridFra ThreddsCatalog).
Hvis du har problemer medEDDGridFraThredds Katalog:
- Kontroller at URL-adressen du bruker er gyldig, inkluderer / catalog/, og slutter med / catalog.xml .
- Hvis det er mulig, bruk en offentlig IP-adresse (For eksempel https://oceanwatch.pfeg.noaa.gov ) i URLen, ikke en lokal numerisk IP-adresse (For eksempel https://12.34.56.78 ) .. Hvis THREDDS er kun tilgjengelig via den lokale numeriske IP-adressen, kan du bruke [<convertToPublicSourceUrl>] (#converttopublicsourceurl) såERDDAP™brukere ser offentlig adresse, selv omERDDAP™får data fra den lokale numeriske adressen.
- Hvis du har problemer som du ikke kan løse,Sjekk feilsøking tips..
- Den lave nivåkoden for dette bruker nåUnidatanetcdf-java katalog crawler kode (treder. katalogklasser) slik at det kan håndtere alle THREDDS kataloger (som kan være overraskende komplekse) Takket væreUnidataFor den koden.
EDDGridLonPM180FraErddapKatalog
Denne EDDType generererdatasets.xmlå lageEDDGridLonPM180Datasett fra alleEDDGridDatasett i etERDDAPsom har noen lengdeverdier høyere enn 180.
- Hvis det er mulig, bruk en offentlig IP-adresse (For eksempel https://oceanwatch.pfeg.noaa.gov ) i URLen, ikke en lokal numerisk IP-adresse (For eksempel https://12.34.56.78 ) .. HvisERDDAP™er kun tilgjengelig via den lokale numeriske IP-adressen, kan du bruke [<convertToPublicSourceUrl>] (#converttopublicsourceurl) såERDDAP™brukere ser offentlig adresse, selv omERDDAP™får data fra den lokale numeriske adressen.
EDDGridLon0360FraErddapCatalog
Denne EDDType generererdatasets.xmlå lageEDDGridDreier0360Datasett fra alleEDDGridDatasett i etERDDAPsom har noen lengdeverdier mindre enn 0.
- Hvis det er mulig, bruk en offentlig IP-adresse (For eksempel https://oceanwatch.pfeg.noaa.gov ) i URLen, ikke en lokal numerisk IP-adresse (For eksempel https://12.34.56.78 ) .. HvisERDDAP™er kun tilgjengelig via den lokale numeriske IP-adressen, kan du bruke [<convertToPublicSourceUrl>] (#converttopublicsourceurl) såERDDAP™brukere ser offentlig adresse, selv omERDDAP™får data fra den lokale numeriske adressen.
EDDsFra Filer
Gitt en startmappe, dette krysser katalogen og alle undermapper og prøver å opprette et datasett for hver gruppe av datafiler som den finner.
- Dette antar at når et datasett er funnet, inneholder datasettet alle underkataloger.
- Hvis et datasett finnes, vil lignende søskenmapper bli behandlet som separate datasett (For eksempel vil kataloger på 1990-tallet, 2000-tallet, 2010-tallet, generere separate datasett) .. De bør være enkle å kombinere for hånd - bare endre det første datasettet<filDir> til forelderkatalogen og slette alle de påfølgende søskendatasettene.
- Dette vil bare prøve å generere en del avdatasets.xmlfor den vanligste filtypen i en katalog (ikke teller .md5, som ignoreres) .. Så gitt en katalog med 10.ncfiler og 5 .txt-filer, en datasett genereres for.ncBare filer.
- Dette antar at alle filer i en katalog med samme utvidelse hører til i samme datasett. Hvis en katalog har noen.ncfiler med SST-data og noen.ncfiler med klorofylldata, bare én prøve.ncfilen vil bli lest (SST? Klorofyll?) og bare ett datasett vil bli opprettet for den filtypen. Det datasettet vil sannsynligvis ikke laste på grunn av komplikasjoner fra å prøve å laste to typer filer inn i det samme datasettet.
- Hvis det er færre enn 4 filer med den vanligste utvidelsen i en mappe, antar dette at de ikke er datafiler og bare hopper over katalogen.
- Hvis det er 4 eller flere filer i en katalog, men dette kan ikke generere en bit avdatasets.xmlfor filene (For eksempel en filtype som ikke støttes) Dette vil generere etEDDTableFromFileNamesdatasett for filene.
- På slutten av diagnosen som dette skriver til loggfilen, like førdatasets.xmlbunter, vil dette skrive ut en tabell med et sammendrag av informasjon samlet ved å krysse alle underkataloger. Tabellen vil liste hver underkatalog og angi den vanligste filtypen, det totale antall filer, og hvilken type datasett ble opprettet for disse filene (dersom noen) .. Hvis du står overfor en kompleks, dypt resirkulert filstruktur, vurdere å kjøre Genererer Datasett Xml med EDDType=EDDsFromFiles bare for å generere denne informasjonen,
- Dette alternativet kan ikke gjøre en god jobb å gjette den beste EDDType for en gitt gruppe datafiler, men det er raskt, enkelt og verdt et forsøk. Hvis kildefilene er egnet, fungerer det bra og er et godt første skritt i å genereredatasets.xmlfor et filsystem med mange underkataloger, hver med datafiler fra forskjellige datasett.
EDDTableFromeML og EDDTableFromEMLBatch
Disse spesielle EDDType generererdatasets.xmlå lage enEDDTableFraAsciiFilerdatasett fra hver av tabellene beskrevet i enØkologisk metadataspråkXML-fil. varianten "Batch" fungerer på alle EML-filene i en lokal eller ekstern katalog. Se den separatedokumentasjon for EDDTableFromEML..
EDDTableFra InPort
Denne spesielle EDDType generererdatasets.xmlå lage enEDDTableFraAsciiFilerDatasett fra informasjonen i etinport-xmlfil. Hvis du kan få tilgang til kildedatafilen (inport-xml-filen bør ha spor for hvor den skal finnes) Du kan lage et arbeidsdatasett iERDDAP..
Følgende trinn omriss hvordan du bruker Genererer Datasett Xml med en inport-xml-fil for å få et fungerende datasett iERDDAP..
- Når du har tilgang til inport-xml-filen (enten som URL eller en lokal fil) kjør Generer datasett Xml, angi EDDType=EDDTableFromInPort, angi inport-xml URL eller fullstendig filnamn, angi hvilkenChild=0, og angi den andre etterspurte informasjonen (hvis kjent) .. (På dette punktet trenger du ikke ha kildedatafilen eller angi navnet.) Den som Child=0 innstillingen forteller Genererer Datasett Xml å skrive ut informasjonen for alle av<Entry-adtribute-informasjon ><enhet> er i inport-xml-filen (Hvis det er noen) .. Det skriver også ut et sammendrag av bakgrunnsinformasjon, inkludert alle nedlastings-url som er oppført i inport-xml-filen.
- Se gjennom all denne informasjonen (inkludert bakgrunnsinformasjon som genererer datasett Xml-utskrifter) og besøk nedlastningsadressen (s) for å finne kildedatafilen (s) .. Hvis du finner den (dem) Last ned den (dem) i en katalog som er tilgjengelig forERDDAP.. (Hvis du ikke finner noen kildedatafiler, er det ikke noe poeng i å fortsette.)
- Kjør Generer Datasett Xml igjen. Hvis kildedatafilen tilsvarer en av inport-xml-filens<Entry-adtribute-informasjon ><Entitet>s, angi hvilken Child= At Entity'sNumber (f.eks. 1, 2, 3, ...) ..ERDDAP™vil forsøke å matche kolonnenavnene i kildedatafilen til navn i enhetsinformasjonen, og be om å godta/avvise/fikse eventuelle ulikheter. Hvis inport-xml-filen ikke har noen<Entry-adtribute-informasjon ><Entitet> er, angi hvilken Child=0.
- I biten avdatasets.xmlsom ble laget av GenerateDatasets Xml, revidere [Global<addAttributes>] (#global-adtributer) etter behov/nedbrutt.
- I biten avdatasets.xmlsom ble laget av GenerationDatasetsXml, legg til/revider [<dataVariable>] (#datavariable) Informasjon etter behov/avledet for å beskrive hver av variablene. Vær sikker på at du identifiserer hver variabel riktig [<sourceName>] (#kildenavn) (Som det vises i kilden) , [<destinationName>] (#destinasjonsnavn) (som har flere begrensninger på tillatte tegn ennsourceName) , [<enheter>] (#units) (Spesielt om det erTid eller tidsstempelvariabelhvor enhetene må angi formatet) , og [<missing\_value>] (#missing_value) ,
- Når du er nær ferdig, bruk gjentatte gangerDasDdsverktøy for å raskt se om datasett beskrivelsen er gyldig og om datasettet vises iERDDAP™Som du vil.
Det ville være flott hvis grupper som bruker InPort til å dokumentere sine datasett også vil brukeERDDAP™å gjøre de faktiske dataene tilgjengelige:
- ERDDAP™er en løsning som kan brukes akkurat nå slik at du kan oppfylleNOAA'sOffentlig tilgang til forskningsresultater (PARR) KravAkkurat nå, ikke på noe vage tidspunkt i fremtiden.
- ERDDAP™gjør de faktiske dataene tilgjengelige for brukerne, ikke bare metadata. (Hva er bra med metadata uten data?)
- ERDDAP™støtter metadata (Spesielt variabler) , i motsetning til noen andre dataserver programvare blir vurdert. (Hva er bra med data uten metadata?) Å bruke programvare som ikke støtter metadata er å invitere dataene til å bli misforstått og misbrukt.
- ERDDAP™er gratis og åpen kildekode programvare i motsetning til noen annen programvare som vurderes. Fremtidig utvikling avERDDAP™allerede betalt. Støtte tilERDDAP™Brukerne er gratis.
- ERDDAPutseendet kan enkelt tilpasses for å reflektere og markere gruppen din (ikkeERDellerERDDAP) ..
- ERDDAP™Tilbyr en konsekvent måte å få tilgang til alle datasett.
- ERDDAP™kan lese data fra mange typer datafiler og fra relasjonelle databaser.
- ERDDAP™kan håndtere store datasett, inkludert datasett der kildedataene er i mange datafiler.
- ERDDAP™kan skrive data til mange typer datafiler, på brukerens forespørsel, inkludert vitenskapelige datafiler som netCDF, ESRI .csv, ogODV .txt..
- ERDDAP™kan gjøre egendefinerte grafer og kart over undergrupper av dataene, basert på brukerens spesifikasjoner.
- ERDDAP™kan håndtere ikke-data datasett som samlinger av bilder, video eller lydfiler.
- ERDDAP™har blitt installert og brukt påMer enn 60 institusjoner over hele verden..
- ERDDAP™er oppført som en av dataserverne som anbefales til bruk iNOAAiNOAADatatilgangsdirektivetI motsetning til noen annen programvare som vurderes.
- ERDDAP™er et produkt avNMFS/NOAASå bruk den iNMFSogNOAABør være et punkt av stolthet forNMFSogNOAA..
Vennligst giERDDAP™Et forsøk. Hvis du trenger hjelp, vennligst send en melding iERDDAP™Google Group.
addFillValueAttributes
Dette spesielle EDDType-alternativet er ikke en type datasett. Det er et verktøy som kan legge til \_FillValue-attributter til noen variabler i noen datasett. SeaddFillValueAttributes..
findDuplikat Tid
Dette spesielle EDDType-alternativet er ikke en type datasett. I stedet forteller det Genererer Datasett Xml å søke gjennom en samling av rutenett.nc (og relatert) filer for å finne og skrive ut en liste over filer med dupliserte tidsverdier. Når den ser på tidsverdiene, konverterer den dem fra de opprinnelige enhetene til"seconds since 1970-01-01"i tilfelle forskjellige filer bruker forskjellige enheter strenger. Du må oppgi startkatalogen (med eller uten etterfølgende skråstrek) , filnavnet regulært uttrykk (f.eks..nc ) Navnet på tidsvariabelen i filene.
ncdump
Dette spesielle EDDType-alternativet er ikke en type datasett. I stedet forteller det Genererer Datasett Xml å skrive ut enncdump\ Som å skrive ut en.nc,.ncml eller.hdffil. Den bruker faktisk netcdf-javaNCdump, som er et mer begrenset verktøy enn C-versjonen av NCdump. Hvis du bruker dette alternativet, vil CreateDatasetsXml be deg om å bruke en av alternativene: "-h" (overskrift) ,c " (Koordinater vars) , "-vall" (standard) , "-v var1;var2", "-v var1 (0,0:10,0:20) ". Dette er nyttig fordi uten ncdump det er vanskelig å vite hva som er i en.nc,.ncml eller.hdffil og dermed hvilken EDDType du bør spesifisere for Genererer Datasett Xml. For en.ncml fil, vil dette skrive ut ncdump utdata for resultatet av.ncml filendringer påført de underliggende.nceller.hdffil.
DasDds
- DasDds er et kommandolinjeprogram som du kan bruke etter at du har opprettet et første forsøk på XML for et nytt datasett idatasets.xml.. Med DasDds kan du gjentatte ganger teste og raffinere XML. Når du bruker DasDds-programmet:
- På Windows, første gang du kjører DasDds, må du redigere DasDds. flaggermusfil med en tekstredigering for å endre banen til java. exe-fil slik at Windows kan finneJava..
- DasDds ber deg omdatasetIDfor datasettet du jobber med.
- DasDds prøver å opprette datasettet med detdatasetID..
- DasDds skriver alltid ut mange diagnostiske meldinger. Hvis du bruker " DasDds -verbose", DasDds vil skrive ut mer diagnostiske meldinger enn vanlig.
- For sikkerhet sletter DasDds alltid all datasettinformasjonen som blir lagret (filer) for datasettet før du prøver å opprette datasettet. Dette svarer til å sette enhard flaggSå for aggregerte datasett kan du justere filenNameRegex midlertidig for å begrense antall filer som datakonstruktøren finner.
- Hvis datasettet ikke lastes (uansett grunn) DasDds vil stoppe og vise deg feilmeldingen for den første feilen den finner.
Ikke prøv å gjette hva problemet kan være. Les feilmeldingen nøye.
Hvis nødvendig, les de foregående diagnostiske meldingene for å finne mer spor og informasjon også. - Gjør en endring i datasettets XML for å prøve å løse problemet
og la DasDds prøve å opprette datasettet igjen. - Hvis du gjentatte ganger løser hvert problem, vil du til slutt løse alle problemene
og datasettet vil laste.
- Alle DasDds-utgang (diagnostikk og resultater) er skrevet på skjermen og til bigParentDirectory /logg/DasDds.log.
- Hvis DasDds kan opprette datasettet, vil DasDds vise deg det.das (Datasett-attributtsstruktur) ,.dds (Datasett Descriptor Struktur) , og.timeGaps (tidsforskjell) informasjon for datasettet på skjermen og skrive dem til bigParentDirectory /logg/DasDds.out.
- Ofte vil du gjøre noen små endringer i datasettets XML for å rydde opp datasettets metadata og kjøre om DasDds.
Bonus Tredjepartsverktøy:ERDDAP-lint
ERDDAP-lint er et program fra Rob Fuller og Adam Leadbetter fra Irish Marine Institute som du kan bruke til å forbedre metadataene til dinERDDAP™Datasett.ERDDAP-lint " inneholder regler og en enkel statisk webapplikasjon for å kjøre noen verifikasjonstester mot dinERDDAP™server. Alle testene kjører i nettleseren." somUnix/Linux lint verktøy, kan du redigere eksisterende regler eller legge til nye regler. SeERDDAP-lintFor mer informasjon.
Dette verktøyet er spesielt nyttig for datasett som du opprettet for noen tid siden og nå ønsker å få oppdatert med dine gjeldende metadatainnstillinger. For eksempel tidlige versjoner av Genererer Datasett Xml gjorde ingen innsats for å skape globalcreator\_name,creator\_email, skaper\_type, ellercreator\_urlmetadata. Du kan brukeERDDAP-fast for å identifisere datasett som mangler disse metadata attributtene.
Takk til Rob og Adam for å lage dette verktøyet og gjøre det tilgjengelig forERDDAP™Samfunn.
Grunnleggende struktur avdatasets.xmlFil
De nødvendige og valgfrie taggene er tillatt i endatasets.xmlfil (og antall ganger de kan vises) vises nedenfor. I praksis, dindatasets.xmlvil ha mye<datasett>s tags og bare bruk de andre taggene i<ErddapDatasett > etter behov.
<?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>
Det er mulig at andre koder vil bli tillatt i fremtiden, men for nå anbefales det bare ISO-8859-1.
XInclude
Nytt i versjon 2.25 er støtte for XInclude. Dette krever at du bruker SAX-tolkeren<brukSaxParser>true</useSaxParser> i setup.xml. Dette kan la deg skrive hvert datasett i sin egen fil, og deretter inkludere dem alle i hovedsakdatasets.xml, gjenbruke deler av datasettdefinisjoner, eller begge deler. Hvis du vil se et eksempel,EDDTestDataset.javakonfigurerer XInclude til å gjenbruke variable definisjoner.
Noter
Arbeide meddatasets.xmlFilen er et ikke-trivielt prosjekt. Les alle disse notatene nøye. Når du velger entype datasettLes den detaljerte beskrivelsen nøye.
Valg av datasetttype
I de fleste tilfeller er det bare énERDDAP™datasett som er egnet for en gitt datakilde. I noen tilfeller (f.eks..ncfiler) Det er noen muligheter, men vanligvis er en av dem definitivt best. Den første og største beslutningen du må gjøre er: er det hensiktsmessig å behandle datasett som en gruppe flerdimensjonale rekker (Hvis så seEDDGriddatasetttyper) eller som en databaselignende tabell over data (Hvis så seEDDTable datasett) ..
Å tjene dataene som er
Vanligvis er det ikke nødvendig å endre datakilden (For eksempel konvertere filene til en annen filtype) slik atERDDAP™kan tjene det. En av antagelsene omERDDAP™er at datakilden vil bli brukt som det er. Vanligvis fungerer dette bra. Noen unntak er:
- Relasjonelle databaser og Cassandra --ERDDAP™kan betjene data direkte fra relasjonelle databaser og Cassandra. Men for sikkerhet, belastningsbalansering og ytelsesproblemer kan du velge å opprette en annen database med samme data eller lagre data tilNetCDFv3.ncfiler og harERDDAP™servere data fra den nye datakilden. SeEDDTableFraDatabaseogEDDTableFraCassandra..
- Ikke støttede datakilder --ERDDAP™kan støtte et stort antall typer datakilder, men verden er fylt med 1000-tallets (Millioner?) forskjellige datakilder (spesielt datafilstrukturer) .. HvisERDDAP™Støtter ikke datakilden:
- Hvis datakilden erNetCDF .ncfiler, du kan brukeNcMLå endre datafilene på flyet eller brukeNCOå permanent endre datafilene.
- Du kan skrive data til en datakildetype somERDDAP™støtte.NetCDF-3.ncfiler er en god, generell anbefaling fordi de er binære filer somERDDAP™Kan leses veldig raskt. For tabelldata, vurdere å lagre dataene i en samling av.ncfiler som brukerCF Diskret prøvetakingsgeometri (DSG) Contiguous Tagge Array datastrukturer og så kan håndteres medERDDAP'sEDDTableFraNcCFFiler). Hvis de er logisk organisert (hver med data for en bit plass og tid) ,ERDDAP™kan raskt trekke ut data fra dem.
- Du kan be om at støtte for denne datakilden legges til iERDDAP™via e-post til Chris. John på noaa.gov.
- Du kan legge til støtte for den datakilden ved å skrive koden for å håndtere den selv. SedenERDDAP™Programmørens veiledning
- Hastighet --ERDDAP™kan lese data fra noen datakilder mye raskere enn andre. For eksempel å leseNetCDFv3.ncfiler er raske og å lese ASCII-filer er langsommere. Hvis det er en stor (> 1000) eller stor (>10 000) antall kildedatafiler,ERDDAP™vil svare på noen dataforespørsler sakte. Vanligvis er forskjellen ikke merkbar for mennesker. Men hvis du trorERDDAP™er langsom for et gitt datasett, kan du velge å løse problemet ved å skrive dataene til en mer effektiv installasjon (Vanligvis: noen, velstrukturert,NetCDFv3.ncfiler) .. For tabelldata, seDette rådet..
Tips
Det er ofte enklere å generere XML for et datasett ved å gjøre en kopi av en arbeidsdatasett beskrivelse i dataset.xml og deretter endre det.
Koding av spesielle tegn
Sidendatasets.xmler en XML-fil, du må& kode"&", "<", og ">" i ethvert innhold som "&", "<", og ">". Feil:<tittel> Tid & Tider</title> Høyre:<tittel> Tid & amp; Tider</title>
XML tolererer ikke syntaksfeil
Når du redigerer filen dataset.xml, er det en god ide å bekrefte at resultatet ervelformet XMLved å lime XML-teksten inn i en XML-kontroll somxmlvalidering..
Feilsøking Tips
- Andre måter å diagnostisere problemer med datasett
I tillegg til de to viktigsteVerktøy, - log.txter en loggfil med heleERDDAPDe diagnostiske meldingene.
- DenDaglig rapporthar mer informasjon enn statussiden, inkludert en liste over datasett som ikke lastet og unntakene (feil) De genererte.
- DenStatussideEn rask måte å sjekke påERDDAPStatus fra enhver nettleser. Det inneholder en liste over datasett som ikke lastes (Men ikke de relaterte unntakene) Les statistikk (å vise fremdriften avEDDGridKopierogEDDTableCopyDatasett og alleEDDGridFraFilesellerEDDTableFra FilerDatasett som brukercacheFromUrl (Men ikke cache SizeGB) ) ..
- Hvis du sitter fast, se vårSeksjon om å få ekstra støtte..
Spesialvariabler
- Lengdegrad, breddegrad, høyde (eller dybde) , og tid (LLAT) variabel destinationNameS er spesielle.
- Generelt:
- LLAT-variabler er kjent forERDDAP™dersom aksevariabelen er (forEDDGridDatasett) eller datavariabelens (for EDDTable datasett) destinationNameer "langdide",latitude breddegrad " "alaltitude " "dybde", eller"time"..
- Vi oppfordrer deg til å bruke disse standardnavnene på disse variablene når det er mulig. Ingen av dem er nødvendig. Hvis du ikke bruker disse spesielle variabelnavnene,ERDDAP™vil ikke gjenkjenne deres betydning. For eksempel behandles LLAT-variabler spesielt av Make A Graph ( datasetID .graph) : Hvis X-aksevariabelen er - lengdegrad - og Y-aksevariabelen er - breddegrad - får du et kart (ved hjelp av standardprojeksjon, og med landmaske, politiske grenser osv.) I stedet for en graf.
- ERDDAP™vil automatisk legge til mange metadata til LLAT-variabler (For eksempel:ioos\_category", "enheter" og flere standardrelaterte attributter som "__CoordinateAxisType") ..
- ERDDAP™vil automatisk legge til mange globale metadata knyttet til LLAT-verdiene i den valgte datagruppen (For eksempel "geospatial\_lon\_min") ..
- Kunder som støtter disse metadatastandardene, vil kunne dra nytte av de tilsatte metadataene for å plassere dataene i tid og rom.
- Kundene finner det lettere å generere forespørsler som inkluderer LLAT-variabler fordi variabelens navn er de samme i alle relevante datasett.
- For variabelen " lengdegrad" og breddegrad" variabelen:
- BrukdestinationNames " lengdegrad" og " breddegrad" bare hvisenheterer grader\_øst og grader__nord, henholdsvis. Hvis dataene dine ikke passer til disse kravene, bruk forskjellige variabelnavn (For eksempel x, y, lonRadians, latRadians) ..
- Hvis du har lengdegrad og breddegrad data uttrykt i forskjellige enheter og dermed med forskjelligdestinationNames, for eksempel lonRadians og latRadians, lage en graf ( datasetID .graph) vil lage grafer (For eksempel tidsserier) I stedet for kart.
- For "altitude" variabel og "dybde" variabel:
- BrukdestinationNameHøyde" å identifisere dataenes avstand over havet (positive=-up-verdier) .. Valgfritt kan du bruke "altitude" for avstander under havnivå hvis verdiene er negative under havet (eller hvis du for eksempel bruker, [<navn="scale\_factor" type="int">- 1</att>] (#scale_factor) å konvertere dybdeverdier til høydeverdier.
- BrukdestinationName"dybde" å identifisere dataenes avstand under havnivå (positive=" ned" verdier) ..
- Et datasett kan ikke ha både "altitude" og "dybde" variabler.
- For disse variable navnene,enhetermå være "m " "meter", eller "meter". Hvis enhetene er forskjellige (For eksempel fathoms) Du kan bruke [<navn="scale\_factor"> Noen Verdi </att>] (#scale_factor) og<Att name=" enheter"> meter</att>] (#units) å konvertere enhetene til meter.
- Hvis dataene ikke passer til disse kravene, bruk en annendestinationName (For eksempel, overGround, avstand Til Bottom) ..
- Hvis du vet det vertikale CRS vennligst angi det i metadata, for eksempel, "EPSG:5829" (øyeblikkelig høyde over havet) , "EPSG:5831" (øyeblikkelig dybde under havet) , eller "EPSG:5703" (NAVD88 høyde) ..
- For"time"variabel:
- BrukdestinationName "time"Bare for variabler som inkluderer hele datoen + tid (eller dato, hvis det er alt det er) .. Hvis det for eksempel er separate kolonner for dato og tidOfDay, ikke bruk variabelnavnet"time"..
- Seenheterfor mer informasjon om enhetene attributt for tid og tidStamp variabler.
- Tidsvariabelen og relaterttid Stempelvariablerer unike ved at de alltid konverterer dataverdier fra kildens tidsformat (Hva det enn er) i en numerisk verdi (sekunder siden 1970-01-01T00:00:00Z) eller en strengverdi (ISO 8601:2004 (E) format) avhengig av situasjonen.
- Når en bruker ber om tidsdata, kan de be om det ved å angi tiden som en numerisk verdi (sekunder siden 1970-01-01T00:00:00Z) eller en strengverdi (ISO 8601:2004 (E) format) ..
- ERDDAP™har et verktøy tilKonverter et tall Tid til/fra en strengtid..
- SeHvordanERDDAPAvtaler med tiden..
Hvorfor bare to grunnleggende datastrukturer?
- Siden det er vanskelig for menneskelige klienter og datamaskinkunder å håndtere et komplekst sett av mulige datasettstrukturer,ERDDAP™bruker bare to grunnleggende datastrukturer:
- aNetteded datastruktur (For eksempel for satellittdata og modelldata) og
- atabelldatastruktur (For eksempel, for in-situ bøy, stasjon og banedata) ..
- Selvfølgelig kan ikke alle data uttrykkes i disse strukturene, men mye av det kan. Tabellene er spesielt svært fleksible datastrukturer (Se på suksessen til relasjonelle databaseprogrammer) ..
- Dette gjør det enklere å bygge data.
- Dette gjør dataresponsene enkle, noe som gjør det lettere å betjene dataene i et bredere utvalg av standard filtyper. (som ofte bare støtter enkle datastrukturer) .. Dette er hovedårsaken til at vi opprettetERDDAP™Denne veien.
- Dette gjør det igjen veldig enkelt for oss (eller noen) å skrive klientprogramvare som fungerer med alleERDDAP™Datasett.
- Dette gjør det lettere å sammenligne data fra forskjellige kilder.
- Vi er svært klar over at hvis du er vant til å jobbe med data i andre datastrukturer kan du i utgangspunktet tro at denne tilnærmingen er enkel eller utilstrekkelig. Men alle datastrukturer har avdrag. Ingen er perfekt. Selv do-it-alle strukturer har sine ulemper: å jobbe med dem er komplekst og filene kan bare skrives eller leses med spesielle programvarebiblioteker. Hvis du godtarERDDAP's tilnærming nok til å prøve å jobbe med det, kan du finne ut at det har sine fordeler (spesielt støtte for flere filtyper som kan holde datasvarene) .. DenERDDAP™lysbildeshow (spesieltDatastrukturer lysbilde) Snakker mye om disse problemene.
- Og selv om denne tilnærmingen høres merkelig ut for deg, de flesteERDDAP™klienter vil aldri merke - de vil bare se at alle datasettene har en fin enkel struktur, og de vil være takknemlige for at de kan få data fra et bredt utvalg av kilder returnert i en rekke ulike filformater.
Dimensjoner
- Hva om rutenettvariabler i kildedatasettet DON'T deler de samme aksevariabler?
IEDDGriddatasett, alle datavariabler må brukes (aksje) alle aksevariabler. Så hvis et kildedatasett har noen variabler med ett sett dimensjoner, og andre variabler med et annet sett dimensjoner, må du gjøre to datasett iERDDAP.. Du kan for eksempel lage enERDDAP™Datasett entitled En tittel (på overflaten) to å holde variabler som bare bruker\[tid\]\[breddegrad\]\[Lengdegrad\]dimensjoner og lage en annenERDDAP™Datasett entitled En tittel (på dyp) " å holde variabler som brukes\[tid\]\[høyde\]\[breddegrad\]\[Lengdegrad\].. Eller kanskje du kan endre datakilden for å legge til en dimensjon med en enkelt verdi (For eksempel høyde=0) For å gjøre variablene konsekvente.
ERDDAP™håndterer ikke mer kompliserte datasett (For eksempel modeller som bruker en mesh av trekanter) Vel. Du kan betjene disse datasettene iERDDAP™ved å opprette to eller flere datasett iERDDAP™ (slik at alle datavariabler i hvert nytt datasett deler det samme sett av aksevariabler) Men det er ikke det brukerne vil. For noen datasett kan du vurdere å lage en regelmessig nettbasert versjon av datasettet og tilby det i tillegg til originale data. Noen klient programvare kan bare håndtere et vanlig rutenett, så ved å gjøre dette, n år du ytterligere kunder.
Prosjektert Gristed Data
En del av dataene har en kompleks struktur. For eksempel satellittnivå 2 (Langt spor") Data bruker ikke en enkel projeksjon. Modeller (andre) Ofte jobber med gitte data om ulike ikke-cylindriske fremspring (For eksempel konisk, polar stereografi, tripolar) eller i ustrukturerte rutenett (En mer kompleks datastruktur) .. Noen av sluttbrukere vil ha disse dataene som er, så det er ingen tap av informasjon. For disse kundene,ERDDAP™kan tjene dataene, som det er, bare hvisERDDAP™administrator bryter det opprinnelige datasettet i noen få datasett, med hver del inkludert variabler som deler de samme aksevariabler. Ja, det virker rart for folk involvert, og det er forskjellig fra de flesteOPeNDAPservere. MenERDDAP™legger vekt på å gjøre dataene tilgjengelige i mange formater. Det er mulig fordiERDDAP™bruk / krever en mer ensartet datastruktur. Selv om det er litt vanskelig (Det vil si annerledes enn forventet) ,ERDDAP™kan distribuere de forventede dataene.
\[Ja,ERDDAP™kan ha løsere krav til datastrukturen, men holde kravene til utgangsformatene. Men det vil føre til forvirring blant mange brukere, spesielt nybegynnere, siden mange tilsynelatende gyldige forespørsler om data med ulike strukturer ville være ugyldig fordi dataene ikke ville passe inn i filtypen. Vi kommer tilbake til dagens design.\]
Noen sluttbrukere ønsker data i en lat-lon sylindrisk projeksjon som Equirektangulær / platekarrée eller Mercator) for enkel bruk i forskjellige situasjoner. For disse situasjonene oppfordrer viERDDAP™administrator å bruke noe annet programvare (NCO?Matlab? R? IDV? ...?) å reprosjektere dataene på et geografisk (Equirektangulær projeksjon / plate carrée) eller annen sylindrisk projeksjon og tjener den formen av dataene iERDDAP™som et annet datasett. Dette ligner på hva folk gjør når de konverterer satellittnivå 2 data til nivå 3 data. Et slikt verktøy erNCOsom tilbyr utvidelsesalternativer for omarbeiding av data.
GIS og reprosjektering av data
Siden GIS-verdenen ofte er kartorientert, tilbyr GIS-programmer vanligvis støtte for omprosjektering av dataene, dvs. planlegging av dataene på et kart med en annen projeksjon.
I dag,ERDDAP™har ikke verktøy for å reprosjektere data. I stedet anbefaler vi at du bruker et eksternt verktøy til å gjøre en variant av datasettet, der data er reprojisert fra det opprinnelige skjemaet på en rektangulær (lengdegrad) array egnet forERDDAP..
Vi mener CF/DAPverden er litt annerledes enn GIS-verdenen og jobber på et litt lavere nivå.ERDDAP™reflekterer det. Generelt,ERDDAP™Utformet for å jobbe hovedsakelig med data (ikke kart) og ønsker ikke å endre (f.eks. omprosjekt) De dataene. ForERDDAP™, gitte data er ofte/vanligvis/fortrinnsvis forbundet med latlonverdier og en sylindrisk projeksjon, og ikke noen projeksjons x,y-verdier. Uansett,ERDDAP™gjør ikke noe med dataenes projeksjon; det passerer bare dataene gjennom, som med sin nåværende projeksjon, på teorien om at en reprojeksjon er en betydelig endring i dataene ogERDDAP™Ønsker ikke å være involvert i viktige endringer. Også etterfølgende brukere kan naivt reprosjektere dataene igjen, noe som ikke ville være så bra som bare å gjøre en reprojeksjon. (HvisERDDAP™administrator ønsker å tilby data i en annen projeksjon, fint; bare reprojeksjon dataene offline og tilby det som et annet datasett iERDDAP.. Mange satellittbaserte datasett tilbys som det NASA kaller nivå 2 (swath) og som nivå 3 (Equirektangulær projeksjon) versjoner.) NårERDDAP™gjør kart (direkte eller viaWMSeller KML) ,ERDDAP™for tiden tilbyr bare å gjøre kart med Equirektangular / plate carrée-projeksjon som heldigvis er akseptert av de fleste kartleggingsprogrammer.
Vi oppfordrerERDDAP™administratorer å bruke noe annet programvare (NCO?Matlab? R? IDV? ...?) å reprosjektere dataene på et geografisk (Equirektangulær projeksjon / plate carrée) eller annen sylindrisk projeksjon og tjener den formen av dataene iERDDAP™som et annet datasett. Dette ligner på hva folk gjør når de konverterer satellittnivå 2 data til nivå 3 data. Et slikt verktøy erNCOsom tilbyr utvidelsesalternativer for omarbeiding av data.
Vi håper detERDDAP™vil ha innebygde verktøy for å tilby kart med andre projeksjoner i fremtiden. Vi håper også å ha bedre forbindelser til GIS verden i fremtiden (bortsett fra den nåværendeWMSservice) .. Det er forferdelig at i denne moderne verden, sammenhengene mellom CF/DAPVerden og GIS verden er fortsatt så svak. Begge disse tingene står på listen å gjøre. (Hvis du vil hjelpe, spesielt ved å koble tilERDDAP™til MapServer, vennligst e-post Chris. John på noaa.gov.)
Datatyper
ERDDAP™støtter følgende datatyper (Navnene er sensitive;'u'prefiks står for "usignet"; antall mange av navnene i andre systemer er antall biter) :)
Byte
- Byte har signert heltallsverdier med en rekke -128 til 127. I andre systemer kalles dette ofte int8. Dette kalles "tinyint" av SQL og Cassandra. ERDDAP™Konvertererboolskfra noen kilder (For eksempel SQL og Cassandra) i byte iERDDAP™med en verdi på 0=feil, 1=sann og 127=missing\_value..
ubyte
- ubyte har ubetegnede heltallsverdier med et område på 0 til 255. I andre systemer kalles det noen ganger uint8.
kort
- kort har signert heltallsverdier med et område på -32768 til 32767. I andre systemer kalles dette ofte int16. Dette kalles «smallint» av SQL og Cassandra.
ushort
- ushort har ubestemte heltallsverdier med et område på 0 til 65535. I andre systemer kalles dette ofte uint16.
Interessert
- Interessert har signert heltallsverdier med et område på -2147483648 til 2147483647. I andre systemer kalles det noen ganger int32. Dette kalles " Integer|tall (?) " av SQL og "int" av Cassandra.
uint
- uint har ubestemte heltallsverdier med et område på 0 til 4294967295. I andre systemer kalles dette noen ganger uint32.
lang
- lang har signert heltallsverdier med et område på -9223372036854775808 til 9223372036854775807. I andre systemer kalles dette noen ganger int64. Dette kalles - bigint|tall (?) " av SQL og "bigint" av Cassandra. Fordi mange filtyper ikke støtter lange data, er bruken mislykket. Når det er mulig, bruk dobbelt i stedet (Se nedenfor) ..
ulong
- ulong har ubestemte heltallsverdier med et område på 0 til 18446744073709551615 I andre systemer kalles dette noen ganger uint64. Fordi mange filtyper ikke støtter ulong data, er bruken av dem mislykket. Når det er mulig, bruk dobbelt i stedet (Se nedenfor) ..
flyte
- flyte er en IEEE 754 flyte med et område på omtrent +/- 3.402823466e+38. I andre systemer kalles dette ofte float32. Dette kalles virkelig|flyte (?) |desimal (?) |tall (?) " av SQL og "flytende" av Cassandra. Den spesielle verdien NaN betyr Not-a-Number. ERDDAP™Konverterer positive og negative uendelige verdier til NaN.
dobbel
- dobbel er en IEEE 754 dobbel med et område på omtrent +/- 1.7976931348623157E+308. I andre systemer kalles dette ofte float64. Dette kalles " dobbel presisjon|flyte (?) |desimal (?) |tall (?) " ved SQL og dobbel" av Cassandra. Den spesielle verdien NaN betyr Not-a-Number. ERDDAP™Konverterer positive og negative uendelige verdier til NaN.