Työskentelyä yhdessädatasets.xmlTiedosto
\[Tämä sivu kiinnostaa vainERDDAP™hallinnoijia.\]
Kun olet seurannutERDDAP™ AsennusohjeetSinun täytyy muokatadatasets.xmltiedostossa Tom Sisältö/erddap/kuvaus aineistoista, joitaERDDAP™Asennus palvelee.
Voit nähdä esimerkindatasets.xmlKirjoittanut GitHub.
Johdanto
Muutama kokoontuminen vaaditaan
Aseta tietoaineisto sisäänERDDAP™Kyse ei ole vain tietoaineiston hakemistosta tai URL-osoitteesta. Sinun on kirjoitettava XML:äädatasets.xmljoka kuvaa aineistoa.
- Verkottuneiden tietoaineistojen osalta, jotta tietoaineiston aineiston mukainenERDDAPVerkkotietojen tietorakenteen on tunnistettava tietoaineiston muuttujien osajoukko, joka jakaa samat ulottuvuudet. (Miksi? Miten?)
- Tietoaineiston nykyinen metatieto tuodaan automaattisesti. Mutta jos haluat muokata metatietoja tai lisätä muita metatietoja, sinun on määritettävä se.datasets.xml. JaERDDAP™Tarvitaan muita metatietoja, mukaan lukienGlobaalit ominaisuudet (kuteninfoUrlinstituutio,sourceUrlYhteenveto ja otsikko) jaMuuttuvat ominaisuudet (kutenlong\_nameja yksiköt) . Aivan kuten tällä hetkellä tietoaineistossa oleva metatieto lisää kuvailevia tietoja tietoaineistoon, metatiedot, joita aineisto pyytää.ERDDAP™Lisää kuvailevia tietoja tietoaineistoon. Lisämetadata on hyvä lisä tietoihin ja auttaaERDDAP™Tee parempi työ esitelläksesi tietojasi käyttäjille, jotka eivät tunne niitä.
- ERDDAP™Sinun on tehtävä erityisiä asioitapituus, leveys, korkeus (tai syvyys) ja aikamuuttujat.
Jos ostat näitä ideoita ja käytät yritystä luoda XMLdatasets.xmlSaat kaikki edutERDDAP™mukaan lukien:
- Täydellinen tekstinhaku tietoaineistoille
- Tietojen etsiminen kategoriassa
- Data Access -muodot ( datasetID .html) Voit pyytää alijoukkoa tietoja useissa eri tiedostomuodoissa.
- Muotokuvia grafiikkaa ja karttoja varten ( datasetID .grafiikka)
- Web karttapalvelu (WMS) Verkossa olevat tietoaineistot
- RESTfulpääsy tietoihisi
Making thedatasets.xmlSe on erittäin tärkeää ensimmäisten tietojen kohdalla, mutta Se helpottaa . Ensimmäisen tietoaineiston jälkeen voit usein uudelleenkäyttää paljon työtäsi seuraavaan tietoaineistoon. Onneksi,ERDDAP™Sisältää kaksiTyökalutauttaa sinua luomaan XML:n jokaiseen tietoaineistoondatasets.xml. Jos olet jumissa, katso meidänLisätuen saaminen.
Datan tarjoaja Muoto
Kun tietopalveluntarjoaja tulee luoksesi toivoen lisättävän joitakin tietojaERDDAPVoi olla vaikeaa ja aikaa vievää kerätä kaikki metatiedot (Tietoa datasta) Tarvitsetko lisätietojaERDDAP. Useita tietolähteitä (.csv-tiedostoja, Excel-tiedostot, tietokannat) Ei sisäisiä metatietoja, jotenERDDAP™on Datantarjoajamuoto, joka kerää metatietoja tietojen tarjoajalta ja antaa tietojen tarjoajalle muita ohjeita, mukaan lukien laajat ohjeet tietojen toimittamiseen.Databaseissa. Toimitetut tiedot muunnetaandatasets.xmlMuotoilu ja sitten sähköpostitseERDDAP™Hallinnollinen (Sinä) ja kirjoitettu (liitetty) että isovanhemmat Lähde: DataProviderForm.log Näin muoto puoliautomatisoi prosessin saada tietoaineistonERDDAPmuttaERDDAP™Järjestäjän on vielä täytettävädatasets.xmlKlikkaa ja käsittele datatiedoston hankkimista (s) Palveluntarjoaja tai yhteys tietokantaan.
Todellisten tiedostojen lähettäminen ulkoisista lähteistä on suuri turvallisuusriski.ERDDAP™ei käsittele sitä. Sinun on selvitettävä sinulle ja palveluntarjoajalle toimiva ratkaisu, esimerkiksi sähköposti (Pieniä tiedostoja) Vedä pilvestä (Esimerkiksi DropBox tai Google Drive) Sftp-sivusto (salasanat) tai sneaker Netissä (USB-peukalo tai ulkoinen kiintolevy) . Sinun pitäisi hyväksyä tiedostoja vain henkilöiltä, jotka tiedät. Sinun täytyy skannata tiedostoja viruksia ja ottaa muita varotoimenpiteitä.
Ei ole linkkiäERDDAP™Tietojen toimittajamuodossa (Esimerkiksi, ettäERDDAP™Kotisivu) . Sen sijaan, kun joku kertoo haluavansa, että heidän tietojaan palvellaanERDDAPVoit lähettää heille sähköpostia, jossa sanotaan: Kyllä, voimme saada tietosiERDDAP. Aloita, täytä lomake https://yourUrl/erddap/dataProviderForm.html (tai taihttp://joshttps://ei ole sallittua) . Kun olet valmis, otan sinuun yhteyttä saadakseni selville viimeiset yksityiskohdat. Jos haluat vain katsoa muotoa (täyttämättä sitä) Voit nähdä lomakkeenERD>ERDDAP:Johdanto,Osa 1,Osa 2,Osa 3jaOsa 4. Nämä linkit ovatERD ERDDAP™lähettää tietoja minulle, ei sinulle, joten älä lähetä tietoja heille, ellet todella halua lisätä tietojaERD ERDDAP.
Jos haluat poistaa tietojen toimittajan lomakkeenERDDAP™laittaa
<dataProviderFormActive>false</dataProviderFormActive>
asennus.xml-tiedostossa.
Painotus tähän oliNOAAVuoden 2014Julkinen pääsy tutkimustuloksiin (Paar) Direktiivijoka vaatii, että kaikkiNOAAVeronmaksajien kautta rahoitetut ympäristötiedot asetetaan saataville tietopalvelun kautta. (Ei vain tiedostoja) 12 kuukauden kuluessa luomisesta. Lisääntynyt kiinnostus käyttääERDDAP™Saatavilla olevat tiedot palvelun ASAP kautta. Tarvitsimme tehokkaamman tavan käsitellä suuria tietopalveluntarjoajia.
Palautus / Suggestions? Tämä lomake on uusi, joten pyydän sähköpostia.erd dot data at noaa dot govjos sinulla on mitään palautetta tai ehdotuksia tämän parantamiseksi.
Työkalut
ERDDAP™Sisältää kaksi komentoriviohjelmaa, jotka ovat työkaluja, joiden avulla voit luoda XML: n jokaiselle tietoaineistolle, jota haluatERDDAP™palvelemaan. Kun olet asettanutERDDAP™ja juoksemaan sitä (vähintään kerran) Löydät ja käytät näitä ohjelmia Tom /webapps/erddap/WEB-inf-hakemisto Linux/Unix Shell -käsikirjoituksia (Laajennus .sh) Windows-käsikirjoitukset (Laajennus .bat) jokaiseen ohjelmaan.\[Linuxissa nämä työkalut ovat sama käyttäjä. (Tomcat?) Tämä johtaa Tomcatia.\]Kun suoritat jokaisen ohjelman, se kysyy sinulta kysymyksiä. Jokaiseen kysymykseen, kirjoita vastaus ja paina sitten Enter. Paina ^C poistua ohjelmasta milloin tahansa.
Ohjelma ei juokse?
- Jos sinulla on tuntematon ohjelma (tai vastaava) Virheviesti, ongelmana on, että käyttöjärjestelmä ei löytänytJava. Sinun täytyy selvittää, missäJavaon tietokoneellasi, muokkaa sitten Java-viite .bat- tai .sh-tiedostossa, jota yrität käyttää.
- Jos löydät jar-tiedoston, jota ei löydy tai luokkaa ei löydy virheilmoitusta,JavaEt löytänyt .bat- tai .sh-tiedostoa, jota yrität käyttää. Ratkaisu on selvittää, missä .jar-tiedosto on, ja muokata java viittaus siihen .bat tai .sh-tiedostossa.
- Jos käytät versiotaJavaTämä on liian vanha ohjelma, ohjelma ei toimi ja näet virheilmoituksen, kuten
Poikkeus thread "main" Java.lang.UnsupportedClassVersionError:
Luokka/nimi Kehittäjä: Unsported major.minor Joku
Ratkaisu on päivittää uusin versioJavaVarmista, että .sh- tai .bat-tiedosto käyttää sitä.
Työkalut painavat useita diagnostisia viestejä:
- Sanaa "ERROR" käytetään, kun jokin meni niin väärin, että menettely ei onnistunut. Vaikka on ärsyttävää saada virhe, virhe pakottaa sinut käsittelemään ongelman.
- Sanaa "Varoitus" käytetään, kun jokin meni pieleen, mutta menettely oli valmis. Ne ovat melko harvinaisia.
- Kaikki muu on vain informatiivinen viesti. Voit lisätä \-verboseGenerateDatasetsXmltai taiDasdsKomentoviiva saada lisää informatiivisia viestejä, jotka joskus auttaa ratkaisemaan ongelmia.
Nämä kaksi työkalua ovat suuri apu, mutta sinun täytyy silti lukea kaikki nämä ohjeet tällä sivulla ja tehdä tärkeitä päätöksiä itse.
GenerateDatasetsXml
- GenerateDatasetsXml on komentoriviohjelma, joka voi luoda karkean XML-luonnoksen lähes minkä tahansa tietoaineiston osalta.
Olemme varmoja, että käytät GenerateDatasets Xml sen sijaan, että luotaisiindatasets.xmlkäsin, koska:
- GenerateDatasets XML toimii sekunneissa. Tämä on vähintään tunnin työ, vaikka tiedät mitä teet.
- GenerateDatasets XML tekee parempaa työtä. Tämän tekeminen vaatii laajaa tietoa siitä, mitenERDDAP™toimii. On epätodennäköistä, että teet parempaa työtä käsin. (Bob Simons käyttää GenerateDatasetsia XML:n ensimmäinen kirjoitus, ja hän kirjoittiERDDAP.)
- GenerateDatasets Xml tuottaa aina pätevän rypäleendatasets.xml. Kaikki Chunksdatasets.xmlKirjoitat todennäköisesti ainakin muutamia virheitä, jotka estävätERDDAP™tietojen lataamisesta. Näiden ongelmien diagnosointiin tarvitaan usein tunteja. Älä tuhlaa aikaasi. Annetaan sukupolvien Dataa XML tekee kovaa työtä. Voit korjata .xml:n käsin, jos haluat.
Kun käytät GenerateDatasets XML-ohjelma:
- Windowsissa, ensimmäinen kerta kun käytät GenerateDatasetsXml, sinun on muokattava GenerateDatasetsXml.bat-tiedostoa tekstieditorilla ja vaihdettava polku javaan. Ex-tiedosto, jotta Windows voi löytääJava.
- GenerateDatasets Xml pyytää sinua määrittämään EDDTypen (Erd Dap Dataa Tyyppi) aineistosta. NähdäänLuettelo tietotyyppien (Tässä asiakirjassa) selvittää, mikä on tyyppi, joka sopii työssäsi olevaan tietoaineistoon. Säännöllisten EDDTypeen lisäksi on myös muutamiaPseudo Dataset Types (esim. se, joka ryömii THREDDS-luettelon luodakseen roskandatasets.xmljokaisesta luettelon tietoaineistosta) .
- GenerateDatasets Xml esittää sinulle useita kysymyksiä, jotka liittyvät kyseiseen EDDTypeen. Kysymykset keräävät tarvittavat tiedotERDDAP™käyttää tietoaineiston lähdettä. ymmärtää, mitäERDDAP™pyytää, katso EDDTypen dokumentaatio, jonka määrität klikkaamalla samaa tiedostotyyppiäLuettelo tietotyyppien.
Jos tarvitset merkkijonon, jossa on erikoismerkkejä (esim. valkotilahahmot alussa tai lopussa, ei-ASCII-hahmot) Sisäänkäynti AJSON-tyylinen (erityishahmoilla pakenneet hahmot) . Esimerkiksi päästäksesi vain välilehtihahmoon, syötä "t" (ympäröivällä kaksinkertaisella lainauksella, joka kertooERDDAP™Tämä on JSON-tyylinen.
- Usein yksi vastauksistasi ei ole se, mitä GenerateDatasetsXml tarvitsee. Voit sitten yrittää uudelleen, tarkistettuja vastauksia kysymyksiin, kunnes GenerateDatasets XML löytää ja ymmärtää lähdetiedot.
- Jos vastaat kysymyksiin oikein (tai riittävän oikein) GenerateDatasets Xml yhdistää tietoaineiston lähteen ja kerää perustietoja (Muuttuvia nimiä ja metatietoja) . Tietoja, jotka ovat peräisin paikallisiltaNetCDF .ncLisätietoja: GenerateDatasets Xml painaa usein tiedoston ncdump-maisen rakenteen, kun se ensin lukee tiedoston. Tämä voi antaa sinulle tietoa vastata kysymyksiin paremmin myöhemmällä kierroksella GenerateDatasetsXml.
- GenerateDatasets Tämän jälkeen Xml tuottaa karkean luonnoksen XML-tietokannasta kyseiseen tietoaineistoon.
- Diagnostiset tiedot ja XML:n karkea luonnos kirjoitetaan isovanhemmat /logs/GenerateDatasetsXml.log
- Rekisteröidyn XML:n karkea luonnos kirjoitetaan isovanhemmat /GenerateDatasetsXml.out
"0 tiedostoa" Virheellinen viesti
Jos käytät GenerateDatasets XML taiDasdstai jos yrität ladataEDDGridFiles or EDDTableFrom... Tiedostot sisältyvätERDDAP™saat "0 tiedostoa" -virheviestin, joka osoittaa, ettäERDDAP™Hakemistossa 0 tiedostoa (kun luulet, että hakemistossa on vastaavat tiedostot) :
-
Tarkista, että olet määrittänyt hakemiston koko nimen. Ja jos määrität näytteen tiedostonimen, varmista, että määritit tiedoston koko nimen, mukaan lukien koko hakemiston nimi.
-
Tarkista, että tiedostot ovat todella tässä hakemistossa.
-
Tarkista hakemiston nimi.
-
Katso tiedosto NameRegex. On todella helppoa tehdä virheitä regekseillä. Kokeile testaustarkoituksiin regexiä, joka vastaa kaikkia tiedostonimiä. (Näe tämäRegex-dokumentointijaRegex Tutorial.)
-
Tarkista, että ohjelman käyttäjä on (Käyttäjä = Tomcat (??) Tomcat/ERDDAP) on "lukenut" näihin tiedostoihin.
-
Joissakin käyttöjärjestelmissä (Esimerkiksi SELinux) Järjestelmäasetuksista riippuen ohjelman käyttäjällä on oltava "lue"-lupa koko hakemistojen ketjulle, joka johtaa tiedostojen hakemistoon.
-
Jos sinulla on ongelmia, joita et voi ratkaista,Pyydä tukeamahdollisimman paljon tietoa. Samoin, jos se näyttää sopivalta EDDTypeltä tietylle tietoaineistolle, joka ei toimi kyseisellä tietoaineistolla tai jos EDDTypeä ei ole, ilmoita asiasta.Lähde: GitHubyksityiskohtien kanssa (näytetiedosto, jos se on asiaankuuluvaa) .
Sinun täytyy muokata tuotantoa GenerateDatasets XML tekee siitä paremman.
-
DISCLAIMER: Kurkistusdatasets.xmlMade Be GenerateDatasets (käytetty) XML ei ole täydellinen. Sinun täytyy lukea ja editoida XML ennen kuin käytät sitä PUBLICERDDAP. GenerateDatasets Xml uskoo moniin ruusuihin, jotka eivät aina ole korrekteja. Sinä olet valmis antamaan XML:n korrektiiveja, joita sinä oletERDDAP>datasets.xmlFilejä.
(Hauska fakta: En huuda. Historiallisista oikeudellisista syistä vastuuvapauslausekkeet on kirjoitettava kaikkiin korteihin.)
GenerateDatasetsXmlin tuotanto on karkea luonnos. Sinun täytyy melkein aina muokata sitä. Olemme tehneet ja jatkamme suurta ponnistelua, jotta tulos olisi mahdollisimman valmis, mutta rajat ovat olemassa. Usein tarvittavaa tietoa ei ole saatavilla lähdemetadatasta.
Ongelmana on, että pyydämme tietokoneohjelmaa. (GenerateDatasetsXml) Jos antaisit saman tehtävän 100 henkilölle, saat 100 erilaista tulosta. Ei ole olemassa "oikeaa" vastausta. Ohjelma on lähimpänä Bobin ajatuksia. (Ei sinun) Se ei ole täysin ymmärrettävää tekoälyohjelmaa, vain joukko heuristista ohjelmaa kuplataan yhdessä tehdäkseen tekoälyn kaltaisen tehtävän. (Täysin ymmärrettävän tekoälyohjelman päivä voi tulla, mutta se ei ole vielä. Jos ja kun se tapahtuu, ihmisillä voi olla suurempia ongelmia. Varo mitä haluat.)
-
Informatiivisia tarkoituksia varten tuotos näyttää maailmanlaajuisen lähteen ominaisuudet ja muuttuva lähdeAttribuutit kommentteina.ERDDAP™Yhteenveto lähteestä jaaddAttributes (joilla on etusija) Yhdistettynä ominaisuuksia, jotka näkyvät käyttäjälle. (Ja muut ominaisuudet lisätään automaattisesti pituus, leveys, korkeus, syvyys ja aika muuttujia, kunERDDAP™Käytännössä aineiston) .
-
Jos et pidä lähdeAttribuutista, kirjoita se lisäämällä lisäosan samaan nimeen, mutta eri arvoon. (Ei arvoa, jos haluat poistaa sen) .
-
KaikkiaddAttributesovat tietokoneen luomia ehdotuksia. Leikkaa ne! Jos et pidä lisäosasta, vaihda se.
-
Jos haluat lisätä muitaaddAttributeslisätä niitä.
-
Jos haluat muuttaadestinationNameMuuta se. Mutta älä muutusourceNames.
-
Voit muuttaa järjestystädataVariabletai poistaa niitä.
- Voit käyttääDasds (Katso alapuolelta) testata XML:ää toistuvasti kyseiselle tietoaineistolle varmistaaksesi, että tuloksena oleva tietoaineisto näkyy haluamallasi tavalla.ERDDAP.
- Voit vapaasti tehdä pieniä muutoksiadatasets.xmlnyrkkeilyä, joka tuotettiin esimerkiksi paremmaksiinfoUrlYhteenveto tai otsikko.
DoNotAddStandardNames
Jos \-doNotAddStandardNames on komentoriviparametri, kun juokset Dataa XML, tuottaminen Dataa XML ei lisäästandard\_namejaaddAttributesmuuttujat kuin leveys, pituus, korkeus, syvyys tai aika (jotka ovat ilmeisiästandard\_names) . Tämä voi olla hyödyllistä, jos käytät tuotetta Dataa XML suoraanERDDAP™ilman tulostusta, koska Dataa XML usein arvaastandard\_nameVäärin. (Huomaa, että suosittelemme aina muokkaamaan tulosta ennen sen käyttöä.ERDDAP.) Tällä parametrilla on muita vähäisiä vaikutuksia, koskastandard\_namekäytetään usein muihin tarkoituksiin, esimerkiksi uuden luomiseen.long\_nameja luoda värikarttoja.
Kirjoittaminen
Vaihtoehtona vastata kysymyksiin vuorovaikutteisesti näppäimistössä ja looping tuottaa ylimääräisiä tietoaineistoja, voit antaa komentorivi argumentteja vastata kaikkiin kysymyksiin tuottaa yhden tietoaineiston. GenerateDatasets Xml käsittelee n äitä parametreja, kirjoittaa ulostulotiedostoon ja poistaa ohjelman.
Voit määrittää tämän, käytä ohjelmaa interaktiivisessa tilassa ja kirjoita vastauksesi. Tässä osittainen esimerkki: Sanotaan, että kirjoitat käsikirjoituksen: ./GenerateDatasetsXml.sh Lähde: EDDTableFromAsciiFiles Lähde: /u00/data Sisäänpääsy: .asc Pääartikkeli: /u00/data/sampleFile.asc Lähde: ISO-8859-1
Jos haluat käyttää tätä ei-interaktiivisella tavalla, käytä tätä komentoriviä: ./GenerateDatasetsXml.sh EDDTableFromAsciiFiles/u00/data/.*.asc/u00/data/sampleFile.asc ISO-8859-1 Pääasiassa luet kaikki vastaukset komentolinjalle. Tämän pitäisi olla hyödyllistä tietoaineistoille, jotka muuttuvat usein tavalla, joka edellyttää GenerateDatasetsin uudelleenjuoksemista. XM (erityisestiEDDGridLähde: ThreddsCatalog) .
Yksityiskohdat:
- Jos parametri sisältää tilaa tai jotain erityistä luonnetta, koodaa parametri.JSON-tyylinen"Minun parametrini tiloilla ja kahdella\nLinjoja.”
- Jos haluat määrittää tyhjän merkkijonon parametrina, käytä: ei mitään.
- Jos haluat määrittää parametrin oletusarvon, käytä: oletusarvo
- GenerateDatasets XML tukee Dataa XMLName # Tagname komentoriviparametri, joka asettaa tuoton määritettyyndatasets.xmltiedostotiedosto (Oletusarvo on Tom Sisältö/erddap/datasets.xml) . GenerateDatasets Xml etsii kaksi riviä tietoaineistoissa XmlName:
<!-- Begin GenerateDatasetsXml #*tagName someDatetime* -->
ja
<!-- End GenerateDatasetsXml #*tagName someDatetime* -->
ja korvaa kaiken näiden rivien välillä uudella sisällöllä ja muuttaa jonkin ajan.
- Vaihtoehto on vain käsitelty (Muutoksetdatasets.xmlVain valmistettu) Jos käytät GenerateDatasets Xml, jossa on komentorivi-argumentteja, jotka määrittävät kaikki vastaukset kaikkiin kysymyksiin yhdestä ohjelmasta. (Katso "Scripting" yllä.) (Tämä parametri on tarkoitettu käsikirjoitusten käyttöön. Jos käytät ohjelmaa interaktiivisessa tilassa (Infoa näppäimistössä) Voit todennäköisesti luoda virheellisiä XML-tuoksuja ennen kuin luot haluamasi.)
- Jos aloitus- ja loppulinjoja ei löydy, nämä linjat ja uusi sisältö lisätään jo aiemmin.</erdapDatasets >
- Siellä on myös A-I (Pääkaupunki I) Vaihda testaustarkoituksiin, jotka toimivat samoin kuin i, mutta luo tiedoston, jota kutsutaandatasets.xml Päivämäärä eikä tee muutoksiadatasets.xml.
- Älä juokse GenerateDatasets Xml:n kanssa, kaksi prosessia kerralla. Mahdollisuuksia on vain yksi muutos. Voi olla vakavia ongelmia (Esimerkiksi korruptoituneita tiedostoja) .
Jos käytät "GenerateDatasetsXml -verbose", se tulostaa enemmän diagnostisia viestejä kuin tavallisesti.
Pseudo Dataset Types
Yleisesti EDDType-vaihtoehdot GenerateDatasetsissa Tässä asiakirjassa kuvatut EDD-tyypit (KatsokaaLuettelo tietotyyppien) tuottaa yhdendatasets.xmlChunk luo yhden tietoaineiston yhdestä tietolähteestä. On olemassa muutamia poikkeuksia ja erityistapauksia:
EDDGridLähde: Eddap
Tämä EDDType tuottaa kaikendatasets.xmlTarvitsemme vaahtoaEDDGridLähde: EddapTietoja kaikistaEDDGridTietoja etäisessäERDDAP. Sinulla on mahdollisuus säilyttää alkuperäinendatasetIDs (jotka voivat kaksoiskappaleitadatasetIDjo sinunERDDAP) Uusia nimiä, jotka ovat ainutlaatuisia (Yleensä se ei ole ihmisen luettavaa.) .
EdDTableFromDap
Tämä EDDType tuottaa kaikendatasets.xmlTarvitsemme vaahtoaEdDTableFromDapKaikki EDDTable-tietoaineistot etäisessäERDDAP. Sinulla on mahdollisuus säilyttää alkuperäinendatasetIDs (jotka voivat kaksoiskappaleitadatasetIDjo sinunERDDAP) Uusia nimiä, jotka ovat ainutlaatuisia (Yleensä se ei ole ihmisen luettavaa.) .
EDDGridLähde: ThreddsCatalog
Tämä EDDType tuottaa kaikendatasets.xmlTarvittavat jyvät kaikkiinEDDGridLähde:Dapaineistot, joita se voi löytää ryömimällä toistuvasti THREDDS: n kautta (sub) Katalogi. 3DS-katalogisia URL-osoitteita on monia. Tämä vaihtoehto REQUIRES A THREDDS .xml URL with/catalog/ in it, esim.
https://oceanwatch.pfeg.noaa.gov/thredds/catalog/catalog.xml tai tai
https://oceanwatch.pfeg.noaa.gov/thredds/catalog/Satellite/aggregsatMH/chla/catalog.xml
(Ohjattu sivulta .html)
https://oceanwatch.pfeg.noaa.gov/thredds/Satellite/aggregsatMH/chla/catalog.html joka ei ole hyväksyttävääEDDGridLähde: ThreddsCatalog).
Jos sinulla on ongelmiaEDDGridFromThredds Katalogi:
- Varmista, että käyttämäsi URL-osoite on voimassa, sisältää /catalog / ja päättyy /catalog.xml.
- Jos mahdollista, käytä julkista IP-osoitetta (esimerkiksi https://oceanwatch.pfeg.noaa.gov ) URL-osoitteessa, ei paikallisessa numeroinnissa (esimerkiksi https://12.34.56.78 ) . Jos THREDDS on saatavilla vain paikallisen numerollisen IP-osoitteen kautta, voit käyttää [-]<ConvertToPublicSourceUrl[muokkaa] (#converttopublicsourceurl) niinERDDAP™käyttäjät näkevät julkisen osoitteen, vaikkaERDDAP™Saat tietoja paikallisesta numeerisesta osoitteesta.
- Jos sinulla on ongelmia, joita et voi ratkaista,Katso vianmääritysvinkkejä.
- Alhainen koodi tällä hetkellä käyttääUnidataNetcdf-java-kataloginen crawler-koodi (Kynttilät. Katalogiset luokat) jotta kaikki 3DS-luettelot voidaan käsitellä (joka voi olla yllättävän monimutkainen) KiitosUnidatatähän koodiin.
EDDGridLonPM180FromErddapCatalog
Tämä EDDType tuottaadatasets.xmltehdäEDDGridLonPM180Tietoja kaikistaEDDGridTietoja eräässäERDDAPPituusarvot ovat yli 180.
- Jos mahdollista, käytä julkista IP-osoitetta (esimerkiksi https://oceanwatch.pfeg.noaa.gov ) URL-osoitteessa, ei paikallisessa numeroinnissa (esimerkiksi https://12.34.56.78 ) . JosERDDAP™on saatavilla vain paikallisen numerollisen IP-osoitteen kautta, jota voit käyttää<ConvertToPublicSourceUrl[muokkaa] (#converttopublicsourceurl) niinERDDAP™käyttäjät näkevät julkisen osoitteen, vaikkaERDDAP™Saat tietoja paikallisesta numeerisesta osoitteesta.
EDDGridLon0360FromErddapCatalog
Tämä EDDType tuottaadatasets.xmltehdäEDDGridLon0360Tietoja kaikistaEDDGridTietoja eräässäERDDAPPituusarvoja on alle 0.
- Jos mahdollista, käytä julkista IP-osoitetta (esimerkiksi https://oceanwatch.pfeg.noaa.gov ) URL-osoitteessa, ei paikallisessa numeroinnissa (esimerkiksi https://12.34.56.78 ) . JosERDDAP™on saatavilla vain paikallisen numerollisen IP-osoitteen kautta, jota voit k äyttää<ConvertToPublicSourceUrl[muokkaa] (#converttopublicsourceurl) niinERDDAP™käyttäjät näkevät julkisen osoitteen, vaikkaERDDAP™Saat tietoja paikallisesta numeerisesta osoitteesta.
Eddsfromfiilejä
Aloitushakemiston vuoksi tämä siirtyy hakemistoon ja kaikkiin aliohjauksiin ja pyrkii luomaan tietoaineiston jokaiselle löytämilleen tietotiedostoryhmälle.
- Tämä olettaa, että kun tietoaineisto on löydetty, tietoaineisto sisältää kaikki alihankkeet.
- Jos tietoaineisto löytyy, vastaavia sisarushakemistoja käsitellään erillisinä tietoaineistoina. (Esimerkiksi 1990-luvun hakemistot, 2000-luku, 2010-luku, tuottavat erillisiä tietoaineistoja.) . Niiden tulisi olla helppoja yhdistää käsin – vaihda vain ensimmäinen tietoaineisto.<tiedostoDir> emohakemistoon ja poista kaikki myöhemmät sisarustiedot.
- Tämä vain yrittää tuottaa vaahtoadatasets.xmlyleisin tiedoston laajennus hakemistossa (.md5, jota ei ole) . Hakemisto 10.nctiedostot ja 5 .txt-tiedostot, tietoaineisto luodaan.ncVain tiedostoja.
- Tämä edellyttää, että kaikki hakemiston tiedostot, joilla on sama laajennus, kuuluvat samaan tietoaineistoon. Jos hakemistolla on.nctiedostoja, joissa on SST-tietoja ja joitakin.nctiedostot, joissa on klorofyllitiedot, vain yksi näyte.ncTiedostoa luetaan (SST? Kloorofylliä?) Vain yksi tietokanta luodaan tällaiselle tiedostolle. Nämä tiedot eivät todennäköisesti lataudu komplikaatioiden vuoksi, jotka yrittävät ladata kaksi tiedostotyyppiä samaan tietoaineistoon.
- Jos hakemistossa on alle 4 tiedostoa, joiden yleisin laajennus on, tämä olettaa, että ne eivät ole tietotiedostoja ja vain ohittaa hakemiston.
- Jos hakemistossa on neljä tai useampia tiedostoja, mutta tämä ei voi tuottaa onnistuneesti roskaa.datasets.xmltiedostoja varten (Esimerkiksi tukematon tiedostotyyppi) Tämä luo yhdenEdDTableFromFileNamesTiedostot tiedostoihin.
- Diagnoosin lopussa tämä kirjautuu lokitiedostoon juuri ennendatasets.xmlTämä tulostaa taulukon, jossa on yhteenveto kerätyistä tiedoista kaikkien alihankkijoiden kautta. Pöydässä luetellaan kaikki aliohjelmat ja ilmoitetaan yleisin tiedostolaajennustyyppi, tiedostojen kokonaismäärä ja minkä tyyppinen tietoaineisto on luotu näille tiedostoille. (Jos) . Jos sinulla on monimutkainen, syvästi pested tiedostorakenne, harkitse GenerateDatasets -toimintojen käyttöä. Xml EDDType=EDDsFromFiles vain tämän tiedon tuottamiseksi
- Tämä vaihtoehto ei ehkä tee hienoa työtä arvataksesi parhaan EDDType-tiedostoryhmän, mutta se on nopea, helppo ja kokeilemisen arvoinen. Jos lähdetiedostot ovat sopivia, se toimii hyvin ja on hyvä ensimmäinen askel.datasets.xmltiedostojärjestelmään, jossa on paljon aliohjaimia, jokaisella on eri tietoaineistojen tiedostoja.
EDDTableFromEML ja EDDTableFromEMLBatch
EDDType tuottaadatasets.xmltehdä yhdenEDDTableFromAsciiFilesjokaisesta taulukosta, joka on kuvattu eräässäEkologinen kieliXML-tiedosto. Batch-versio toimii kaikilla EML-tiedostoilla paikallisessa tai etähakemistossa. Katso erillinenEDDTableFromEML-dokumentti.
EdDTableFromInPort
Tämä erityinen EDDType tuottaadatasets.xmltehdä yhdenEDDTableFromAsciiFilesTietoja informaatiosta eräässäInport-xmltiedosto. Jos voit käyttää lähdetiedostoa (Inport-xml-tiedostolla pitäisi olla vihjeitä siitä, mistä se löytyy.) Voit tehdä työtietoaineistonERDDAP.
Seuraavat vaiheet määrittävät, miten GenerateDatasets Xml, jossa on inport-xml-tiedosto, jotta saadaan työtiedotERDDAP.
- Kun sinulla on pääsy inport-xml -tiedostoon (joko URL tai paikallinen tiedosto) Lähde: GenerateDatasets Xml, määritä EDDType=EDDTableFromInPort, määritä inport-xml-URL-osoite tai koko tiedostonimi, määritä, mikäChild=0 ja määritä muut pyydetyt tiedot. (jos tiedossa) . (Tässä vaiheessa sinun ei tarvitse hankkia lähdetiedostoa tai määrittää sen nimeä.) WhatChild=0-asetus kertoo GenerateDatasetsista Xml kirjoittaa tiedot Kaikki kaikki että<Informaatio ><Inport-xml tiedostossa (Jos on joku) . Se myös tulostaa taustatietojen yhteenvedon, mukaan lukien kaikki inport-xml-tiedostossa luetellut latausurl.
- Katso kaikki tiedot (Lisätietoja GenerateDatasets XML-printit) Katso Download-url (s) Löydä lähdetiedosto (s) . Jos löydät sen (heidän) Lataa se (heidän) hakemistoon, johon on pääsyERDDAP. (Jos et löydä lähdetiedostoja, ei ole syytä jatkaa.)
- Juokse generaattori Dataa XML jälleen. Jos lähdetiedosto vastaa yhtä inport-xml-tiedostosta<Informaatio ><Määritä, mikä lapsi = Tuon entiteetin (Esimerkiksi 1, 2, 3,...) .ERDDAP™Pyrimme vastaamaan lähdetiedoston sarakkeiden nimiä yhteisön tietojen nimiin ja hyväksymään/ hylkäämään/korjata mahdolliset poikkeamat. Jos inport-xml-tiedostoa ei ole<Informaatio ><Määritä, mikä lapsi = 0.
- Huippuosassadatasets.xmlTekijä: GenerateDatasets XML, uudista [Global]<addAttributes> (#globaalit ominaisuudet) tarpeen/haluttu.
- Huippuosassadatasets.xmlGenerateDatasetsXml, lisätkää / tarkistakaa<dataVariable> (#Datavariable) Tarvittavat/halutut tiedot jokaisesta muuttujasta. Varmista, että tunnistat jokaisen muuttujan oikein [...]<sourceName> (#lähde) (kuten lähteessä näkyy) , [...]<destinationName> (# määränpään nimi) (jolla on enemmän rajoituksia sallittuihin hahmoihin kuinsourceName) , [...]<Yksiköt > (#yksiköt) (Varsinkin jos se onAika tai aikaleima muuttumassamissä yksikön on määriteltävä muoto) ja [...]<missing\_value> (#Muokkaa) ,
- Kun olet valmis, käytä toistuvastiDasdstyökalu, jolla voidaan nopeasti tarkistaa, onko tietoaineiston kuvaus pätevä ja näkyykö tietoaineistossaERDDAP™niin kuin haluat.
Olisi hienoa, jos InPortin käyttämät ryhmät dokumentoiisivat tietoaineistonsa myösERDDAP™Varsinaisten tietojen saatavuus:
- ERDDAP™ratkaisu, jota voidaan käyttää juuri nyt, jotta voit toteuttaaNOAA>Julkinen pääsy tutkimustuloksiin (Paar) VaatimuksetTällä hetkellä, ei epämääräisessä ajassa tulevaisuudessa.
- ERDDAP™Käyttäjien saatavilla olevat tiedot, ei vain metatiedot. (Mikä on metatieto ilman dataa?)
- ERDDAP™Tukee metadataa (Erityisesti muuttujien yksiköt) Toisin kuin jotkut muut palvelinohjelmistot. (Mikä on data ilman metatietoja?) Käyttää ohjelmistoa, joka ei tue metatietoja, on kutsua tiedot väärin ymmärrettäviksi ja väärinkäytettäviksi.
- ERDDAP™on ilmainen ja avoimen lähdekoodin ohjelmisto, toisin kuin muut ohjelmistot. jatkuva kehitysERDDAP™on jo maksettu. TukeaERDDAP™Käyttäjät ovat ilmaisia.
- ERDDAPulkonäköä voidaan helposti muokata heijastamaan ja korostaa ryhmääsi (Ei ei eiERDtai taiERDDAP) .
- ERDDAP™tarjoaa johdonmukaisen tavan käyttää kaikkia tietoaineistoja.
- ERDDAP™Voit lukea tietoja useista tietokannoista ja tietokannoista.
- ERDDAP™voi käsitellä suuria tietoaineistoja, mukaan lukien tietoaineistoja, joissa lähdetiedot ovat monissa tietotiedostoissa.
- ERDDAP™voi kirjoittaa tietoja useisiin tietotiedostoihin käyttäjän pyynnöstä, mukaan lukien tieteelliset tietotiedostotyypit, kuten netCDF, ESRI .csv, jaODV .txt.
- ERDDAP™voi tehdä räätälöityjä kaavioita ja karttoja tietojen osajoukoista käyttäjän eritelmien perusteella.
- ERDDAP™voi käsitellä ei-data-tietoaineistoja, kuten kuvien, videoiden tai äänitiedostojen kokoelmia.
- ERDDAP™on asennettu ja käytettyYli 60 organisaatiota ympäri maailmaa.
- ERDDAP™on listattu yhdeksi palvelimeksi, jota suositellaan käytettäväksiNOAASisälläNOAATiedonsaantimenettelydirektiiviToisin kuin muut ohjelmistot.
- ERDDAP™on tuotteenNMFS//NOAAKäyttämällä sitä sisälläNMFSjaNOAAPitäisi olla ylpeyden aiheNMFSjaNOAA.
Ole hyvä ja annaERDDAP™Kokeile. Jos tarvitset apua, lähetä viestiERDDAP™Google-ryhmä.
Lisäarvot
Tämä erityinen EDDType-vaihtoehto ei ole tietotyyppi. Se on työkalu, joka voi lisätä joitakin muuttujia joidenkin tietoaineistojen tiedostojen \ \-arvo-ominaisuuksia. NäytäLisäarvot.
Löydetty Aika-aika
Tämä erityinen EDDType-vaihtoehto ei ole tietotyyppi. GenerateDatasets Xml etsii kokoelmaa.nc (ja liittyvät) tiedostot löytää ja tulostaa luettelo tiedostoista, joilla on kaksinkertaiset aika-arvot. Kun se katsoo aika-arvoja, se muuntaa ne alkuperäisistä yksiköistä."seconds since 1970-01-01"Jos eri tiedostot käyttävät eri yksiköitä. Sinun on annettava aloitushakemisto (Raitiovaunun kanssa tai ilman) tiedoston nimi säännöllinen ilmaisu (Esim. . . . . . ..nc ) ja aikamuuttujan nimi tiedostoissa.
ncdump
Tämä erityinen EDDType-vaihtoehto ei ole tietotyyppi. GenerateDatasets XML painaancdumpKuin printout of an.nc,.ncml tai.hdftiedosto. Käytännössä netcdf-javaNCDTämä on rajoitetumpi työkalu kuin NCdumpin C-versio. Jos käytät tätä vaihtoehtoa, GenerateDatasetsXml pyytää sinua käyttämään yhtä vaihtoehtoa: "-h" (Pää) "C" (Koordinaatit vaihtelevat) ^ Tai ”vall” (Oletus) "-v var1;var2", "-v var1" (0,0:10,0:20) ". Tämä on hyödyllistä, koska ilman ncdump on vaikea tietää, mitä on.nc,.ncml tai.hdftiedosto ja mitä EDDType sinun pitäisi määrittää GenerateDatasets XML. Yksi.ncml-tiedosto, tämä tulostaa ncdump-tuloksen tulosta.ncml-tiedostojen muutokset, joita sovelletaan taustalla olevaan.nctai tai.hdftiedosto.
Dasds
- Dasds on komentoriviohjelma, jota voit käyttää, kun olet luonut ensimmäisen XML-yrityksen uuteen tietoaineistoon.datasets.xml. DasDdsilla voit testata ja jalostaa XML:ää toistuvasti. Kun käytät DasDds-ohjelmaa:
- Windowsissa, ensimmäinen kerta kun käytät DasDds, sinun on muokattava DasDds. bat-tiedosto, jossa on tekstieditori, joka muuttaa polkua javaan. Ex-tiedosto, jotta Windows voi löytääJava.
- Dasds pyytää sinuadatasetIDtietokantaan, jonka parissa työskentelet.
- DasDds pyrkii luomaan tietoaineistondatasetID.
- DasDds painaa aina paljon diagnostisia viestejä. Jos käytät "DasDds -verbose", DasDds tulostaa enemmän diagnostisia viestejä kuin tavallisesti.
- Turvallisuuden vuoksi DasDds poistaa aina kaikki tallennetut tiedot. (tiedostoja) aineistoa varten ennen tietojen luomista. Tämä on sama kuin asettaa aKova lippuYhdistettyjä tietoaineistoja varten saatat haluta muokata tiedostoa NameRegex tilapäisesti rajoittaakseen tietojen rakentajan löytämien tiedostojen määrää.
- Jos aineisto ei lataudu (Mistä tahansa syystä) DasDds lopettaa ja näyttää virheilmoituksen ensimmäisestä virheestä.
Älä yritä arvata, mikä ongelma voi olla. Lue ERROR-viesti huolellisesti.
Tarvittaessa lue myös edelliset diagnoosiviestit löytääksesi lisää vihjeitä ja tietoa. - Tee muutos tietoaineiston XML:ään, jotta voit ratkaista tämän ongelman.
Anna DasDdsin yrittää luoda aineistoa uudelleen. - Jos ratkaiset ongelman toistuvasti, ratkaiset kaikki ongelmat.
Tiedot latautuvat.
- Kaikki DasDds-tuotokset (diagnostiikka ja tulokset) on kirjoitettu näytölle ja isovanhemmat /DasDds.log
- Jos DasDds voi luoda tietoaineiston, DasDds näyttää sinulle.das (Tietoa rakenteesta) ,.dds (Data Descriptor Rakenne) ja.timeGaps (Aika-aukkoja) tiedot näytölläsi olevasta tietoaineistosta ja kirjoita ne isovanhemmat /DasDds.out
- Usein haluat tehdä pienen muutoksen tietoaineiston XML:ään puhdistaaksesi tietoaineiston metatiedot ja rerun DasDds.
Bonus Kolmannen osapuolen työkalu:ERDDAPLinkki
ERDDAPLinkki on Rob Fullerin ja Irlannin Marine-instituutin Adam Leadbetterin ohjelma, jonka avulla voit parantaa metatietojasi.ERDDAP™Dataa.ERDDAPLinkki sisältää sääntöjä ja yksinkertaisen staattisen verkkosovelluksen, jolla suoritetaan joitakin todentamistestejäERDDAP™palvelin. Kaikki testit suoritetaan selaimessa.” kuin[Unix/Linux-linkki](https://en.wikipedia.org/wiki/Lint_(software)Voit muokata voimassa olevia sääntöjä tai lisätä uusia sääntöjä. NäytäERDDAPLinkkiLisätietoa.
Tämä työkalu on erityisen hyödyllinen tietoaineistoille, jotka olet luonut jo jonkin aikaa sitten, ja nyt haluat tuoda ajan tasalle nykyisten metatietojen mieltymykset. GenerateDatasetsin varhaiset versiot XML ei ole pyrkinyt luomaan maailmaacreator\_name,creator\_emailcreator-tyypin taicreator\_urlmetadataa. Voit käyttääERDDAPLinkki tunnistaa tietoaineistot, jotka puuttuvat näistä metadata-ominaisuuksista.
Kiitos Robille ja Adamille tämän työkalun luomisesta.ERDDAP™yhteisö.
Perusrakenteendatasets.xmlTiedosto
Vaadittavat ja valinnaiset tunnisteet, jotka on sallittudatasets.xmltiedostotiedosto (ja kuinka monta kertaa ne näyttävät) Näytetään alla. Käytännössä sinundatasets.xmlsaa paljon<Dataset > tagit ja käytä vain muita tunnisteita<erdapdatasets > tarpeen mukaan.
<?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>
Tulevaisuudessa on mahdollista saada uusia koodeja, mutta toistaiseksi suositellaan vain ISO-8859-1:tä.
X Sisältää
Uusi versio 2.25 tukee Xincludea. Tämä edellyttää, että käytät SAX-palvelinta<Käyttöoikeus (SaxParser)</useSaxParser> in your setup.xml Tämän avulla voit kirjoittaa jokaisen tietoaineiston omaan tiedostoonsa ja sitten sisällyttää ne kaikki päätiedostoon.datasets.xml• käyttää uudelleen tietoaineiston määritelmiä tai molempia. Jos haluat nähdä esimerkin,EDDTestDataset.javaXInclude määrittää muuttuvien määritelmien uudelleenkäytön.
Huomautuksia
Työskentelyä yhdessädatasets.xmlTiedosto on ei-triviaalinen projekti. Lue kaikki muistiinpanot huolellisesti. Kun olet valinnutTietotyyppiLue tarkempi kuvaus tästä huolellisesti.
Datasetin tyypin valinta
Useimmissa tapauksissa on vain yksiERDDAP™tietotyyppi, joka soveltuu tiettyyn tietolähteeseen. Muutamissa tapauksissa (esim..nctiedostoja) On olemassa muutamia mahdollisuuksia, mutta yleensä yksi niistä on paras. Ensimmäinen ja suurin päätös, jonka sinun on tehtävä, on: onko tarkoituksenmukaista käsitellä tietoaineistoa moniulotteisten ryhmien ryhmänä. (Jos näin näkeeEDDGridDatatyypit) Tietokannan kaltainen taulukko (Jos näin näkeeEDDTable Dataset Tyypit) .
Tietojen palveleminen niin kuin on
Tietolähteitä ei yleensä tarvitse muuttaa (muuntaa tiedostot johonkin muuhun tiedostotyyppiin) niin ettäERDDAP™voi palvella sitä. Yksi olettamuksistaERDDAP™Tietolähdettä käytetään sellaisenaan. Yleensä tämä toimii hyvin. Joitakin poikkeuksia ovat:
- Tietokanta ja Cassandra -----ERDDAP™voivat palvella tietoja suoraan relaatiotietokannoista ja Cassandrasta. Turvallisuuden, kuormien tasapainottamisen ja suorituskyvyn kannalta voit kuitenkin päättää perustaa toisen tietokannan samoilla tiedoilla tai tallentaa tiedot.NetCDFv3.nctiedostoja ja onERDDAP™toimittaa tiedot uudesta tietolähteestä. NäytäEDDTableFromDatabasejaEDDTableFromCassandra.
- Tuetut tietolähteet -ERDDAP™Tietolähteitä on paljon, mutta maailma on täynnä 1000-lukua. (miljoonaa?) Eri tietolähteet (Erityisesti datatiedostojen rakenteet) . JosERDDAP™Älä tue tietolähteitäsi:
- Jos tietolähde onNetCDF .nctiedostoja, voit käyttääNCMLmuuttaa tiedostoja lennossa tai käyttääNCOmuuttaa pysyvästi tiedostoja.
- Voit kirjoittaa tiedot tietolähteen tyyppiin, jokaERDDAP™tukea.NetCDF3.nctiedostot ovat hyvä, yleinen suositus, koska ne ovat binääritiedostoja, jotkaERDDAP™osaa lukea hyvin nopeasti. Tabulaarista dataa varten harkitse tietojen tallentamista kokoelmassa..nctiedostoja, jotka käyttävätCF Discrete Sampling Geometria (DSG) Kontiguous Ragged Array -tietorakenteet ja niin voidaan käsitelläERDDAP>EDDTableFromNcFiles). Jos se on loogisesti järjestetty (Jokaisella on dataa avaruuden ja ajan huipulle) ,ERDDAP™Tiedot voidaan kerätä erittäin nopeasti.
- Voit pyytää, että tietolähteen tuki lisätäänERDDAP™sähköpostilla Chris. Johannes osoitteessa Noaa.gov.
- Voit lisätä tuen tälle tietolähteelle kirjoittamalla koodin itse. NäytäTheERDDAP™Ohjelmoijan opas
- Nopeus -ERDDAP™Tietoja voi lukea useista tietolähteistä paljon nopeammin kuin toiset. Esimerkiksi lukeminenNetCDFv3.nctiedostot ovat nopeita ja ASCII-tiedostojen lukeminen on hitaampaa. Jos on suuri (> 1000) tai valtava (> 10 000) lähdetiedostojen määrä,ERDDAP™Vastaa pyyntöihin hitaasti. Yleensä ero ei ole havaittavissa ihmiselle. Jos kuitenkin luuletERDDAP™on hidas tietylle tietoaineistolle, voit ratkaista ongelman kirjoittamalla tiedot tehokkaampaan asennukseen. (yleensä muutama, hyvin rakennettu,NetCDFv3.nctiedostoja) . Tabulaarista dataa, katsoTämä neuvo.
Hintti
XML:n luominen tietoaineistoon on usein helpompaa tekemällä jäljennös tietoaineiston kuvauksesta.xml ja muuttamalla sitä.
erityispiirteiden koodaaminen
Siitä lähtiendatasets.xmlXML-tiedosto, sinun täytyy&-koodi> > ><"ja """ kaikissa sisällöissä kuten "&"<ja "jagt"; Väärin:<otsikko > Aika & Tides</title> Oikea:<otsikko > Time & Tides</title>
XML ei siedä syntaksivirheitä
Kun olet muokannut dataset.xml-tiedostoa, on hyvä tarkistaa, että tulos onHyvin muotoiltu XMLliittämällä XML-tekstin XML-tarkkaimeen, kutenxmlvalidaatio.
Troubleshooting vinkkejä
- Muita tapoja diagnosoida ongelmia tietoaineistojen kanssa
Kahden pääasian lisäksiTyökalut, - log.txtLokitiedosto, jossa on kaikkiERDDAPdiagnostisia viestejä.
- ThePäivittäinen raporttion enemmän tietoja kuin status-sivulla, mukaan lukien luettelo aineistoista, jotka eivät latautuneet ja poikkeukset (Virheitä) He ovat luoneet.
- TheTilasivutHelppo tapa tarkistaaERDDAP"Station from any web selain. Se sisältää luettelon aineistoista, jotka eivät latautuneet (mutta ei niihin liittyviä poikkeuksia) Tehtävän tilastot (osoittaa edistystäEDDGridKopiojaEdDTableCopyTietoja ja mitä tahansaEDDGridFilejätai taiEDDTableFromfiilittietoja, jotka käyttävätCacheFrom (Ei kätköä SizeGB) ) .
- Jos olet jumissa, katso meidänLisätuen saaminen.
Erikoismuuttujat
- Pituus, leveys, korkeus (tai syvyys) ja aika (Lataa) Muuttuva destinationNameS on erityinen.
- Yleisesti ottaen:
- LLAT-muuttujat tiedetäänERDDAP™Jos akseli muuttuu (forEDDGridDataa) Tietojen muuttujien (EDDTable Datasets) destinationNameon "pitkä", "leveys", "korkeus", "syvyys" tai"time".
- Kannustamme sinua käyttämään näitä tavallisia nimiä aina kun mahdollista. Kumpaakaan niistä ei tarvita. Jos et käytä näitä nimiä,ERDDAP™ei tunnista niiden merkitystä. Esimerkiksi LLAT-muuttujat hoidetaan erityisesti Make A Graphilla. ( datasetID .grafiikka) Jos X Axis -muuttuja on "pitkä" ja Y Axis -muuttuja on "leveys", saat kartan. (vakiomuotoinen ennustus ja maski, poliittiset rajat jne.) Kuvan sijasta.
- ERDDAP™Lisäämme automaattisesti paljon metatietoja LLAT-muuttujaan (Esimerkiksi "ioos\_category"Yksiköt", ja useita standardeihin liittyviä ominaisuuksia, kuten "CoordinateAxistype") .
- ERDDAP™Lisäämme automaattisesti, lennolla, paljon globaaleja metatietoja, jotka liittyvät valitun data-alan LLAT-arvoihin. (Esimerkkinä "geospatial =") .
- Asiakkaat, jotka tukevat näitä metatietoja, voivat hyödyntää lisättyjä metatietoja ajoissa ja tilassa.
- Asiakkaiden on helpompi tuottaa kyselyjä, jotka sisältävät LLAT-muuttujat, koska muuttujien nimet ovat samat kaikissa merkityksellisissä tietokannoissa.
- "pitkä" muuttuja ja "leveys" muuttuja:
- KäytädestinationName"pitkä" ja "leveys" vain, josYksikötovat tutkintoja ja tutkintoja vastaavasti. Jos tietosi eivät sovi näihin vaatimuksiin, käytä eri muuttujan nimiä. (Esimerkiksi x, y, LonRadians, LatRadians) .
- Jos sinulla on pituus- ja leveystiedot eri yksiköissä ja siten erilaisissadestinationNameEsimerkiksi LonRadians ja LatRadians, Make A Graph ( datasetID .grafiikka) Tekee kuvia (Esimerkiksi aikasarja) karttojen sijaan.
- Muuttuvassa "korkeudessa" ja "syvässä" muuttujassa:
- KäytädestinationName"asento" tietojen etäisyyden tunnistamiseksi merenpinnan yläpuolella (Positiivinen = "ylös" arvot) . Vaihtoehtoisesti voit käyttää merenpinnan alapuolella olevia etäisyyksiä, jos arvot ovat negatiivisia merenpinnan alapuolella (tai jos käytät esimerkiksi) [...]<nimi ="scale\_factor> > > > > 1 1</att>) (#scale_factor) muuttaa syvyysarvot korkeusarvoiksi.
- KäytädestinationName"syvyys" tietojen etäisyyden tunnistamiseksi merenpinnan alapuolella (Positiivinen = alaspäin) .
- Tietoaineistossa ei välttämättä ole sekä "korkeutta" että "syviä" muuttujia.
- Näille muuttuville nimille,YksikötSen on oltava "m", "mittari" tai "mittari". Jos yksikkö on erilainen (Esimerkiksi fatomit) Voit käyttää [...]<nimi ="scale\_factor> > jotkut Arvon arvo </att>) (#scale_factor) ja [<att-nimi = "yksiköt"</att>) (#yksiköt) muuntaa yksiköt metreiksi.
- Jos tietosi eivät sovi näihin vaatimuksiin, käytä eridestinationName (Etäisyydet maan päällä, Yhteenveto) .
- Jos tiedät vertikaalisen CRS:n, määritä se metadatassa, esim. EPSG:5829. (Välitön korkeus merenpinnan yläpuolella) EPSG:5831 (Välitön syvyys merenpinnan alapuolella) EPSG:5703 (NAVD88 korkeus) .
- Sillä"time"Vaihtoehtoisia:
- KäytädestinationName "time"Vain muuttujille, jotka sisältävät koko päivämäärän + (Päivämäärä, jos kaikki on) . Jos esimerkiksi päivämäärän ja ajankohdan erillisiä sarakkeita on olemassa, älä käytä muuttuvaa nimeä."time".
- NäytäYksikötLisätietoja yksiköiden attribuutista ajan ja aikaStamp-muuttujat.
- Muuttuva aika ja siihen liittyvätAika-aika Stamp-muuttujatovat ainutlaatuisia, koska ne muuntavat aina tietoarvoja lähdemuodosta. (Mitä tahansa se on) Numeerinen arvo (1970-01-01T00:00:00Z) tai String-arvo (ISO 8601:2004 (E) formaatti) riippuen tilanteesta.
- Kun käyttäjä pyytää aikatietoja, hän voi pyytää niitä määrittelemällä ajan numeroarvoksi. (1970-01-01T00:00:00Z) tai String-arvo (ISO 8601:2004 (E) formaatti) .
- ERDDAP™on hyödyllistäMuunna numero Aikaa / From a String Time.
- NäytäMitenERDDAPSopimukset ajan kanssa.
Miksi vain kaksi perustietoa?
- Koska ihmisten ja tietokoneasiakkaiden on vaikea käsitellä monimutkaisia rakenteita,ERDDAP™Käytä vain kahta perustietoa:
- AVerkkotietojen rakenne (esimerkiksi satelliittitietojen ja mallitietojen osalta) ja
- ATabulaarinen datarakenne (esimerkiksi in-situ buoy, asema ja trajectory data) .
- Kaikkia tietoja ei voi ilmaista näissä rakenteissa, mutta suurin osa niistä voi. Erityisesti taulukot ovat joustavia tietorakenteita. (Tutustu tietokantaohjelmien menestykseen) .
- Tämä helpottaa tiedonkeruuta.
- Tämä tekee tietovasteista yksinkertaisen rakenteen, jonka avulla dataa on helpompi palvella laajemmissa tiedostotyypeissä. (Ne tukevat usein yksinkertaisia tietorakenteita.) . Tämä on tärkein syy, miksi olemmeERDDAP™Tällä tavalla.
- Tämä puolestaan tekee siitä meille helppoa. (tai joku) Kirjoita ohjelmisto, joka toimii kaikkien kanssaERDDAP™Dataa.
- Tämä helpottaa tietojen vertailua eri lähteistä.
- Olemme hyvin tietoisia siitä, että jos olet tottunut työskentelemään muiden tietorakenteiden kanssa, saatat ajatella, että tämä lähestymistapa on yksinkertaistettu tai riittämätön. Kaikilla tietorakenteilla on kuitenkin kauppoja. Kukaan ei ole täydellinen. Jopa do-it-all-rakenteilla on haittapuoli: niiden kanssa työskentely on monimutkaista ja tiedostot voidaan kirjoittaa tai lukea vain erityisillä ohjelmistokirjastoilla. Jos hyväksytERDDAP"Riittävän lähellä yrittää työskennellä sen kanssa, saatat huomata, että sillä on etunsa. (Tuki useille tiedostotyypeille, jotka voivat säilyttää tietovastaukset) . TheERDDAP™Liukunäytös (ErityisestiTietorakenteet liukuvat) Puhutaan paljon näistä asioista.
- Ja vaikka tämä lähestymistapa kuulostaakin oudolta, useimmatERDDAP™Asiakkaat eivät koskaan huomaa - he yksinkertaisesti näkevät, että kaikilla aineistoilla on mukava yksinkertainen rakenne ja he ovat kiitollisia siitä, että he voivat saada tietoja monista lähteistä, jotka palautetaan monissa tiedostomuodoissa.
Dimensio
- Entä jos lähdeaineiston verkkomuuttujat eivät jaa samoja akselimuuttujat?
SisälläEDDGridaineistot, kaikki tietomuuttujat on käytettävä (Osakkeet) kaikki akselimuuttujat. Joten jos lähdeaineistossa on joitakin muunnelmia, joilla on yksi ulottuvuus, ja muita muuttujia, joilla on eri ulottuvuuksia, sinun on tehtävä kaksi aineistoa.ERDDAP. Voit esimerkiksi tehdä yhdenERDDAP™Alkuperäinen nimi: Some Title (pinnalla) "Voit pitää muuttujia, jotka vain käyttävät\[Aika-aika\]\[leveys\]\[Pituus\]ulottuvuuksia ja tehdä toinenERDDAP™Alkuperäinen nimi: Some Title (syvyyksissä) "Säilyttää muuttujia, jotka käyttävät\[Aika-aika\]\[Korkeus\]\[leveys\]\[Pituus\]. Tai ehkä voit muuttaa tietolähteen lisätä ulottuvuuden yhdellä arvolla. (Esimerkiksi korkeus = 0) tehdä muuttujista johdonmukaisia.
ERDDAP™ei käsittele monimutkaisempia tietoaineistoja (Esimerkiksi malleja, jotka käyttävät kolmiota) Hyvin. Voit palvella näitä tietojaERDDAP™luomalla kaksi tai useampia tietojaERDDAP™ (jotta kaikki tietomuuttujat jokaisessa uudessa tietoaineistossa jakavat samat akselimuuttujat) Tämä ei ole sitä mitä käyttäjät haluavat. Joillekin tietokannoille voit harkita säännöllisen verkkoversion tekemistä tietoaineistosta ja tarjota sitä alkuperäisten tietojen lisäksi. Jotkin asiakasohjelmistot voivat käsitellä vain säännöllistä verkkoa, joten voit saavuttaa lisäasiakkaat.
Gridded Data
Joillakin verkkotiedoilla on monimutkainen rakenne. Satelliittitaso 2 (”Along Track”) Tiedot eivät käytä yksinkertaista projektiota. Malleja (ja muut) Työskentele usein erilaisissa ei-sylinterisissä ennusteissa. (Esimerkiksi konic, polar stereographic, tripolar) rakenteettomissa verkoissa (monimutkaisempi datarakenne) . Osa loppukäyttäjistä haluaa nämä tiedot kuten on, joten tietoja ei menetetä. Näille asiakkaille,ERDDAP™voi käyttää tietoja, kuten on, vain josERDDAP™Järjestelmänvalvoja murtaa alkuperäisen tietoaineiston muutamaan tietoaineistoon, joista jokainen sisältää muuttujia, jotka jakavat samat akselimuuttujat. Kyllä, se tuntuu oudolta ja se on erilainen kuin useimmat.OPeNDAPpalvelimia. Mutta kuitenkinERDDAP™Korostamme, että tiedot ovat saatavilla monessa muodossa. Tämä on mahdollista, koskaERDDAP™Tarvitsemme tai käytämme yhtenäisempää datarakennetta. Vaikka se on vähän hämmentävä (Toisin kuin odotettiin) ,ERDDAP™voi jakaa ennustettuja tietoja.
\[Kyllä,ERDDAP™Voi olla löysempiä vaatimuksia tietorakenteen, mutta pitää vaatimukset lähtömuodot. Tämä kuitenkin johtaisi sekaannukseen monien käyttäjien, erityisesti uusien, keskuudessa, koska monet näennäisesti pätevät tietopyynnöt eri rakenteilla olisivat mitättömiä, koska tiedot eivät sovi tiedostotyyppiin. Palaamme nykyisen järjestelmän suunnitteluun.\]
Jotkut loppukäyttäjät haluavat tietoja lat lon -sylinterisestä ennusteesta, kuten Equirectangular / levy carrée tai Mercator, helppokäyttöisyyttä eri tilanteissa. Näissä tilanteissa kannustammeERDDAP™Ohjaaja käyttää muita ohjelmistoja (NCO??Matlab?? R? IDV? ...???) palauttaa tiedot maantieteelliseen (Equirectangular Projection / levy Carrée) tai muu sylinterinen projektio, joka palvelee tätä tietojen muotoaERDDAP™erilaista dataa. Tämä vastaa sitä, mitä ihmiset tekevät, kun he muuntavat satelliittitason 2 datan tasoksi 3. Yksi tällainen työkalu onNCOjoka tarjoaa laajennusvaihtoehtoja tietojen siirtämiseen.
GIS- ja reprojektointitiedot
Koska GIS-maailma on usein karttalähtöinen, GIS-ohjelmat tarjoavat yleensä tukea tietojen uudelleenkäsittelyyn, toisin sanoen toteutetaan kartta, jossa on erilainen ennuste.
Tällä hetkellä,ERDDAP™Ei ole työkaluja tietojen uudelleenkäsittelyyn. Sen sijaan suosittelemme, että käytät ulkoista työkalua tietoaineiston muunnelman tekemiseen, jossa tiedot on käsitelty alkuperäisestä lomakkeesta suorakulmaiseen muotoon. (Leveyspituus) Laji sopiiERDDAP.
Meidän mielestämme CF/DAPMaailma on hieman erilainen kuin GIS-maailma ja toimii hieman alempana.ERDDAP™heijastaa sitä. yleisesti,ERDDAP™on suunniteltu toimimaan ensisijaisesti datan kanssa (Ei karttoja) eikä halua muuttua (Esimerkki: Reproject) näitä tietoja. For ForERDDAP™, verkottuneet tiedot liittyvät usein/tavallisesti/mieluiten lat lon -arvoihin ja sylinteriseen ennusteeseen, eikä joidenkin ennusteiden x,y-arvoihin. Joka tapauksessa,ERDDAP™ei tee mitään tietojen ennusteen kanssa; se vain siirtää tiedot, kuten nykyisen ennusteensa mukaan, teoriassa, että kopiointi on merkittävä muutos tietoihin jaERDDAP™Hän ei halua olla mukana merkittävissä muutoksissa. Myös myöhemmät käyttäjät saattavat naiivisti kopioida tietoja uudelleen, mikä ei olisi yhtä hyvä kuin yhden kopioinnin tekeminen. (Jos siisERDDAP™Hallinnoija haluaa tarjota tietoja eri ennusteessa, sakossa; vain kopioida tiedot offline-tilassa ja tarjota, että erilaisena tietoaineistona.ERDDAP. Satelliittipohjaisia tietoja tarjotaan niin kuin NASA kutsuu tasoa 2 (Swath) tasolle 3 (Equirectangular-projekti) versioita.) MilloinERDDAP™Tekee karttoja (suoraan taiWMSKML) ,ERDDAP™Tällä hetkellä vain tarjoutuu tekemään karttoja Equirectangular / levy carrée -projektiolla, joka onneksi hyväksytään useimpien kartoitusohjelmien avulla.
KannustammeERDDAP™Ohjaaja käyttää muita ohjelmistoja (NCO??Matlab?? R? IDV? ...???) palauttaa tiedot maantieteelliseen (Equirectangular Projection / levy Carrée) tai muu sylinterinen projektio, joka palvelee tätä tietojen muotoaERDDAP™erilaista dataa. Tämä vastaa sitä, mitä ihmiset tekevät, kun he muuntavat satelliittitason 2 datan tasoksi 3. Yksi tällainen työkalu onNCOjoka tarjoaa laajennusvaihtoehtoja tietojen siirtämiseen.
Toivomme, ettäERDDAP™Sisäänrakennetut työkalut tarjoavat karttoja muilla ennusteilla tulevaisuudessa. Toivomme myös paremman yhteyden tulevaisuuteen. (muu kuin nykyinenWMSPalvelupalvelu) . On kauheaa, että tässä "modernissa" maailmassa CF:n ja CF:n välinen yhteysDAPMaailma ja maailma ovat edelleen niin heikkoja. Molemmat ovat listalla. (Jos haluat auttaa, erityisesti yhdistämälläERDDAP™Ole hyvä ja lähetä sähköpostia Chrisille. Johannes osoitteessa Noaa.gov.)
Tietotyypit
ERDDAP™Tukee seuraavia tietotyyppejä (nimet ovat arkaluonteisia;'u'prefix tarkoittaa "allekirjoittamatonta"; monien muiden järjestelmien nimien lukumäärä on bittien määrä.) :
By
- By on allekirjoittanut kokonaislukuarvot -128 - 127. Muissa järjestelmissä tätä kutsutaan joskus nimellä int8. Tätä kutsutaan nimellä SQL ja Cassandra. ERDDAP™KäännöksetBooleeJoistakin lähteistä (SQL ja Cassandra) tavut sisäänERDDAP™0=falsi, 1=tosi ja 127=missing\_value.
Uby
- Uby on allekirjoittamattomia kokonaislukuja, joiden vaihteluväli on 0-255. Joskus sitä kutsutaan nimellä Uint8.
Lyhyt lyhyt
- Lyhyt lyhyt on allekirjoittanut kokonaislukuarvot, joiden vaihteluväli on -32768 - 32767. Muissa järjestelmissä tätä kutsutaan joskus nimellä int16. Tätä kutsutaan nimellä SQL ja Cassandra.
Lyhyt
- Lyhyt Allekirjoittamattomat kokonaisluvut, joiden vaihteluväli on 0–65535. Joskus sitä kutsutaan nimellä uint16.
Sisään
- Sisään on allekirjoittanut kokonaislukuarvot -2147483648 - 2147483647. Muissa järjestelmissä tätä kutsutaan joskus nimellä int32. Tätä kutsutaan integeriksi|Numeerinen (??) SQL ja Cassandra.
Uin
- Uin Allekirjoittamattomat kokonaislukuarvot ovat 0-4294967295. Toisinaan sitä kutsutaan uint32:ksi.
Pitkä pitkä
- Pitkä pitkä on allekirjoittanut kokonaislukuarvot -9223372036854775808 - 9223372036854775807. Muissa järjestelmissä tätä kutsutaan joskus nimellä int64. Tätä kutsutaan nimellä "bigint"|Numeerinen (??) SQL ja "bigint" Cassandra. Koska monet tiedostotyypit eivät tue pitkiä tietoja, niiden käyttö on lannistunut. Jos mahdollista, käytä kaksinkertaista (Katso alapuolelta) .
ulong
- ulong on allekirjoittamattomia kokonaislukuja, joiden vaihteluväli on 0–18446744073709551615 Tätä kutsutaan joskus nimellä Uint64. Koska monet tiedostotyypit eivät tue ulompaa dataa, niiden käyttö on lannistunut. Jos mahdollista, käytä kaksinkertaista (Katso alapuolelta) .
kelluva
- kelluva Se on IEEE 754-kellus, jonka valikoima on noin +/-3,4023466e+38. Joskus sitä kutsutaan float32:ksi. Tätä kutsutaan todelliseksi|kelluva (??) |desimaalinen (??) |Numeerinen (??) SQL ja "float" Cassandra. NaN tarkoittaa ei-numeroa. ERDDAP™Muuntaa positiivisia ja negatiivisia äärettömyyden arvoja NaN.
kaksinkertainen
- kaksinkertainen IEEE 754:n kaksinkertainen valikoima +/- 1,79769348623157E+308 Joskus sitä kutsutaan float64:ksi. Tätä kutsutaan kaksinkertaiseksi tarkkuudeksi|kelluva (??) |desimaalinen (??) |Numeerinen (??) SQL ja kaksinkertainen Cassandra. NaN tarkoittaa ei-numeroa. ERDDAP™Muuntaa positiivisia ja negatiivisia äärettömyyden arvoja NaN.
Char
- Char Yksi, 2-tavuinen (16-bittinen) Unicode UCS-2 -hahmovaihtelee\u0000 (#0) kautta läpi\uffff (#6535) . \uffff"määritelmä ei-a-kaavio, joka vastaa NaN:n kaksinkertaista arvoa. charin käyttö on lannistunut, koska monet tiedostotyypit joko eivät tue jahtaita tai tukevat vain 1-tavuisia charseja. (Katso alapuolelta) . Harkitse sen sijaan Stringiä. Käyttäjät voivat käyttää char-muuttujaa kaavioiden tekemiseen.ERDDAP™Muuntaa merkit Unicode-koodin numeroon, jota voidaan käyttää numeroina.
String
- String Sekvenssi on 0 tai enemmän, 2-tavuinen (16-bittinen) Unicode UCS-2 -hahmot. ERDDAP™käyttää / tulkitsee 0-pituusmerkkijonoa puuttuvana arvona.ERDDAP™Se ei tue todellista null-jonoa. Teoreettinen enimmäisjousi pituus on 2147483647 merkkiä, mutta on olemassa useita ongelmia eri paikoissa jopa hieman lyhyempi Strings. KäytäERDDAPSQL:n hahmo, varchar, hahmon vaihtelu, binaarinen, varbinaari, intervalli, sarja, multiset, xml ja mikä tahansa muu tietokantatyyppi, joka ei sovi puhtaasti mihinkään muuhun tietokantaan.ERDDAP™Tietotyyppi. KäytäERDDAPString for Cassandra's "text" ja kaikki muut Cassandra-tietotyypit, jotka eivät sovi puhtaasti mihinkään muuhunERDDAP™Tietotyyppi.
Ennen ennenERDDAP™V2.10,ERDDAP™ei ole tukenut allekirjoittamattomia kokonaislukutyyppejä sisäisesti ja tarjonnut rajoitettua tukea tietojen lukijoille ja kirjoittajille.
Tyypin rajoitukset
Voit ajatellaERDDAP™järjestelmänä, jolla on virtuaalisia tietoaineistoja ja joka toimii lukemalla tietoja tietoaineiston lähteestä sisäiseen tietomalliin ja kirjoittamalla tietoja eri palveluihin (esim.(OPeN)DAP,WMSja tiedostotyypit vastauksena käyttäjäpyyntöihin.
- Jokainen syöttölukija tukee tietotyyppien osajoukkoa, jokaERDDAP™tukea. Lue dataa sisäänERDDAPSisäiset tietorakenteet eivät ole ongelma.
- Jokainen tuloskirjailija tukee myös tietotyyppien osajoukkoa. Tämä on ongelma, koskaERDDAPPitää esimerkiksi puristaa pitkiä tietoja tiedostotyyppeihin, jotka eivät tue pitkiä tietoja.
Alla on selityksiä rajoituksista (Tai ei kukaan) eri kirjojen kirjoittajat ja mitenERDDAP™käsittelee ongelmia. Tällaiset komplikaatiot ovat olennainen osaERDDAPTavoitteena on tehdä erilaisista järjestelmistä yhteentoimivia.
ASCIII
- ASCIII (.csv,.tsvjne.) Tekstitiedostot -
- Kaikki numeeriset tiedot on kirjoitettu String-esityksen kautta. (puuttuvat arvot, jotka näkyvät 0-pituisina) .
- Vaikka vaikkaERDDAP™kirjoittaa pitkät ja ulommat arvot oikein ASCII-tekstitiedostoihin, monet lukijat (esim. laskentataulukot) ei voi käsitellä oikein pitkiä ja pitkiä arvoja ja muuntaa ne kaksoisarvoiksi. (tarkkuuden menetys joissakin tapauksissa) .
- Char- ja String-tiedot on kirjoitettu JSON Stringsin kautta, joka käsittelee kaikkia Unicode-hahmoja. (Erityisesti ASCII:n #127 ulkopuolella olevat "epätavalliset" hahmot, esim. Euro-hahmo näyttää "u20ac") .
JSON
- JSON (.json,.jsonlCSVjne.) Tekstitiedostot -
- Kaikki numeeriset tiedot on kirjoitettu String-esityksen kautta.
- Char- ja String-tiedot on kirjoitettu JSON Stringsiksi, joka käsittelee kaikkia Unicode-hahmoja. (Erityisesti ASCII:n #127 ulkopuolella olevat "epätavalliset" hahmot, esim. Euro-hahmo näyttää "u20ac") .
- Kaikkien numeeristen tietotyyppien puuttuvat arvot ovat nolla.
.nc3 tiedostoa
- .nc3 tiedostoa ei tue natiivisti mitään allekirjoittamattomia kokonaislukuja. Ennen CF v1.9:ää CF ei tukenut allekirjoittamattomia kokonaislukutyyppejä. käsitellä tätä,ERDDAP™2.10+ noudattaa NUG-standardia ja lisää aina ”Unsigned”-ominaisuuden, jonka arvo on ”todellinen” tai ”väärä” ilmaistakseen, onko tiedot allekirjoittamattomasta vai allekirjoitetusta muuttujasta. Kaikki attribuutit on kirjoitettu allekirjoitettuina attribuuteina. (Esimerkki: Tate) Allekirjoitettuja arvoja (esim.actual\_rangearvojen 0–255 mukainen tavun ominaisuus, jonka arvot 0–1 ovat päinvastoin kuin vaihtelevan arvon lisäarvo. Ei ole helppoa tapaa tietää, mitä (allekirjoitettuja) kokonaislukuja pitäisi lukea allekirjoittamattomina attribuuteina.ERDDAP™Tukee "Unsigned" attribuuttia, kun se lukee.nc3 tiedostoa.
- .nc3 tiedostoa ei tue pitkiä tai pitkiä tietotyyppejä.ERDDAP™Tämä tapahtuu muuntamalla ne väliaikaisesti kaksoismuuttujaksi. Kaksinkertaiset voivat edustaa kaikkia arvoja +/- 9,007,199,254,740,992 Mikä on 2,53. Tämä on epätäydellinen ratkaisu.Unidatakieltäytyy tekemästä pientä päivitystä.nc3 tämän ja siihen liittyvien ongelmien ratkaisemiseksi,.nc4 4 (Suuri muutos) kuin ratkaisu.
- CF-eritelmä (Ennen v1.9) sanoi tukevansa char-tietotyyppiä, mutta on epäselvää, onko kaari tarkoitettu vain char-sarjan rakennuspalikoiksi. Kysymykset postituslistalle antoivat vain hämmentäviä vastauksia. Näiden komplikaatioiden vuoksi on parasta välttää char-muuttujat.ERDDAP™Käytä muuttujia aina kun mahdollista.
- Perinteisesti,.nc3 tiedostoa vain tuettu merkkijono ASCII-koodilla (7-bittinen, #127) hahmoja. NUG (jaERDDAP) Tämä laajentaa (Aloitus ~2017) Sisältää merkin "Encoding" arvolla "ISO-8859-1" (ASCII:n laajennus, joka määrittää jokaisen 8-bittisen hahmon 256 arvoa) tai "UTF-8" osoittaaksesi, miten String-tiedot koodataan. Muut koodit voivat olla laillisia, mutta ne ovat lannistuneita.
.nc4 tiedostoa
- .nc4 tiedostoa tukee kaikkiaERDDAP"Tietotyypit.
NCCSV-tiedostot
NCCSV 1.0 -tiedostot eivät tue allekirjoittamattomia kokonaislukuja. NCCSV 1.1+ -tiedostotTukee kaikkia allekirjoittamattomia kokonaislukuja.
DAP
- (OPeN)DAP (.das, .dds, .asc ASCII-tiedostot ja .dods binaaritiedostot) -
- (OPeN)DAPKäsittelee lyhyitä, lyhyitä, int, uint, kelluvia ja kaksinkertaisia arvoja oikein.
- (OPeN)DAPon "tasapainoinen" tietotyyppi, jonka se määrittelee allekirjoittamattomaksi, kun taas historiallisesti, THREDS jaERDDAP™on kohdellut "tasapainoa" niin kuin ne ovat allekirjoittaneet(OPeN)DAPpalvelut. käsitellä tätä paremmin,ERDDAP™2.10+ noudattaa NUG-standardia ja lisää aina ”Unsigned”-ominaisuuden, jonka arvo on ”todellinen” tai ”väärä” ilmaistakseen, onko tieto mitäERDDAP™soittaa tavua tai ubyteä. Kaikki tavu- ja ubyte-ominaisuudet on kirjoitettu "tasapainoisiksi" attribuuteiksi, joilla on allekirjoitetut arvot (esim. ubyte)actual\_rangearvojen 0–255 mukainen tavun ominaisuus, jonka arvot 0–1 ovat päinvastoin kuin vaihtelevan arvon lisäarvo. Ei ole helppoa tapaa tietää, mitä "tasapainoisia" attribuutteja pitäisi lukea ubyte attribuuttina.
- (OPeN)DAPei tue allekirjoitettuja tai allekirjoittamattomia pitkiä aikoja.ERDDAP™Tämä tapahtuu muuntamalla ne väliaikaisesti kaksinkertaisiksi muuttujiksi ja attribuuteiksi. Kaksinkertaiset voivat edustaa kaikkia arvoja jopa 9,007,199,254,740,992 Mikä on 2,53. Tämä on epätäydellinen ratkaisu.OPeNDAP (Organisaatio) kieltäytyy tekemästä pientä päivitystäDAP2.0 Tämän ja siihen liittyvien ongelmien ratkaiseminenDAP4 4 (Suuri muutos) kuin ratkaisu.
- Koska koska(OPeN)DAPei ole erillistä char-tietotyyppiä, ja se tukee vain 1-tavuisia ASCII-merkkejä. (#127) Stringsissä char-datamuuttujat näkyvät 1-merkkisenä Stringsinä.(OPeN)DAP.das, .dds ja .dods vastaus
- Teknisesti,(OPeN)DAPspesifikaatio tukee vain ASCII-koodattuja hahmoja (#127) . NUG (jaERDDAP) Tämä laajentaa (Aloitus ~2017) Sisältää merkin "Encoding" arvolla "ISO-8859-1" (ASCII:n laajennus, joka määrittää jokaisen 8-bittisen hahmon 256 arvoa) tai "UTF-8" osoittaaksesi, miten String-tiedot koodataan. Muut koodit voivat olla laillisia, mutta ne ovat lannistuneita.
Tyypin kommentteja
- Pitkän, ulomman ja char-tietojen huonon tuen vuoksi monissa tiedostotyypeissä lannistamme näiden tietotyyppien käytön.ERDDAP. Jos mahdollista, käytä tuplasti pidemmän ja ulomman sijasta ja käytä Stringiä charin sijaan.
- Metadata - koska(OPeN)DAP.das ja .dds-vastaukset eivät tue pitkiä tai pitkiä ominaisuuksia tai tietotyyppejä (Näytä ne kaksinkertaisiksi) Voit sen sijaan käyttääERDDAPMetadatan tabulaarinen esitys, sellaisena kuin se näkyyhttpErddap/ Info // datasetID .html verkkosivut (esimerkiksi https://coastwatch.pfeg.noaa.gov/erddap/info/cwwcNDBCMet/index.html ) (jotka voit saada myös muissa tiedostotyypeissä, esim. .csv,.htmlTable,.itx,.json,.jsonlCSV1,.jsonlCSV,.jsonlKVP,.mat,.nc,.nccsv,.tsv,.xhtml) tai.nccsvMetadata vastaus (esimerkiksi https://coastwatch.pfeg.noaa.gov/erddap/tabledap/cwwcNDBCMet.nccsvMetadata Vaikka.nccsvMetadata on saatavana vain tabulaarisille tietoaineistoille.) Molemmat tukevat kaikkia tietotyyppejä (Huomattavasti, pitkä, ulong ja char) .
Mediatiedostot
Kaikki tiedot eivät ole numeroita tai tekstiä. Jotkin tietoaineistot koostuvat tai sisältävät mediatiedostoja, kuten kuvia, ääni- ja videotiedostoja.ERDDAP™on joitakin erityisiä ominaisuuksia, joiden avulla käyttäjät voivat käyttää mediatiedostoja. Tämä on kaksivaiheinen prosessi:
- Tee jokaisesta tiedostosta käyttökelpoinen omalla URL-osoitteellasi järjestelmällä, joka tukee sivuvälipyyntöjä. Helpoin tapa tehdä tämä on laittaa tiedostot hakemistoon, jokaERDDAP™on pääsy. (Jos se on säiliössä kuin.ziptiedosto, poista ne, vaikka haluat ehkä tarjota.ziptiedosto myös käyttäjille.) Tee sittenEdDTableFromFileNamesTiedot, joiden avulla nämä tiedostot ovat saatavillaERDDAP™erityisesti kauttaERDDAP>"files"Järjestelmäjärjestelmä.
Kaikki tiedostot ovat saatavilla EDDTableFromFileNamesin kautta jaERDDAP>"files"Järjestelmän tukiTate-valikoiman pyynnöt. Yleensä kun asiakas (esim. selain) esittää URL-osoitteen, se saa koko tiedoston vastauksena. Taskutuspyynnön avulla pyyntö määrittää useita tavuja tiedostosta, ja palvelin palauttaa vain nämä tavut. Tämä on tärkeää tässä, koska selaimien ääni- ja videosoittimet toimivat vain, jos tiedostoa voidaan käyttää sivuvälipyyntöjen kautta.
Vaihtoehtoinen: Jos sinulla on useampi kuin yksi tietokanta, johon liittyy mediatiedostoja, voit tehdä vain yhden EDDTableFromFileNames-tiedoston, jolla on kunkin tiedostoryhmän alikansio. Etu on, että kun haluat lisätä uusia mediatiedostoja uuteen tietoaineistoon, sinun tarvitsee vain luoda uusi kansio ja laittaa tiedostot kansioon. Tiedostot ja kansio lisätään automaattisesti EDDTableFromFileNames-tietokantaan.
- Vaihtoehtoinen: Jos sinulla on tietoaineisto, joka sisältää viittaukset mediatiedostoihin, lisää seERDDAP. Esimerkiksi sinulla voi olla .csv-tiedosto, jossa on rivi joka kerta, kun joku näki valaan ja sarakkeen, joka sisältää kyseisen havainnon kuvatiedoston nimen. Jos kuvatiedoston nimi on vain tiedostonimi, esim. Img20141024T192403Z, ei täydellinen URL-osoite, sinun on lisättävätiedoston käyttöoikeus Url ja / tai tiedostoAccessSuffixMetadatan ominaisuudet tästädataVariablejoka määrittää perusURL-osoitteen ja riittävyyden näille tiedostonimille. Jos tiedostot ovat saatavilla EDDTableFromFileNamesin kautta, URL on lomakkeessa. Perusta /erddap/files/ datasetID // Esimerkiksi,
<att name="fileAccessBaseUrl">*someBaseURL*</a>
<att name="fileAccessSuffix">.png</a>
Jos on olemassa.ziptai muu konttitiedosto, jossa on kaikki tietomuuttujaan liittyvät mediatiedostot, suosittelemme myös, että tiedosto on käyttäjän saatavilla. (Askel 1 yläpuolella) ja tunnistaa sen atiedoston käyttöoikeus Urlattribuutti.
\[Aloita sisäänERDDAP™V1,82\]Jos teet ensimmäisen askeleen edellä (tai molemmat vaiheet) Kun käyttäjä katsooERDDAP™ "files"Järjestelmä tälle aineistolle (tai pyytää näkemään tietoaineiston aliryhmän.htmlTablePyydä, jos teet toisen vaiheen) ,ERDDAP™Näytä ikoni tiedostonimen vasemmalla puolella. Jos käyttäjä vilkkuu kyseisen ikonin yli, hän näkee popupin, joka näyttää kuvan tai äänisoitin tai videosoitin. Selaimet tukevat vain rajoitettua määrää
- Kuvakuva kuva (yleensä .gif, .jpg ja .png) ,
- ääntä (.mp3, .ogg ja .wav) ja
- Videotiedostot (Yleensä .mp4, .ogv. WEB) .
Tuki vaihtelee eri versioiden eri selainten eri käyttöjärjestelmissä. Joten jos sinulla on mahdollisuus valita tiedostotyyppi tarjota, on järkevää tarjota tällaisia tiedostoja.
Tai jos käyttäjä napsauttaa tiedostonimeä, joka näkyy yhdelläERDDAP™Web-sivu, heidän selaimensa näyttää kuvan, äänen tai videotiedoston erillisenä verkkosivuna. Tämä on enimmäkseen hyödyllistä nähdä erittäin suuri kuva tai video skaalattu koko näytön sijaan popup.
AWS S3 -tiedostot
Amazon Web palvelut (AWS) on myyjäPilvitietokonepalvelut.S3Se on AWS:n tarjoama objektivarastojärjestelmä. Perinteisen tiedostojärjestelmän hakemistojen ja tiedostojen sijasta (kuin kiintolevy PC:ssä) , S3 tarjoaa vain "buckets", joka pitää "objekteja" (Me kutsumme heitä"files") .
ASCII-tiedostoja (Esimerkkinä .csv) ,ERDDAP™Voit työskennellä tiedostojen kanssa suoraan bucketsissa. Ainoa mitä sinun tarvitsee tehdä on määritellä<tiedostoDir> for the dataset käyttämällä AWS:n taakan tiettyä muotoa, esimerkiksi https://bucketName.s3.aws-region.amazonaws.com/subdirectory/ . Sinun ei pitäisi käyttää<CacheFromUrl. Katso alta yksityiskohtia.
Binaaritiedostoja (esim..nc.grib, .bufr ja.hdftiedostoja) Sinun täytyy käyttää<CacheFromUrl-järjestelmä kuvattu alla.ERDDAPNetcdf-java (jonkaERDDAP™Käyttää lukea tietoja näistä tiedostoista) ja muut tieteelliset tietoohjelmistot on suunniteltu toimimaan tiedostojen kanssa perinteisessä tiedostojärjestelmässä, joka tarjoaaLohkojen tasoPääsy tiedostoihin (joka sallii tiedoston lukemisen) S3 tarjoaa vaintiedoston taso (objekti objektiivi) Pääsy tiedostoihin (joka sallii koko tiedoston lukemisen) . AWS tarjoaa vaihtoehdon S3:lle.Elastic Block -kauppa (EBS) ), joka tukee lohkotason pääsyä tiedostoihin, mutta se on kalliimpaa kuin S3, joten sitä käytetään harvoin suurten tietotiedostojen massavarastointiin. (Kun ihmiset sanovat tietojen tallentamista pilveen (S3) Se on halpaa, se on yleensä appelsiinien vertailu.)
S3 Buckets
Bucketin sisältö. Avaimia. Objects. Delimiters.
Teknisesti S3-laatikot eivät ole järjestetty hierarkkisessa tiedostorakenteessa, kuten tietokoneen tiedostojärjestelmässä. Sen sijaan bucketit sisältävät vain "kohteita" (tiedostoja) Jokaisella on "avain" (Nimi) . Esimerkkinä tästä noaa-goes17 bucketista
ABI-L1b-RadC/2019/235/22/OR\\_ABI-L1b-RadC-M6C01\\_G17\\_s20192352201196\\_e20192352203569\\_c20192352204013.nc
Vastaava URL-osoite tälle kohteelle on
AWS tukee hieman vaihtelua URL:n rakentamisessa, muttaERDDAP™Tarvitaan tämä erityinen muoto:
https://bucketName.s3.region.amazonaws.com/key
On yleistä, kuten tässä esimerkissä, tehdä avainnimet näyttävät hierarkkiselta polulta ja tiedoston nimi, mutta teknisesti ne eivät ole. Koska se on yleistä ja hyödyllistä,ERDDAP™käsittelee avaimia hierarkkisella polulla ja tiedoston nimillä, ja tämä dokumentaatio viittaa niihin. Jos avaimet eivät käytä / (esimerkiksi avain, kuten
ABI-Lib.2018.052.22.OR | ABI-L1b-RadM2-M3C10 |G16 |20180522247575 |ERDDAP™Käsittele koko tiedoston nimi.
Yksityinen vs julkinen buckets ----- S3:n järjestelmänvalvoja voi tehdä taakan ja sen sisällön julkiseksi tai yksityiseksi. Jos julkista, kuka tahansa voi ladata tiedostoa URL-osoitteen avulla. Amazonilla onAvoin dataOhjelma, joka isännöi julkisia tietoaineistoja (mukaan lukien tiedotNOAANASA ja USGS) ilmaiseksi eikä veloita keneltäkään ladata tiedostoja noista ämpäreistä. Jos ämpäri on yksityinen, bucketissa olevat tiedostot ovat vain sallittujen käyttäjien saatavilla ja AWS veloittaa maksun. (Yleensä maksetaan omistajan) tiedostojen lataaminen ei-AWS S3 -tietokoneeseen.ERDDAP™Tietoja voi käyttää julkisissa ja yksityisissä buckeissa.
AWS Credentials
tehdä niin, ettäERDDAP™Voit lukea yksityisten bucketien sisältöä, tarvitset AWS-tunnuksia ja sinun on tallennettava tunnistustiedosto vakiopaikkaan.ERDDAP™Löydät tiedot. Katso AWS SDKJava2.x dokumentointi:Aseta oletusarvot. (Mahdollisuus säilyttää arvotJavaKomentosarjan parametrit\[Tom\]Bin/setenv.sh voi olla hyvä vaihtoehto.)
AWS / tiedostot
- tiedostot/järjestelmä - TheERDDAP™ tiedostot/j ärjestelmäKäyttäjät voivat ladata lähdetiedostoja tietoaineistoon. Suosittelemme, että käännät tämän kaikkien lähdetiedostojen kohdalla, koska monet käyttäjät haluavat ladata alkuperäisen lähdetiedoston.
- Jos tiedostot ovat yksityisessä S3-taskussa, käyttäjän pyyntö ladata tiedosto käsitelläänERDDAP™joka lukee tiedot tiedostosta ja välittää sen käyttäjälle, mikä lisää tiedoston kuormaa.ERDDAP™Käyttämällä tulevia ja lähteviä kaistanleveyksiä ja tekemällä sinut (TheERDDAP™Hallinnollinen) Maksa egress-maksu AWS:lle.
- Jos tiedostot ovat julkisessa S3-tiedostossa, käyttäjän pyyntö ladata tiedosto ohjataan AWS S3 -URL-osoitteeseen kyseiseen tiedostoon, joten tiedot eivät virtaa läpi.ERDDAP™Näin kuormituksen vähentäminenERDDAP. Jos tiedostot ovat Amazon Open Data (Ilma ilmaiseksi ilmaiseksi) Julkinen bucket, sitten sinä (TheERDDAP™Hallinnollinen) Sinun ei tarvitse maksaa mitään tietojen egress-maksua AWS. On olemassa suuri etu, joka palvelee julkisia tietoja. (Ei yksityistä) S3 buckets ja valtava etu datan tarjoamiseen Amazon Open Datasta (Ilma ilmaiseksi ilmaiseksi) Buckets.
ERDDAP™AWS S3 Buckets
ERDDAP™AWS S3 Buckets
onneksi paljon vaivan jälkeen,ERDDAP™on useita ominaisuuksia, joiden avulla se pystyy käsittelemään S3: n lohkotason tiedostojen käytön luontaisia ongelmia kohtuullisen tehokkaasti:
- \[Disclaimer: AWS S3:n kanssa työskentely on paljon muutakin. AWS on valtava palveluiden ja ominaisuuksien ekosysteemi. Paljon on opittavaa. Se vaatii aikaa ja vaivaa, mutta se on mahdollista. Ole kärsivällinen ja saat asiat toimimaan. Etsi / Pyydä apua
(()AWS-dokumentointiWEB kutenStack Overflowja säännöllinen
ERDDAP™Tukivaihtoehdotjos/kun olet jumissa.\]
- Voi olla vaikea löytää hakemistorakennetta ja tiedostojen nimiä S3-laatikossa.ERDDAP™EDDTableFileNames on erityinen\*\*Lähde: The FlyVaihtoehto, jonka avulla voit tehdä EDDTableFileNames-tietokannan, jonka avulla käyttäjät voivat selata S3-laastarin sisältöä (Lataa tiedostoja) Tietoaineiston kautta"files"vaihtoehto. On olemassa yksiEsimerkki tästä alla.
- ERDDAP™Voi lukea dataaUlkoisesti pakattu datatiedostoOn hyvä, jos S3-tiedostot tallennetaan.gz,.gzip,.bz2.Z tai muita ulkoisesti pakattuja tietotiedostoja, jotka voivat dramaattisesti (2 - 20X) leikata tiedostojen säilytyskustannuksia. Ulkoisesti pakattujen tiedostojen käyttämiseen ei usein ole aikaa, koska aika on tallennettu siirtämällä pienempi tiedosto S3:sta S3:een.ERDDAPTasapainottaa ylimääräistä aikaa, jota tarvitaanERDDAP™poistaa tiedoston. Jotta voit käyttää tätä ominaisuutta, sinun on vain varmistettava, että tietoaineisto on<tiedostonameregex> sallii pakatun tiedostotyypin (esim. lisäämällä (|.gz) Regexin loppu) .
- Yleisin tapaus, jossa sinulla onERDDAP™asennettu tietokoneellesi testiin/kehitykseen ja missä tietoaineistossa on binääritiedostoja, jotka tallennetaan objekteiksi S3-taskussa, yksi lähestymistapa tietojen keräämiseen.ERDDAP™on:
-
Luo hakemisto tietokoneellesi, jotta sinulla on muutama testitiedosto.
-
Lataa kaksi tietotiedostoa lähteestä juuri luomasi hakemistoon.
-
KäytäGenerateDatasetsXmlTuottaa Chunk ofdatasets.xmlkahden paikallisen datatiedoston perusteella.
-
Tarkista, että aineisto toimii halutulla tavallaDasdsja/tai paikallisetERDDAP.
Seuraavat vaiheet tekevät kopion kyseisestä tietoaineistosta (Tietoja S3:sta) yleisölleERDDAP.
-
Kopioi kopiodatasets.xmlaineistoa vartendatasets.xmlyleisölleERDDAP™Se palvelee tietoja.
-
Luo hakemisto yleisölleERDDAP"Paikallinen kiintolevy pitää kätkön väliaikaisia tiedostoja. Hakemisto ei käytä paljon levytilaa (Katso CacheSizeGB alta) .
-
muuttaa aineiston arvoa<tiedostoDir>-tunnisteet, jotta se osoittaa juuri luomasi hakemiston (Vaikka hakemisto on tyhjä) .
-
Lisää ACacheFromtunniste, joka määrittää tietoaineiston bucket-nimen ja valinnaisen prefixin (.e., hakemisto) ErityisestiAws S3 URL-muodossaERDDAP™Vaatii.
-
Lisää a [<CacheSizeGB » (#cachefromurl) Tietoaineiston xml (10 on hyvä arvo useimmille aineistoille.) kertomaanERDDAP™rajoittaa paikallisen välimuistin kokoa (Älä yritä välittää kaikkia etätiedostoja) .
-
Katso, toimiiko se yleisössäERDDAP. Huomaa, että ensimmäinen kertaERDDAP™aineiston lataaminen kestää kauan, koskaERDDAP™Pitää ladata ja lukea kaikki tiedostot.
-
Jos tietokanta on valtava kokoelma suuria verkkotiedostoja, tämä kestää hyvin kauan ja on epäkäytännöllinen. joissakin tapauksissa verkkoon tallennettujen tiedostojen osalta,ERDDAP™voi poistaa tarvittavat tiedot (esim. verkkotietotiedoston tietojen aikapiste) tiedoston nimi ja välttää tämä ongelma. NäytäYhteenveto kautta File Names.
- Optionaalisesti (Etenkin EDDTableFromFiles-tietokantaan) Voit lisätä yhdennthreadsTag to the dataset to tell Näytä tarkat tiedotERDDAPkäyttää yli 1 lanka, kun vastaat käyttäjän tietopyyntöön. Tämä minimoi viivästyksen vaikutukset, jotka tapahtuvat, kunERDDAP™Lue datatiedostoja (Etäinen) AWS S3 -paketit paikalliseen välimuistiin ja (Ehkä ehkä ehkä ehkä ehkä) masentaa niitä.
AWS S3 avoimet tiedot
osanaNOAA>Big Data -ohjelma,NOAAAWS:llä on kumppanuuksia viiden organisaation, mukaan lukien AWS:n, kanssa tutkiakseen mahdollisia hyötyjä pilvipalvelun keskeisien havaintojen ja mallitulosten tallentamisesta, jotta voidaan laskea suoraan tietoihin ilman lisäjakelua. AWS sisältää tiedot, jotka se saaNOAAosana ohjelmaa, joka tarjoaa yleisön pääsyn suureen kokoelmaanAvoimia tietoja AWS S3:stamistä tahansa tietokoneesta, olipa kyseessä Amazon-tietokone. (Vuokrattu tietokone) AWS-verkossa tai omassa tietokoneessa missä tahansa verkossa. Alla olevassa esimerkissä oletetaan, että työskentelet julkisesti saatavilla olevan tietoaineiston kanssa.
Tiedostot AWS S3 Bucket
Yksityiselle S3-tietokoneelle bucketin omistajan on annettava sinulle pääsy buckettiin. (Katso AWS-dokumentaatio.)
Kaikissa tapauksissa tarvitset AWS-tilin, koska AWS SDKJava (jonkaERDDAP™käyttää hakemaan tietoa bucketin sisällöstä) Tarvitaan AWS-tilitunnuksia. (Lisää tästä alapuolella)
ERDDAP™Voit käyttää vain AWS S3 -liitännät, jos määrität [<CacheFromUrl » (#cachefromurl) (tai<Tietyssä muodossa:
https://bucketName.s3.aws-region.amazonaws.com/prefix/
missä missä
- BucketName on bucket-nimen lyhyt muoto, esim. noaa-goes17.
- Aws-alue, esim. me-east-1, on peräisin "alue" sarakkeesta yhdessä pöydässä.AWS-palvelun päätepisteetmissä bucket sijaitsee.
- Prefix on valinnainen. Jos on läsnä, sen on loputtava'/'.
Esimerkiksi, https://noaa-goes17.s3.us-east-1.amazonaws.com/ABI-L1b-RadC/
Tämä URL-osoite on yksi AWS S3 -suosituksista:Pääsy BucketjaTämä kuvaus prefixeistä.ERDDAP™edellyttää, että yhdistät bucket-URL-osoitteen ja valinnaisen etuliitteen yhteen URL-osoitteeseen määrittääksesi<CacheFromUrl (tai<tiedoston >), jossa tiedostot sijaitsevat.
Testaa AWS S3 Buckets
Julkisissa bucketsissa voit ja kannattaa testata AWS S3 -hakemiston URL-osoitetta selaimessasi, esim. https://noaa-goes17.s3.us-east-1.amazonaws.com Jos URL-osoite on oikea ja sopivaERDDAPpalauttaa XML-dokumentin, jolla on (Osittainen) Luettelo tuon bucketin sisällöstä. Täysi URL (URL-osoite ja prefix) ettäERDDAP™Tietyn aineiston käyttö ei toimi selaimessa. AWS ei tarjoa järjestelmää, joka selaa hierarkiaa helposti selaimessasi. (Jos se on väärin, pyydämme sähköpostia. Johannes osoitteessa Noaa.gov. Muussa tapauksessa, Amazon, ole hyvä ja lisää tukea tähän!)
Katso Bucketin sisältö
S3 taajuus sisältää usein pari tiedostokategoriaa, muutamassa pseudo-aliohjauksessa, joista voi tulla pari.ERDDAP™Dataa. tehdäkseenERDDAP™Tiedot, sinun täytyy tietää aloitushakemisto<CacheFromUrl (tai<tiedostoDir>) ja tiedostonimien muoto, jotka tunnistavat kyseisen tiedostojen alaryhmän. Jos yrität katsoa koko bucket-sisällön selaimessa, S3 näyttää vain ensimmäiset 1000 tiedostoa, jotka eivät riitä. Tällä hetkellä paras tapa tarkastella kaikkea bucketin sisältöä on tehdäEdDTableFromFileNamesData (PC:lläsiERDDAP™ja/tai julkisestiERDDAP) , joka myös antaa sinulle helpon tavan selata hakemistorakennetta ja ladata tiedostoja. The<tiedostoDir>, sillä se on URL, jonka olet tehnyt yllä, esim. https://noaa-goes17.s3.us-east-1.amazonaws.com .\[Miksi AWS S3 ei tarjoa nopeaa ja helppoa tapaa tehdä tätä ilman AWS-tiliä?\]Huomautus: Kun teen tämän tietokoneellani ei-Amazon-verkossa, näyttää siltä, että Amazon hidastaa vastausta yritykseen. (noin 100 (??) tiedostoja per chunk) Muutaman ensimmäisen kierroksen jälkeen (1000 tiedostoa per chunk) on ladattu. Koska buckets voi olla valtava määrä tiedostoja (Noaa-Goes17 on 26 miljoonaa) , saada kaikki sisältö bucket voi kestää EDDTableFileNames useita tunteja (Esim. 12!) loppuun.\[Amazon, eikö niin?\]
Tehdä EDDTable FileNames-tietokanta, jossa on AWS S3 Bucket
Jos sinulla on bucket-nimi, mutta sinulla ei ole jo luetteloa tiedostoista S3-taskussa tai etuliite, joka tunnistaa tiedostojen sijainnin bucketissa, käytä alla olevia ohjeita tehdäksesi EDDTableFileNames-tietoaineiston, jotta voit selata S3-laastarin hakemistohierarkiaa.ERDDAP>"files"järjestelmä.
- Avaa AWS-tili ERDDAP™käyttääAWS SDKJavaSaadaksesi lisätietoja AWS:stä, joten sinun täytyyLuo ja aktivoi AWS-tili. Se on aika iso työ, jossa on paljon opittavaa.
- Laita AWS Credentials missäERDDAP™Löydä ne. Seuraa ohjeitaAWS Credentials and Region for Development Näytä tarkat tiedotniinERDDAP™ (AWS SDK:lleJava) Löydät ja käytät AWS-tunnuksiasi. JosERDDAP™Et löydä salaisuuksia, näet Java.lang. Laiton väite: profiilitiedosto ei voi olla nollavirheERDDAPlog.txt-tiedosto.
Linuxin ja Mac OS:n vihje: Tomcatia käyttävän käyttäjän kotihakemistossa (jaERDDAP) (Käyttäjä = Tomcat) tiedostossa nimeltä ~/.aws/credentials. Älä oleta, että ~ on/home/tomcat – itse asiassa k äytä cd:tä selvittääksesi, missä käyttöjärjestelmä ajattelee - käyttäjälle = Tomcat on. Luo hakemisto, jos sitä ei ole olemassa. Lisäksi, kun olet laittanut valtakirjatiedoston käyttöön, varmista, että tiedoston käyttäjä ja ryhmä ovat tomcat ja käytä chmod 400 -tunnustusta varmistaaksesi, että tiedosto on luettu vain käyttäjälle.
- Luo bucket URLmuotoilua,ERDDAP™Vaatiiesim. https://noaa-goes17.s3.us-east-1.amazonaws.com ja (Julkinen buckets) testaa selaimessa varmistaakseen, että se palauttaa XML-dokumentin, jolla on osittainen luettelo kyseisen taakan sisällöstä.
- KäytäGenerateDatasetsXmlluodaanEdDTableFromFileNamesTietoja:
-
Käytä tätä syntaksia: \\\ \ Lähde: Your BucketUrl** esimerkiksi \\> > > > > https://noaa-goes17.s3.us-east-1.amazonaws.com/
-
Tiedoston nimi Regex? ****
-
toistuvasti? Todellista
-
Reload Kaikki minuutit? 10080
-
infoUrl?? https://registry.opendata.aws/noaa-goes/
-
instituutio?NOAA
-
Yhteenveto? Ei mitään ei (ERDDAP™luodaan tiivistelmä automaattisesti.)
-
Titteli? Ei mitään ei (ERDDAP™Se luo automaattisesti hyvän otsikon.) Kuten tavallista, sinun tulisi muokata tuloksena olevaa XML-osoitetta korjataksesi korrektiuden ja tehdä parannuksia ennen kuin tietoaineistot on kiinnitetty siihen.datasets.xml.
-
- Jos noudatat yllä olevia ohjeita ja lataat tiedotERDDAPOlet luonut EDDTableFromFiles-aineiston. Esimerkkinä ja helpottaaksemme sitä, että kuka tahansa voi selata ja ladata tiedostoja AWS Open Data bucketsista, olemme luoneet EDDTableFromFileNames -tietokannan (katso luettelosta.
https://upwell.pfeg.noaa.gov/erddap/search/index.html?searchFor=awsS3Files\_ Lähes kaikkiinAWS S3 Open Data Buckets Näytä tarkat tiedot.
\[Muutama ämpäri, jota emme sisältäneet, sisältää runsaasti tiedostoja juurihakemistoon. (enemmän kuin voidaan ladata kohtuullisessa ajassa) tai ei salli julkista pääsyä (Eikö kaikkien pitäisi olla julkisia?) tai ovat pyynnön vastaanottajia (Esimerkki: Sentinel) .\]
Jos klikkaat"files"linkki johonkin näistä tietoaineistoista, voit selata hakemistopuuta ja tiedostoja kyseisessä S3-laastarissa. Tien vuoksi\*\*TheFly EDDTableFromFiles toimii, nämä hakemistot ovat aina ajan tasalla, koskaERDDAP™Ota ne lennolle. Jos napsautat hakemistopuuta oikeaan tiedostonimeen ja klikkaat tiedoston nimeä,ERDDAP™Ohjaa pyyntösi uudelleen AWS S3:een, jotta voit ladata tiedoston suoraan AWS:ltä. Tämän jälkeen voit tarkastaa tiedoston.
Ongelmia? Jos EDDTableFromFiles ei kuormitaERDDAP™ (Dasds) Katso log.txt-tiedosto virheilmoitukseen. Jos näet yhden Java.lang. Laiton väite: profiilitiedosto ei voi olla nollavirhe, ongelma on, että AWS SDKJava (käyttänytERDDAP) Ei löydy tiedostoa. Katso yllä olevat ohjeet.
On valitettavaa, että AWS ei salli ihmisten käyttää selainta nähdäkseen julkisen taakan sisällön.
Sitten voit tehdäERDDAP™tietoaineistot, jotka antavat käyttäjille pääsyn tiedostoihin.
Katso ohjeetERDDAP™S3 Buckets (yläpuolella) .
Näytteen EDDTableFromFileNames-tietoaineistosta, jonka olet tehnyt edellä, jos teet hieman hakemiston ja tiedoston nimien kanssa hakemistossa, on selvää, että ylätason hakemistojen nimet (ABI-L1b-RadC) vastaa mitäERDDAP™Kutsutaan erillisiä aineistoja. Se, jonka kanssa työskentelet, voi olla samanlainen. Voit luoda erillisiä tietoaineistojaERDDAP™jokaisesta näistä tietoaineistoista, esimerkiksi
https://noaa-goes17.s3.us-east-1.amazonaws.com/ABI-L1b-RadC/
kuin<CacheFromUrl. Valitettavasti tässä esimerkissä bucketin tietoaineistot näyttävät olevan tasoa 1 tai tasoa 2.ERDDAP™ ei ole erityisen hyväaineisto on monimutkaisempi muuttujien kokoelma, joka käyttää erilaisia ulottuvuuksia.
NCML-tiedostot
NcML-tiedostojen avulla voit määrittää lennolla tapahtuvat muutokset yhteen tai useampaan alkuperäiseen lähteeseen.NetCDF (V3 tai v4) .nc.grib, .bufr tai.hdf (V4 tai v5) tiedostoja ja sitten onERDDAP™kohtelee.ncml tiedostoja kuin lähdetiedostoja.ERDDAP™Data hyväksyy.ncml-tiedostoja aina.nctiedostoja odotetaan. NCML-tiedostot on laajennettava.ncMl. NähdäänUnidataNCML-dokumentaatio. NCML on hyödyllinen, koska voit tehdä jotain sen kanssa. (muun muassa tekemällä erilaisia muutoksia kokoelman eri tiedostoihin, mukaan lukien tiedoston ulottuvuuden lisääminen tietyllä arvolla.) että et voi tehdäERDDAP>datasets.xml.
- Muutoksia yhdelle.ncml-tiedoston viimeinenModified-aika aiheuttaa tiedoston lataamisen aina, kun tietoaineisto ladataan uudelleen, mutta muutokset taustalla olevaan.ncDatatiedostoja ei havaita suoraan.
- Lähde: NCML\*erittäin\*jotka ovat herkkiä joidenkin NCML-tiedostojen tilaukselle. Ajattele NCML:ää määrittämällä ohjeet määritetyssä järjestyksessä tarkoituksena muuttaa lähdetiedostoja. (NCML-tiedoston alussa/top) Kohteen tiedostot (NCML-tiedoston lopussa / alaosassa) .
Vaihtoehtona NCML onNetCDFOperaattorit (NCO) . Suurin ero on se, että NCML on järjestelmä, joka tekee muutoksia lennossa. (lähdetiedostoja ei muuteta) , kunNCOvoidaan käyttää tekemään muutoksia (Uudet versiot) tiedostoja. Molemmat molemmatNCONcML on erittäin, erittäin joustava ja voit tehdä lähes mitä tahansa muutoksia voit ajatella tiedostoja. Molemmille voi olla haastavaa selvittää, miten tehdä mitä haluat tehdä - tarkistaa verkossa vastaavia esimerkkejä. Molemmat ovat hyödyllisiä työkaluja verkko- jaHDFtiedostoja käytettäväksiERDDAPtehdä muutoksia, jotka ylittävätERDDAPManipulointijärjestelmä voi toimia.
Esimerkki #1: Ajan ulottuvuuden lisääminen yhdellä arvolla Tässä on yksi.ncml-tiedosto, joka luo uuden ulkomitan (Aika, jossa on 1 arvo: 1041379200) ja lisää tuon ulottuvuuden pic-muuttujaan tiedostossa nimeltä A2003001.L3m DAYPIC \ 4km.nc:
<netcdf xmlns='https://www.unidata.ucar.edu/namespaces/netcdf/ncml-2.2'>
<variable name='time' type='int' shape='time' />
<aggregation dimName='time' type='joinNew'>
<variableAgg name='pic'/>
<netcdf location='A2003001.L3m\\_DAY\\_PIC\\_pic\\_4km.nc' coordValue='1041379200'/>
</aggregation>
</netcdf>
Esimerkki #2: Ajan arvon muuttaminen Joskus lähde.nctiedostolla on jo aika- ja aika-arvo, mutta arvo on väärä. (tarkoituksiinsa) . Tämä tämä.ncml-tiedosto sanoo: tiedostolle, jonka nimi on 19810825230030-NCEI, ulottuvuusmuuttujan osalta"time", asettaa yksiköiden ominaisuuden "sekunneiksi vuodesta 1970-01T00:00:00Z" ja asettaa aika-arvon 367588800.
<netcdf xmlns='https://www.unidata.ucar.edu/namespaces/netcdf/ncml-2.2'
location="19810825230030-NCEI-L3C\\_GHRSST-SSTskin-AVHRR\\_Pathfinder-PFV5.3\\_NOAA07\\_G\\_1981237\\_day-v02.0-fv01.0.nc">
<variable name="time">
<attribute name='units' value='seconds since 1970-01-01T00:00:00Z' />
<values>367588800</values>
</variable>
</netcdf>
NetCDFOperaattorit (NCO)
NetCDF-operaattorit (NCO) Sisältää kymmeniä erillisiä, komentorivi-ohjelmia, jotka ottavat netCDF: n\[V3 tai v4\],HDF \[V4 tai v5\],\[.grib, .bufr\]ja/taiDAPtiedostot syötteenä, sitten toimivat (esimerkiksi uusi data, laskentatilastot, tulostus, hyperslab, manipuloida metatietoja) ja tulostavat tulokset seulottavaksi tai tiedostoiksi teksti-, binaari- tai netCDF-muodossa.NCOAuttaa analysoimaan verkottuneita tieteellisiä tietoja. Kuoren komentajan tyyliNCOKäyttäjät voivat manipuloida ja analysoida tiedostoja vuorovaikutteisesti tai ilmaisulla skripteillä, jotka välttävät korkeamman tason ohjelmointiympäristöjä. (From theNCOKotisivut) .
vaihtoehtoNCOonNCML. Suurin ero on se, että NCML on järjestelmä, joka tekee muutoksia lennossa. (lähdetiedostoja ei muuteta) , kunNCOvoidaan käyttää tekemään muutoksia (Uudet versiot) tiedostoja. Molemmat molemmatNCONcML on erittäin, erittäin joustava ja voit tehdä lähes mitä tahansa muutoksia voit ajatella tiedostoja. Molemmille voi olla haastavaa selvittää, miten tehdä mitä haluat tehdä - tarkistaa verkossa vastaavia esimerkkejä. Molemmat ovat hyödyllisiä työkaluja verkko- jaHDFtiedostoja käytettäväksiERDDAPtehdä muutoksia, jotka ylittävätERDDAPManipulointijärjestelmä voi toimia.
Voit esimerkiksi käyttääNCOtehdä aikamuuttujan yksiköistä yhdenmukaisia tiedostoryhmässä, jossa ne eivät olleet alun perin johdonmukaisia. Tai voit käyttääNCOsoveltaascale\_factorjaadd\_offsetryhmä tiedostoja, joissascale\_factorjaadd\_offsetEri lähdetiedostoissa on erilaisia arvoja. (Nyt voit käsitellä näitä ongelmiaERDDAP™kauttaEDDGridLähde: NCFiles Unpackedmikä on varianttiEDDGridFromNcFiles, joka poistaa pakatut tiedot ja standardisoi aika-arvot alhaisella tasolla, jotta voidaan käsitellä erilaisia keräystiedostoja.scale\_factorS jaadd\_offsettai eri aikayksikköjä.)
NCOon ilmainen ja avoin lähdekoodi, joka käyttääGPL 3.0lisenssi.
Esimerkki #1: Johdonmukaisuus
EDDGridFiles ja EDDTable Tiedostojen mukaan tietyn muuttujan yksiköt ovat identtisiä kaikissa tiedostoissa. Jos osa tiedostoista on triviaalisti (Ei toiminnallisesti) erilainen kuin muut (esim. aikayksikkö)
Sekunnit vuodesta 1970-01-01 00:00 UTC
"seconds since 1970-01-01T00:00:00Z"Voit käyttääNCO>Kiinnitettymuuttaa tiedostojen yksikköjä identtisesti kaikkien tiedostojen kanssa
nco/ncatted - a units,time,o,c,'seconds since 1970-01-01T00:00:00:00Z'.nc
\[Monissa tällaisissa ongelmissa EDDTableFrom... Tiedostot, voit nyt käyttääStandardisointi MitäkertomaanERDDAPstandardisoida lähdetiedostoja, kun ne luetaanERDDAP.\]
Rajoitukset tietoaineiston koolle
Näet paljon viittauksia "2 miljardiin" alla. Tarkemmin sanottuna viittaus 2 147 483 647 (31-1) 32-bittisen allekirjoitetun kokonaisluvun enimmäisarvo. Joillakin tietokonekielillä, esimerkiksiJava (jonkaERDDAP™on kirjoitettu) Tämä on suurin tietotyyppi, jota voidaan käyttää moniin tietorakenteisiin. (Esimerkiksi sarjan koko) .
String-arvot (Esimerkiksi muuttuvien nimien, attribuuttien nimien, Stringin attribuuttiarvojen ja Stringin tietoarvojen osalta) Enimmäismäärä merkkejä per StringERDDAP™on noin 2 miljardia. Melkein kaikissa tapauksissa on pieniä tai suuria ongelmia, jos lakko ylittää kohtuullisen koon. (80 merkkiä muuttuvien nimien ja attribuuttien nimien osalta ja 255 merkkiä useimmille Stringin attribuuttiarvoille) . Esimerkiksi sivut, jotka näyttävät pitkiä muuttuvia nimiä, ovat hämmentävän laajat ja pitkät muuttuvat nimet, jos ne ylittävät vastetiedostotyypin rajan.
Verkossa olevat tiedot:
- Suurin määräaxisVariableS on noin 2 miljardia. Suurin määrädataVariableS on noin 2 miljardia. Mutta jos tietoaineistossa on > 100 muuttujaa, se on hankala käyttää. Jos tietoaineistossa on > 1 miljoonaa muuttujaa, palvelimesi tarvitsee paljon fyysistä muistia ja muita ongelmia.
- Kunkin ulottuvuuden maksimikoko (axisVariable) 2 miljardia arvoa.
- Enimmäismäärä soluja (kaikenkokoisten tuotteiden) Se on rajatonta, mutta se voi olla 9e18.
Tabulaariset tiedot:
- Suurin määrädataVariableS on noin 2 miljardia. Mutta jos tietoaineistossa on > 100 muuttujaa, se on hankala käyttää. Jos tietoaineistossa on > 1 miljoonaa muuttujaa, palvelimesi tarvitsee paljon fyysistä muistia ja muita ongelmia.
- Lähteiden enimmäismäärä (Esimerkiksi tiedostoja) Voidaan yhdistää noin 2 miljardiin.
- Joissakin tapauksissa rivien enimmäismäärä yksittäisestä lähteestä (Esimerkiksi tiedosto, mutta ei tietokanta) 2 miljardia riviä.
- En usko, että on muita rajoja.
Sekä verkko- että tabulaaritietoaineistoissa on joitakin sisäisiä rajoja, joita käyttäjä voi pyytää yhdellä pyynnöllä. (> 2 miljardia tai 9e18 jotain) On paljon todennäköisempää, että käyttäjä osuu tiedostotyypin erityisrajoituksiin.
- NetCDFversio 3.ncTiedostot rajoittuvat 2GB-tavuihin. (Jos tämä on ongelma jollekulle, kerro: Voisin lisätä tukeaNetCDFversio 3.nc64-bittinen laajennus taiNetCDF4, joka lisää rajaa merkittävästi, mutta ei äärettömästi.)
- Selaimet kaatuvat vain ~500 Mt dataa, jotenERDDAP™rajoittaa vastausta.htmlTablePyynnöt ~400 Mt tietoja.
- Monilla analyysiohjelmilla on samanlaiset rajat. (Esimerkiksi ulottuvuuden maksimikoko on usein ~2 miljardia arvoa.) Joten ei ole mitään syytä työskennellä kovasti kiertää tiedostotyypin erityisrajoituksia.
- Tiedostotyypin erityisrajoitukset ovat hyödyllisiä siinä, että ne estävät naiivit pyynnöt todella suuria määriä tietoja. ("Anna minulle kaikki nämä tiedot", kun aineistossa on 20TB dataa.) Se kestää viikkoja tai kuukausia ladata. Mitä pidempi lataus, sitä todennäköisemmin se epäonnistuu eri syistä.
- Tiedostotyypin erityisrajoitukset ovat hyödyllisiä, koska ne pakottavat käyttäjän käsittelemään kohtuullisen kokoisia alijoukkoja. (Esimerkiksi suuri verkkotietoaineisto käsittelee tiedostoja, joissa on tietoja yhdestä ajankohdasta) .
Vaihda ACDD-1.3
Me olemme (erityisestiGenerateDatasetsXml) Nyt suositellaanACDD versio 1.3Ratifioitiin vuoden 2015 alussa ja sitä kutsutaan nimellä ACD-1.3. Ennen kuinERDDAP™versio 1.62 (julkaistu kesäkuussa 2015) ,ERDDAP™Käytetty/suositeltu versio 1.0NetCDFTietoaineiston löytämisen yleissopimusjota kutsuttiin "UnidataDataset Discovery v1.0 on maailmanlaajuinen yleissopimus jaMetadata\_Conventionsattribuutit.
Jos tietoaineistosi käyttävät ACDD:n aiempia versioita, siirrymme ACD-1.3:een. Ei ole vaikeaa. ACD-1.3 on täysin taaksepäin yhteensopiva versio 1.0:n kanssa. Vaihda kaikki tietoaineistot (paitsiEDDGridFromErddap ja EDDTable Lähde: Erddap Datasets) :
- Poista hiljattain heikentynyt maailmaMetadata\_ConventionsAttribuutti lisäämällä (muuttamalla olemassa olevaaMetadata\_Conventionsattribuutti)
<att name="Metadata\\_Conventions">null</att>
Tietoaineiston globaaliin<addAttributes> 2. Jos aineistolla on yleissopimus, joka liittyy maailmanlaajuisesti<addAttributes"Muuta kaikki"UnidataDataset Discovery v1.0 viittaa ACD-1.3:een. Jos aineistolla ei ole yleissopimusta, joka liittyy maailmanlaajuiseen<addAttributesLisää sitten ACD-1.3. Esimerkiksi,
<att name="Conventions">COARDS, CF-1.6, ACDD-1.3</att>
3. Jos aineistolla on globaalistandard\_name\_vocabularyOle hyvä ja muuta arvon muotoa esimerkiksi
<att name="standard\\_name\\_vocabulary">CF Standard Name Table v65</att>
Jos viittaus on vanhempaan versioonCF-standardin nimi. On hyvä vaihtaa nykyiseen versioon. (65, kun kirjoitamme tämän) Koska tuohon taulukkoon lisätään uusia vakionimiä myöhemmillä versioilla, vanhat standardit poistetaan harvoin. 4. Vaikka ACD-1.0 sisältää maailmanlaajuisia ominaisuuksiacreator\_name,creator\_email,creator\_url,GenerateDatasetsXmlei automaattisesti lisännyt niitä ennen kuin joskusERDDAP™V1.50. Tämä on tärkeää tietoa:
- creator\_nameKäyttäjät tietävät/viittailevat tietoaineiston luojaa.
- creator\_emaililmoittaa käyttäjille ensisijaisen sähköpostiosoitteen, jossa he voivat ottaa yhteyttä tietoaineiston luojaan, esimerkiksi jos heillä on kysyttävää tietoaineistosta.
- creator\_urlantaa käyttäjille mahdollisuuden saada lisätietoja luojasta.
- ERDDAP™käyttää kaikkia näitä tietoja FGDC- ja ISO 19115-2/19139 -metadatatiedostojen tuottamisessa. Näitä asiakirjoja käytetään usein ulkoisissa hakupalveluissa.
Lisää nämä ominaisuudet aineiston maailmanlaajuiseen<addAttributes>
<att name="creator\\_name">NOAA NMFS SWFSC ERD</att>
<att name="creator\\_email">erd.data@noaa.gov</att>
<att name="creator\\_url">https://www.pfeg.noaa.gov</att>
Se on se. Toivottavasti se ei ollut liian vaikeaa.
Zarr
versio 2.25ERDDAP™Paikallista luettavaa Zarr-tiedostoja käyttäenEDDTableFromNcFilesjaEDDGridLähde: NCFiles.
(Elokuussa 2019) Voimme olla väärässä, mutta emme ole vielä vakuuttuneita siitä, ettäZarrtai vastaavat järjestelmät, jotka rikkovat datatiedostoja pienemmiksi ketjuiksi, ovat hyviä ratkaisuja ongelmaan.ERDDAP™tietoja tallennetaan pilvipalveluihin, kuten Amazon AWS S3. Zarr on erinomainen teknologia, joka on osoittanut sen hyödyllisyyttä eri tilanteissa, emme ole varmoja, ettäERDDAP+3 on yksi niistä. Ennen kuin kiirehdimme tallentamaan kaikki tietomme Zarriin, teemme joitakin testejä nähdäksemme, onko se todella parempi ratkaisu.
Ongelmat tietojen saamisessa pilvessä ovat latenssi (Ensin saadaan dataa) tiedostotason käyttöoikeus (blokkitasoisen pääsyn sijaan) . Zarr ratkaisee tiedostotason käyttöongelman, mutta ei tee mitään viiveestä. Verrattuna tiedoston lataamiseen (Näin se voidaan lukea paikallisena tiedostona, jossa on block-tason käyttöoikeus.) , Zarr voi jopa pahentaa latenssiongelmaa, koska Zarrin kanssa tiedoston lukemiseen liittyy nyt useita puheluita, joiden avulla voit lukea tiedoston eri osia. (Jokaisella on oma viive) . Viiveongelma voidaan ratkaista pyyntöjen rinnastuksella, mutta se on korkeamman tason ratkaisu, joka ei ole riippuvainen Zarrista.
ja Zarr (Suhteellisten tietokantojen kanssa) Menetämme mukavuuden saada tietotiedosto on yksinkertainen, yksittäinen tiedosto, jonka voit helposti tarkistaa rehellisyys, tai tehdä / ladata kopion.
ERDDAP™ (V2) Järjestelmä ylläpitää paikallista tiedostojen välimuistia URL-lähteestä (Esimerkkinä S3) (katso)<CacheFromUrl > ja<CacheMaxGB (#cachefromurl) ). Uusi [<nthreads » (#nthreads) Vähennä viiveongelmaa rinnastamalla tietojen hakua korkealla tasolla.<CacheFromUrl näyttää toimivan hyvin monissa skenaarioissa. (Emme ole varmoja siitä, miten hyödyllistä<nThreads on ilman lisätutkimuksia.) Myönnämme, että emme ole tehneet ajoitustestejä AWS-tapauksessa, jossa on hyvä verkkoyhteys, mutta olemme onnistuneesti testanneet erilaisia URL-tiedostoja. JaERDDAP><CacheFromUrl > toimii minkä tahansa tiedoston kanssa (esim..nc,.hdf.csv,.jsonlCSV) vaikka ulkoisesti pakattu (esim..gz) ilman muutoksia tiedostoihin (Niiden uudelleenkirjoittaminen Zarrin kokoelmiin) .
On todennäköistä, että erilaiset skenaariot suosivat erilaisia ratkaisuja, esimerkiksi vain osan tiedostosta täytyy lukea. (Zarr voittaa) , vs. täytyy lukea kaikki tiedostot kerran, vs. täytyy lukea osa tai koko tiedosto toistuvasti.<CacheFromUrl voittaa.
Ennen kuin kiirehdimme tallentamaan kaikki tietomme Zarriin, teemme joitakin testejä nähdäksemme, onko se todella parempi ratkaisu.
Luettelo tyypin tietoaineistoista
Jos tarvitset apua oikean tiedostotyypin valitsemiseen, katsoDatasetin tyypin valinta.
Tietokannan tyypit kuuluvat kahteen luokkaan. (Miksi?)
EDDGrid
- EDDGrid Tiedot käsittelevät verkottuneita tietoja.
- SisälläEDDGridTietoaineistot, tietomuuttujat ovat moniulotteisia tietomääriä.
- Jokaiselle ulottuvuudelle on oltava akselimuuttuja. Akselimuuttujat on määriteltävä siinä järjestyksessä, että tietomuuttujat käyttävät niitä.
- SisälläEDDGridaineistot, kaikki tietomuuttujat on käytettävä (Osakkeet) kaikki akselimuuttujat. (Miksi? Entä jos he eivät?)
- Dimension arvot - KaikessaEDDGridTiedot, jokainen ulottuvuus on järjestettävä (nouseminen tai laskeutuminen) . Jokainen voi olla epäsäännöllinen. Ei voi olla siteitä. Tämä on vaatimusCF:n metatiedot. Jos minkään ulottuvuuden arvot eivät ole lajitellussa järjestyksessä, aineistoa ei ladata jaERDDAP™tunnistaa lokitiedoston ensimmäisen arvon, isovanhemmat /logs/log.txt.
Joillakin aloilla on lisärajoituksia (esim.EDDGridAggregateExistingDimension edellyttää, että ulompi (vasemmalla) ulottuvuus nousee.
Rajoittamattomat ulottuvuudet osoittavat lähes aina ongelman lähdeaineiston kanssa. Tämä tapahtuu yleisimmin, kun väärin nimetty tai sopimaton tiedosto sisältyy aggregaatioon, joka johtaa häiriöttömään ajan ulottuvuuteen. Tämän ongelman ratkaisemiseksi katso virheilmoitusERDDAP™Lo.txt-tiedosto, joka etsii loukkaavan ajan arvoa. Katso lähdetiedostoja löytää vastaava tiedosto (Yksi ennen tai yksi jälkeen) Se ei kuulu aggregaatioon.
- Katso täydellisempi kuvausEDDGridDatamalli.
- TheEDDGridDatan tyypit ovat:
- EDDGridAudiofiilejäkerää tietoja paikallisista äänitiedostoista.
- EDDGridLähde:DapVerkossa olevat tiedotDAPpalvelimia.
- EDDGridEDDTableVoit muuntaa tabulaarin tietoaineiston verkkoon.
- EDDGridLähde: Eddapkäsittelee verkottuneita tietoja kauko-ohjaimestaERDDAP.
- EDDGridLähde: Etopokäsittelee sisäänrakennetun ETOPO-topografian tietoja.
- EDDGridFilejäSe on kaikkien superluokkaEDDGrid...Files-luokat.
- EDDGridLähde: MergeIRFilesAggregoida tietoja paikallisesta MergeIR-ryhmästä.gztiedostoja.
- EDDGridLähde: NCFilesYhteystiedot paikallisesta ryhmästäNetCDF (V3 tai v4) .ncliittyviä tiedostoja.
- EDDGridLähde: NCFiles Unpackedon variantti, josEDDGridFromNcFiles kerää tietoja myös paikallisesta ryhmästäNetCDF (V3 tai v4) .nctiedostot, jotkaERDDAP™Pakkaukset matalalla tasolla.
- EDDGridLonPM180muuttaa lapsen pituusarvojaEDDGridNe ovat vaihteessa 180-180.
- EDDGridLon0360muuttaa lapsen pituusarvojaEDDGridNe ovat vaihteessa 0-360.
- EDDGridSideBySideYhteenveto kahdesta tai useammastaEDDGridaineistot sivuttain.
- EDDGridAggregateExistingDimensioYhteenveto kahdesta tai useammastaEDDGridaineistot, joista jokaisella on erilainen arvoalue ensimmäisessä ulottuvuudessa, mutta samat arvot muissa ulottuvuuksissa.
- EDDGridKopioVoit tehdä paikallisen kopion toisestaEDDGrid"tietoa ja palvelee tietoja paikallisesta kopiosta.
- Kaikki Kaikki Kaikki KaikkiEDDGridTiedot tukevat nThreads-asetusta, joka kertooERDDAP™kuinka monta lankaa käytetään, kun vastaat pyyntöön. Nähdäännthreadsdokumentointi yksityiskohtiin.
EdDTable
- EdDTable Tiedot käsittelevät tabulaaritietoja.
- Tabulaarisia tietoja voidaan esittää tietokannan kaltaisena taulukona riveillä ja sarakkeilla. Jokainen kolumni (Muuttuva data) Sillä on nimi, joukko ominaisuuksia ja tallentaa vain yhden tyyppisiä tietoja. Jokaisella rivillä on havainto (tai niihin liittyvien arvojen ryhmä) . Tietolähteellä voi olla tietoja eri tietorakenteessa, monimutkaisemmassa tietorakenteessa ja/tai useissa tietotiedostoissa, muttaERDDAP™Lähteen tiedot on pystyttävä lyhentämään tietokantamaiseen taulukkoon, jotta tiedot voidaan esittää tabulaarisena tietoaineistona käyttäjille.ERDDAP.
- Katso täydellisempi kuvausEDDTable Data -malli.
- EDDTable-tiedostotyypit ovat:
- EDDTableFromAllDatasetson korkeamman tason tietoaineisto, jolla on tietoa kaikista muista tietoaineistoista.ERDDAP.
- EDDTableFromAsciiFilesaggregaa dataa komma-, tab-, semicolon- tai avaruuserotetuista ASCII-datatiedostoista.
- EDDTableFromAscii-palveluSe on kaikkien EDDTableFromAsciiService -luokkien superluokka.
- EDDTableFromAsciiServiceNOSkäsittelee tietoja joistakinNOAANOS-verkkopalvelut.
- EDDTableFromAudiofiilitkerää tietoja paikallisista äänitiedostoista.
- EDDTableFrom AwsxmlfiilitTietoja automaattisesta sääasemasta (AWS) XML-tiedostoja.
- EDDTableFromCassandrakäsittelee tabulaaritietoja yhdestä Cassandra-pöydästä.
- EDDTableFromColumnarAsciiFilesASCII-datatiedostojen keräämät tiedot kiinteän leveän datan sarakkeilla.
- EdDTableFromDapsequence Näytä tarkat tiedotkäsittelee tabulaarista dataaDAPSekvenssipalvelimet.
- EDDTableFromDatabasekäsittelee tabulaaritietoja yhdestä tietokantataulukosta.
- EDDTableFromEDDGridVoit luoda EDDTable-tietoaineiston yhdestäEDDGridDataa.
- EdDTableFromDapkäsittelee tabulaarisia tietoja kauko-osastaERDDAP.
- EdDTableFromFileNamesluo tietoaineiston palvelimen tiedostojärjestelmään kuuluvasta tiedostoryhmästä, mutta se ei palvele tietoja tiedostojen sisältä.
- EDDTableFromfiilitSe on kaikkien EDDTableFrom...Files-luokkien superluokka.
- EdDTableFromHttpGetonERDDAPainoastaan tietojen tuonnin ja tietojen viennin järjestelmä.
- EDDTableFromHyraxTiedostot (Vähennetty) koostaa tiedostoja, joissa on useita muuttujia, joiden jaetut ulottuvuudetHyrax OPeNDAPPalvelin.
- EDDTableFromInvalidCRAFilesAggregoituja tietojaNetCDF (V3 tai v4) .nctiedostot, jotka käyttävät CF DSG Contiguous Ragged Array -versiota (CRA) tiedostoja. Vaikka vaikkaERDDAP™tukee tätä tiedostotyyppiä, se on mitätön tiedostotyyppi, jota kenenkään ei pitäisi aloittaa. Ryhmiä, jotka käyttävät tätä tiedostotyyppiä, kannustetaan voimakkaasti käyttämäänERDDAP™luoda kelvollisia CF DSG CRA -tiedostoja ja lopettaa näiden tiedostojen käyttö.
- EDDTableFromJsonlCSVFilesAggregoituja tietojaJSON CSV-tiedostot.
- EDDTableFromMultidimNcFiles Näytä tarkat tiedotAggregoituja tietojaNetCDF (V3 tai v4) .nctiedostoja, joissa on useita muuttujia, joilla on jaettu ulottuvuus.
- EDDTableFromNcFilesAggregoituja tietojaNetCDF (V3 tai v4) .nctiedostoja, joissa on useita muuttujia, joilla on jaettu ulottuvuus. On hienoa jatkaa tätä tietoaineistotyyppiä olemassa oleville tietoaineistoille, mutta uusille tietoaineistoille suosittelemme käyttämään EDDTableFromMultidimNcFilesiä.
- EDDTableFromNcFilesAggregoituja tietojaNetCDF (V3 tai v4) .nctiedostot, jotka käyttävät yhtä tiedostomuodoista, jotka on määritettyCF Discrete Sampling Geometria (DSG) yleissopimuksia. Jos tiedostot käyttävät yhtä moniulotteista CF DSG-muuttujaa, käytäEDDTableFromMultidimNcFiles Näytä tarkat tiedotSen sijaan.
- EDDTableFromNccsvfiilitAggregoituja tietojaNCCSVASCII .csv-tiedostoja.
- EDDTableFromNOS (Vähennetty) käsittelee tabulaaritietoja NOS XML -palvelimilta.
- EddtableFromOBISkäsittelee tabulaaritietoja OBIS-palvelimilta.
- EDDTableFromParquetFiles Näytä tarkat tiedotkäsittelee tietojaOsallistuminen.
- EDDTableFromSOSkäsittelee tabulaarista dataaSOSpalvelimia.
- EDDTableFromThreddsFiles (Vähennetty) koostaa tiedostoja, joissa on useita muuttujia, joiden jaetut ulottuvuudet3DSOPeNDAPPalvelin.
- EDDTableFromWFSTiedostot (Vähennetty) paikallinen kopio kaikista tiedoistaArcGISMapServerWFSpalvelin, jotta tiedot voidaan palauttaa nopeastiERDDAP™käyttäjiä.
- EDDTableAggregateRowsVoit tehdä EDDTable-tietoaineiston joukosta EDDTable-tietoaineistoja.
- EdDTableCopyvoi tehdä paikallisen kopion monista EDDTable-tietoaineistoista ja palauttaa tiedot nopeasti paikallisesta kopiosta.
Yksityiskohtaiset kuvaukset aineistotyypeistä
EDDGridLähde:Dap
EDDGridLähde:Dap verkon muuttujiaDAPpalvelimia.
- Suosittelemme voimakkaasti käyttämäänGenerateDatasets XML-ohjelmatehdä karkea luonnosdatasets.xmlChunk tälle aineistolle. Voit kerätä tietoja, joita tarvitset muokataksesi tai luodaksesi oman XML:n.EDDGridFromDap-tietoaineistosta katsomalla lähdeaineiston DDS- ja DAS-tiedostoja selaimessasi (Lisäämällä .das ja .dds to thesourceUrlesimerkiksi, https://thredds1.pfeg.noaa.gov/thredds/dodsC/satellite/BA/ssta/5day.dds ) .
- EDDGridFromDap voi saada tietoja mistä tahansa moniulotteisesta muuttujastaDAPpalvelin. (aikaisemmin,EDDGridFromDap oli rajoittunut muuttujiin, jotka on nimetty "verkoksi", mutta se ei ole enää vaatimus.)
- Dimension arvot - Kunkin ulottuvuuden arvot on määriteltävä järjestyksessä. (nouseminen tai laskeutuminen) . Arvot voidaan asettaa epäsäännöllisesti. Ei voi olla siteitä. Tämä on vaatimusCF:n metatiedot. Jos minkään ulottuvuuden arvot eivät ole lajitellussa järjestyksessä, aineistoa ei ladata jaERDDAP™tunnistaa lokitiedoston ensimmäisen arvon, isovanhemmat /logs/log.txt.
Rajoittamattomat ulottuvuudet osoittavat lähes aina ongelman lähdeaineiston kanssa. Tämä tapahtuu yleisimmin, kun väärin nimetty tai sopimaton tiedosto sisältyy aggregaatioon, joka johtaa häiriöttömään ajan ulottuvuuteen. Tämän ongelman ratkaisemiseksi katso virheilmoitusERDDAP™Lo.txt-tiedosto, joka etsii loukkaavan ajan arvoa. Katso lähdetiedostoja löytää vastaava tiedosto (Yksi ennen tai yksi jälkeen) Se ei kuulu aggregaatioon.
EDDGridLähde:Dap Skeleton XML
<dataset type="EDDGridFromDap" datasetID\="..." active\="..." >
<sourceUrl>...</sourceUrl>
<accessibleTo>...</accessibleTo> <!-- 0 or 1 -->
<graphsAccessibleTo>auto|public</graphsAccessibleTo> <!-- 0 or 1 -->
<accessibleViaWMS>...</accessibleViaWMS> <!-- 0 or 1 -->
<reloadEveryNMinutes>...</reloadEveryNMinutes> <!-- 0 or 1 -->
<updateEveryNMillis>...</updateEveryNMillis> <!-- 0 or 1.
For EDDGridFromDap, this gets the remote .dds and then gets the new
leftmost (first) dimension values. -->
<defaultDataQuery>...</defaultDataQuery> <!-- 0 or 1 -->
<defaultGraphQuery>...</defaultGraphQuery> <!-- 0 or 1 -->
<nThreads>...</nThreads> <!-- 0 or 1 -->
<dimensionValuesInMemory>...</dimensionValuesInMemory> <!-- 0 or 1 -->
<fgdcFile>...</fgdcFile> <!-- 0 or 1 -->
<iso19115File>...</iso19115File> <!-- 0 or 1 -->
<onChange>...</onChange> <!-- 0 or more -->
<addAttributes>...</addAttributes> <!-- 0 or 1 -->
<axisVariable>...</axisVariable> <!-- 1 or more -->
<dataVariable>...</dataVariable> <!-- 1 or more -->
</dataset>
EDDGridEDDTable
EDDGridEDDTable Voit muuntaa EDDTable-tabulaaritiedostonEDDGridVerkkotietokanta. Muista, ettäERDDAP™Käsittelemme myös dataaVerkkotietoaineistot (AlaluokkaaEDDGrid) Tabulaariset tiedot (EDDTablen alaluokka) .
- Normaalisti, jos olet tallentanut tietoja, olet juuri perustanutEDDGridTietoja suoraan. Joskus tämä ei ole mahdollista esimerkiksi silloin, kun tietoja on tallennettu relaatiotietokantaan.ERDDAP™Voit käyttää vain EDDTableFromDatabase -palvelun kautta.EDDGridLuokan avulla voit korjata tilanteen.
- EDDTable-tietoaineiston taustalla olevien tietojen on oltava (Periaatteessa) aineistoa, mutta tabulaarisessa muodossa. Esimerkiksi EDDTable-tietoaineistossa voi olla CTD-tietoja: Itä- ja pohjoisvirran mittauksia usean kerran. Koska syvyydet ovat aina samat,EDDGridFromEDDTable voi luoda verkkotietoaineiston ajan ja syvän ulottuvuuden, joka käyttää tietoja taustalla olevan EDDTable-tietokannan kautta.
- GenerateDatasets XML - Suosittelemme voimakkaasti käyttämäänGenerateDatasets XML-ohjelmatehdä karkea luonnosdatasets.xmlChunk tälle aineistolle. Voit kerätä tietoja, joita tarvitset karkean luonnoksen parantamiseksi.
- Lähteet - Kuten kaikki muutkin tietoaineistot,EDDGridpöydällä on käsitys siitä, että on olemassa globaaleja jaMaailmanlaajuinenaddAttributes (määriteltydatasets.xml) joka yhdistää maailman ominaisuuksia, joita käyttäjät näkevät. globaaleista lähteistä,EDDGridEDDTable käyttää maailmanlaajuista yhdistettyä taustalla olevan EDDTable-tietoaineiston ominaisuudet. (Jos ajattelet asiaa hetken, se on järkevää.)
Samoin jokaiselleaxisVariable> jadataVariable>addAttributes,EDDGridEDDTable käyttää muuttujan yhdistettyä Ominaisuudet taustalla olevasta EDDTable-tietoaineistosta kuinEDDGridEDDTable-muuttujan lähde. (Jos ajattelet asiaa hetken, se on järkevää.)
Jos EDDTable on hyvä metatieto,EDDGridUsein tarvitaan liian vähänaddAttributesMetadata – täällä ja siellä.
-
dataVariablevs.axisVariableS- EDD-taulukossa on vaindataVariables. YksiEDDGridEDDTable-tietokanta sisältää joitakinaxisVariables (Luotu jostain EDDTablestadataVariables) ja jotkutdataVariables (Luotu jäljellä olevasta EDDTablestadataVariables) .GenerateDatasetsXmlarvata, mikä EDDTabledataVariableS:stä pitäisi tullaEDDGridEDDTableaxisVariableS, mutta se on vain arvaus. Sinun on muutettava GenerateDatasetsXmlin tuotantoa määrittääksesi, mikädataVariables tuleeaxisVariableja missä järjestyksessä.
-
Akseliarvot - Ei ole mitään taustalla olevasta EDDTablesta kerrottavaa.EDDGridYhteenveto mahdollisista arvoistaaxisVariabletietoaineiston verkkoversiossa, joten sinun on annettava nämä tiedot jokaiselleaxisVariableYhden näistä ominaisuuksista:
- Akseliarvot - voit määrittää luettelon arvoista. Esimerkiksi, <att-nimi = "akseliarvot"Tyyppi = "kaksoislista"2,5, 3, 3,5, 4<> Huomioi A:n käyttöTietotyyppiplus sana lista. Myös listan tyyppi (Esimerkiksi kaksinkertainen) Täytyy yhdistää tiedot EDDT-taulukon tyyppi jaEDDGridEDDTable-tietokannat.
- AxisValuesStartStrideStop - määrittää säännöllisin väliajoin määritettyjen arvojen sarjan määrittämällä aloitus-, ohjaus- ja pysäytysarvot. Tässä on esimerkki, joka vastaa akseliarvojen esimerkkiä: <AxisValuestartStrideStop (käytetty)Tyyppi = "kaksoislista"•2, 0,5, 4<> Huomaa jälleen luettelon tietotyypin käyttö. Myös listan tyyppi (Esimerkiksi kaksinkertainen) Täytyy yhdistää tiedot EDDT-taulukon tyyppi jaEDDGridEDDTable-tietokannat.
Päivitykset - Aivan kuten ei ole mitään keinoaEDDGridAlun perin EDDTablen akseliarvojen määrittämiseksi ei ole myöskään luotettavaa tapaaEDDGridEDDTable määrittää EDDTable, kun akseliarvot ovat muuttuneet (Erityisesti silloin, kun aikamuuttujalle on uusia arvoja.) . Tällä hetkellä ainoa ratkaisu on muuttaa akseliarvojen ominaisuutta.datasets.xmlja ladata aineistoa uudelleen. Voit esimerkiksi kirjoittaa käsikirjoituksen
- Etsintädatasets.xmlfor datasetID=" Päivämäärä """ Työskentelet oikean datan kanssa.
- Etsintädatasets.xmlseuraavaan tapahtumaan
Lähde: TheVariablesSourceName
Työskentelet oikean muuttujan kanssa. - Etsintädatasets.xmlseuraavaan tapahtumaan
<att name="axisValuesStartStrideStop" type="doubleList">
Näin tiedät tagin lähtöasennon. 4. Etsintädatasets.xmlseuraavaan tapahtumaan
</att>
Näin tiedät akseliarvojen lopun. 5. Korvaa vanha aloitus, hiero, lopeta arvot uusilla arvoilla. 6. Ota yhteyttäLippu URLaineiston kerrottavaksiERDDAP™tietojen lataamiseen.
Se ei ole ihanteellinen, mutta toimii.
- Tarkkuus - MilloinEDDGridFromEDDTable vastaa käyttäjän tietopyyntöön, se siirtää datarivin EDDTable-vastetaulukosta.EDDGridVerkon vastaus. Tätä varten on selvitettävä, vastaavatko taulukon tietyn rivin "akselin" arvot akseliarvojen yhdistelmää verkkoon. Integer-tietotyypeissä on helppo määrittää, ovatko kaksi arvoa yhtä suuria. Mutta kelluville ja kaksoisolennoille tämä aiheuttaa kelluvan pistemäärän kauhean ongelman.Ei sovi täsmälleen. (Esimerkiksi 0,2 vs. 0,1999999999999999999999996) . To (yrittää) käsitellä tätä,EDDGridTaulussa voit määrittää tarkkuus attribuutio tahansaaxisVariables, joka määrittää desimaalilukujen kokonaismäärän, joka on identtinen.
- Esimerkiksi,<att-nimi = "tarkkuus" tyyppi = "int"> 5<>
- Erilaisten tietomuuttujatyyppien kohdalla on erilaisia oletusarvoja. Oletusarvot ovat yleensä sopivia. Jos ei ole, on määriteltävä eri arvot.
- For ForaxisVariablejotka ovatAikaa tai aikaa Stamp-muuttujatOletusarvo on täydellinen tarkkuus (Tarkka ottelu) .
- For ForaxisVariableOletusarvon tarkkuus on 5
- For ForaxisVariableKaksinkertainen, oletusarvo on 9.
- For ForaxisVariablejoilla on integroituja tietotyyppejä,EDDGridFromEDDTable sivuuttaa tarkkuusominaisuuden ja käyttää aina täydellistä tarkkuutta. (Tarkka ottelu) .
- Varoitus! Kun siirrät tabulaarista dataa verkkoon, josEDDGridFromEDDTable ei voi sovittaa EDDTable "akseli" -arvoa yhteen odotetustaEDDGridAkseliarvot,EDDGridÄänestä hiljaa (Ei virheitä) Heittää tiedot pois pöydän rivistä. Esimerkiksi muita tietoja voi olla (Ei verkossa) EDDTable-tietokantaan. (Jos rytmi » 1. Ei ole itsestään selvääEDDGridPöydästä, jonka akseliarvot ovat haluttuja arvoja, ja mitkä niistä ovat ne, jotka on jätettävä sivuun riidan vuoksi.) Joten, jos tarkkuusarvot ovat liian korkeat, käyttäjä näkee puuttuvat arvot tietovasteessa, kun voimassa olevat tietoarvot ovat olemassa.
Toisaalta, jos tarkkuusarvot asetetaan liian alhaisiksi, EDDTable "akseli" -arvot, jotka eivät sovi yhteen.EDDGridEDDTable Axis -arvot (virheellisesti) Ottelu.
Nämä mahdolliset ongelmat ovat kauheita, koska käyttäjä saa väärät tiedot. (puuttuvat arvot) Kun saa oikeat tiedot (Tai ainakin virheilmoitus) . Tämä ei ole virheEDDGridTable.EDDGridTable ei voi ratkaista tätä ongelmaa. Ongelma on luonnollinen tabulaaritietojen muuntamiseen verkkotietoihin. (Ellei muita oletuksia voi tehdä, mutta niitä ei voi tehdä täällä.) . Se riippuu sinusta,ERDDAP™Hallinnollinen, Testaa omasiEDDGridEDDTable perusteellisesti jotta voidaan varmistaa tarkkuusarvojen välttäminen.
GapThresh
- GapThresh----- Tämä on hyvin epätavallinen tietoaineisto. tyyppisiä kysymyksiä, joita voidaan tehdä (Käsittelemällä) YksiEDDGridData (Liittyy valikoimaan ja liikkeisiinaxisVariables) ovat hyvin erilaisia kuin mitä kyselyitä voidaan tehdä. (Käsittelemällä) EDDTable Dataset (jotka liittyvät joidenkin muuttujien valikoimaan) suorituskyvynEDDGridEDDTable-tietoaineistot vaihtelevat suuresti tarkan pyynnön mukaan ja taustalla olevan EDDTable-tietoaineiston nopeuden mukaan. pyyntöihin, joiden arvo on > 1EDDGridFromEDDTable voi kysyä taustalla olevaa EDD-taulukkoa suhteellisen suurelle datahuijaukselle. (= 1) Ja sitten seuloa tuloksia, pitää tiedot tietyistä riveistä ja heittää pois tietoja muista. Jos se joutuu käsittelemään monia tietoja saadakseen tarvitsemansa tiedot, pyyntö kestää pidempään.
JosEDDGridEDDTable voi kertoa, että aukkoja on (Ei-toivottujen tietojen rivit) haluttujen tietojen kanssa,EDDGridFromEDDTable voi halutessaan tehdä useita alapyyntöjä taustalla olevaan EDDT-taulukkoon yhden suuren pyynnön sijasta ja siten ohittaa ei-toivotut tiedot suurissa aukoissa. Päätöksen herkkyyttä hallitsee gapThreshold-arvo, joka määritellään<GapThreshold > Tag (Oletusarvo = 1000 riviä lähdetietoja) . GapThresholdin asettaminen pienempään määrään johtaa tietoaineiston luomiseen. (yleisesti yleisesti) Lisää alakysymyksiä. GapThresholdin asettaminen suurempaan määrään johtaa tietoaineiston luomiseen. (yleisesti yleisesti) Vähemmän alapyyntöjä.
Jos apteekki on liian pieni,EDDGridFromEDDTable toimii hitaammin, koska useiden pyyntöjen yläosa on suurempi kuin aika, joka säästyy saamalla ylimääräisiä tietoja. Mikäli kuorma-arvo on liian suuri,EDDGridFromEDDTable toimii hitaammin, koska niin paljon ylimääräistä dataa haetaan EDDT-taulukosta. (Kuten Goldilocks totesi, keskimmäinen on "vain oikeassa".) Eri tyyppisten EDDTable-tietoaineistojen käyttö vaihtelee suuresti, joten ainoa tapa tutustua tietoaineiston parhaaseen asetukseen on kokeilu. Et kuitenkaan mene liian kauas väärään pitämään kiinni oletuksesta.
Yksinkertainen esimerkki: Kuvittele jokinEDDGridTable vain yhdelläaxisVariable (aika, jonka koko on 100 000) YksidataVariable (lämpötila lämpötila) Oletusarvo on 1000.
- Jos käyttäjä pyytää lämpötilaa\[058; 100 pistettä; 5000\]Taulukko on 100, joten kuilun koko on 99, mikä on pienempi kuin gapThreshold. NiinpäEDDGridTaulukko tekee vain yhden pyynnön EDDTablelle kaikista pyyntöön tarvittavista tiedoista. (Lämpötila vastaa\[0:5 000\]) Heitä pois kaikki rivit, joita se ei tarvitse.
- Jos käyttäjä pyytää lämpötilaa\[0:2500:5000\]Se on 2500, joten kuilun koko on 2499, mikä on suurempi kuin aukko. NiinpäEDDGridPöydästä tehdään erillisiä pyyntöjä EDDTablelle, joka vastaa lämpötilaa.\[0\]lämpötila\[2500\]lämpötila\[5000\].
Kuilun koon laskeminen on monimutkaisempaa, kun on useita akseleita.
kunkin käyttäjän pyynnöstä,EDDGridEDDTable tulostaa tähän liittyviä diagnostisia viestejälog.txttiedosto.
- Jos [<logiikka > (#loglevel) Sisällädatasets.xmlSe on info, tämä tulostaa viestin, kuten nOuterAxes = 1 4 nOuterRequest = 22 Jos nOuterAxes = 0, gapThreshold ei ylittynyt ja EDDTablelle tehdään vain yksi pyyntö. Jos nOuterAxes>0, gapThreshold ylitettiin ja nOuterRequests tehdään EDDTable, joka vastaa jokaista vasemman nOuterAxesin pyydettyä yhdistelmää. Jos aineistossa on 4axisVariableS jadataVariablekuin itään\[Aika-aika\]\[leveys\]\[Pituus\]\[syvyys\]Vasemmistolainen (Ensimmäinen ensimmäinen) Muuttuva akseli on aika.
- Jos<logiikka > Sisällädatasets.xmlLisätiedot on kirjoitettu log.txt-tiedostoon.
EDDGridLähde: Skeleton XML
<dataset type="EDDGridFromEDDTable" datasetID\="..." active\="..." >
<accessibleTo>...</accessibleTo> <!-- 0 or 1 -->
<graphsAccessibleTo>auto|public</graphsAccessibleTo> <!-- 0 or 1 -->
<accessibleViaWMS>...</accessibleViaWMS> <!-- 0 or 1 -->
<reloadEveryNMinutes>...</reloadEveryNMinutes> <!-- 0 or 1 -->
<updateEveryNMillis>...</updateEveryNMillis> <!-- 0 or 1.
For EDDGridFromEDDTable, this only works if the underlying EDDTable
supports updateEveryNMillis. -->
<gapThreshold>...</gapThreshold> <!-- 0 or 1. The default is 1000. >
<defaultDataQuery>...</defaultDataQuery> <!-- 0 or 1 -->
<defaultGraphQuery>...</defaultGraphQuery> <!-- 0 or 1 -->
<fgdcFile>...</fgdcFile> <!-- 0 or 1 -->
<iso19115File>...</iso19115File> <!-- 0 or 1 -->
<onChange>...</onChange> <!-- 0 or more -->
<addAttributes>...</addAttributes> <!-- 0 or 1 -->
<axisVariable>...</axisVariable> <!-- 1 or more -->
<dataVariable>...</dataVariable> <!-- 1 or more -->
<dataset>...</dataset> <!-- The underlying source EDDTable dataset. -->
</dataset>
EDD:stäERDDAP
EDDGridLähde: Eddap käsittelee verkottuneita tietoja kauko-ohjaimestaERDDAP™palvelin. EdDTableFromDap käsittelee tabulaarisia tietoja kauko-osastaERDDAP™palvelin.
- EDDGridFromErdddap ja EDDTableFromErddap käyttäytyvät eri tavalla kuin muut tietoaineistot.ERDDAP.
- Kuten muutkin tietoaineistot, nämä tietoaineistot saavat tietoa tietoaineistosta lähteestä ja säilyttävät sen muistissa.
- Kuten muutkin aineistot, kunERDDAP™tietoaineistojen haku, Data Access -muodon näyttäminen ( datasetID .html) tai näytä graafinen muoto ( datasetID .grafiikka) ,ERDDAP™käyttää tietoja muistin aineistosta.
- EDDGridFromErddap ja EDDTable Erddap on perustaVerkot/klusterit/federaatiotjostaERDDAPs, joka jakaa tehokkaasti CPU:n käyttöä (Enimmäkseen karttojen tekeminen) muistin käyttö, tietojen tallennus ja kaistanleveys käyttö suuri datakeskus.
Redirect
- Toisin kuin muut aineistot, kunERDDAP™vastaanottaa kyseisten tietojen tai kuvien pyynnön,ERDDAP OhjausPyyntö kaukosäätimelleERDDAP™palvelin. Lopputulos on:
- Tämä on erittäin tehokasta (CPU, muisti ja kaistanleveys) koska muuten
- KomposiittiERDDAP™on lähetettävä pyyntö toiseenERDDAP™ (joka vie aikaa) .
- ToinenERDDAP™on saatava tiedot, uudistettava ne ja siirrettävä tiedot komposiitille.ERDDAP.
- KomposiittiERDDAP™Tietojen on saatava (Bandwidthin käyttö) uudistaa sitä (CPU ja muisti) ja siirtää tiedot käyttäjälle (Bandwidthin käyttö) . Ohjaamalla pyyntöä ja sallimalla toisenERDDAP™lähettää vastauksen suoraan käyttäjälle, komposiitilleERDDAP™Käyttää pohjimmiltaan CPU-aikaa, muistia tai kaistanleveyttä pyynnöstä.
- Uudelleenohjaus on käyttäjälle läpinäkyvä asiakasohjelmistosta riippumatta. (selain tai jokin muu ohjelmisto tai komentorivityökalu) .
- Tämä on erittäin tehokasta (CPU, muisti ja kaistanleveys) koska muuten
- Voit kertoaERDDAP™ei ohjaa käyttäjän pyyntöjä asettamalla<Ohjaus > Väärä</redirect>, mutta tämä poistaa suurimman osan ... (Erityisesti kuorman hajottaminen etupäässäERDDAP™Kauko-/taka-asuntoERDDAP) .
Allekirjoituksia
Normaalisti, kunEDDGridFromErddap ja EDDTable Erddap on (Re) ladattuna sinunERDDAPhe yrittävät lisätä tilauksen etätietoihin etätietojen kauttaERDDAPSähköposti/URL-tilausjärjestelmä. Näin, kun etätiedot muuttuvat,ERDDAP™YhteystiedotSäätiö Lippu URLsinunERDDAP™niin, että paikallinen tietoaineisto ladataan uudelleen ASAP: ksi ja niin, että paikallinen tietoaineisto on aina ajan tasalla ja jäljittelee etätietoja. Joten ensimmäinen kerta, kun tämä tapahtuu, saat sähköpostin, jossa pyydetään, että vahvistat tilauksen. Jos kuitenkin paikallisetERDDAP™ei voi lähettää sähköpostia tai jos etäisyysERDDAPSähköposti/URL-tilausjärjestelmä ei ole aktiivinen, sinun on lähetettävä sähköpostia kaukosäätimelle.ERDDAP™Hallinnoija ja pyytää, että hän lisää [<Muutos » (#vaihto) ............</onChange>-tagit kaikkiin asiaankuuluviin tietoaineistoihin, jotta voit soittaa tietoaineistosiSäätiö Lippu URL. Näe omasiERDDAP™Päivittäinen raportti luettelosta URL-osoitteet, mutta lähetä ne vainEDDGridFromErdddap ja EDDTableFromErddap-tietoaineistot etäkäyttöönERDDAP™hallinnoija.
Eikö tämä toimi? Eivätkö paikalliset tietovarastosi pysy synkronoituna etätietojen kanssa? Useiden asioiden on toimittava oikein, jotta tietosi pysyvät ajan tasalla. Tarkista kaikki nämä asiat järjestyksessä:
- SinunERDDAP™Sähköposteja on voitava lähettää. Katso sähköpostiasetukset asetuksessa.xml.
- yleisesti (mutta ei aina) sinunERDDAP><> > ja<BaseHttpsUrl ei saa olla porttinumero (Esimerkki: 8080, :8443) . Jos teet, käytäProxypasspoistaa satama Url.
- asennus.xml,<RemoteErddapDataset > on määritettävä todeksi.
- Kun paikallinen EDD... FromErddap-tietokanta on ladattu, sen on lähetettävä pyyntö etäkäyttöön.ERDDAP™Etätietojen tilaaminen. Katso log.txt nähdäksesi, tapahtuuko näin.
- Saat sähköpostin, jossa sinua pyydetään vahvistamaan tilauspyyntö.
- Sinun on klikattava kyseisen sähköpostin linkkiä tilauspyynnön vahvistamiseksi.
- EtäinenERDDAP™Sanotaan, että validointi on onnistunut. Voit milloin tahansa pyytää sähköpostia kaukosäätimeltä.ERDDAP™luettelo vireillä olevista ja voimassa olevista tilauksistasi. Katso lomake Etäisyys Url /erddap/subscriptions/list.html
- Kun etätieto muuttuu (esimerkiksi lisätietoja) EtäinenERDDAP™Sinun pitäisi yrittää ottaa yhteyttä lippuunERDDAP. Et voi tarkistaa tätä, mutta voit kysyä etävalmistajalta.ERDDAP™Tarkista tämä.
- SinunERDDAP™Pitäisi pyytää lippua. Tarkista log.txt "setDatasetFlag.txt" -pyyntö (s) Katso, onko pyyntöihin liitetty virheilmoitus.
- SinunERDDAP™Pitäisi sitten yrittää ladata nämä tiedot uudelleen (Ei ehkä heti, mutta ASAP) .
Päivitetty max (Aika-aika) ??
EDDGrid/TableFromErddap-tietoaineisto muuttaa tallennettuja tietoja vain, kun lähdeaineisto on"reload"Muutama metatieto muuttuu (mm. aikamuuttujatactual\_range) Näin luodaan tilausilmoitus. Jos lähdeaineistossa on tietoja, jotka muuttuvat usein (Uusia tietoja joka sekunti) ja käyttää"päivitetty"järjestelmä, joka havaitsee usein taustalla olevia tietoja,EDDGrid/TableFromErddap ei ilmoita näistä usein tehdyistä muutoksista, kunnes seuraava aineisto "lataa"EDDGridTableFromErddap ei ole täysin ajan tasalla. Voit minimoida ongelman muuttamalla lähdeaineistoa.<Reload EveryNMinutes > pienempään arvoon (50?) niin, että tilausilmoituksia on lisättäväEDDGrid/TableFromErddap päivittää tietojaan lähdeaineistosta.
Jos tietojärjestelmäsi tietää, milloin lähdeaineistossa on uusia tietoja (esimerkiksi käsikirjoituksen kautta, joka kopioi datatiedoston) Jos se ei ole liian usein (joka viides minuutti tai harvemmin) On olemassa parempi ratkaisu:
- Älä käytä<Päivitä EveryNMillis>, jotta lähdetiedot pysyvät ajan tasalla.
- Aseta lähdeaineisto<Reload "Kaikki minuutit" suurempaan määrään (1440?) .
- Ota yhteyttä lähdeaineistoonLippu URLheti, kun se kopioi uuden datatiedoston.
Tämä johtaa siihen, että lähdeaineisto on täysin ajan tasalla ja saa sen luomaan tilausilmoituksen, joka lähetetäänEDDGridTableFromErddap-tietokanta. Tämä johtaaEDDGrid/TableFromErddap-tietokanta on täysin ajan tasalla (5 sekunnin kuluessa uusien tietojen lisäämisestä) . Kaikki, mitä tehdään tehokkaasti (Ilman tarpeetonta tiedonsiirtoa) .
Ei Ei Ei Ei Ei Ei Ei Ei Ei EiaddAttributes,axisVariabletaidataVariable
Toisin kuin muut tiedostot, EDDTableFromErddap jaEDDGridFromErddap-tietokannat eivät salli maailmanlaajuista<addAttributes>,<axisVariable> tai<dataVariable> osatdatasets.xmltätä dataa varten. Ongelmana on, että nämä voivat johtaa epäjohdonmukaisuuteen:
- Sanotaan, että se on sallittua ja siihen on lisätty uusi globaali ominaisuus.
- Kun käyttäjä kysyyERDDAP™Globaalien attribuuttien kohdalla tulee uusi ominaisuus.
- Kun käyttäjä kysyy sinultaERDDAP™tiedoston, sinunERDDAP™pyynnön uudelleenohjaus lähteelleERDDAP. TämäERDDAP™ei ole tietoinen uudesta attribuutista. Jos se luo datatiedoston metadatalla, esimerkiksi.ncMetadatalla ei ole uutta ominaisuutta.
On kaksi työpaikkaa:
- Luota lähteen hallintaanERDDAP™tehdä muutoksia, joita haluat metadatalle.
- EDDTableFromErddapin sijaanEdDTableFromDapsequence Näytä tarkat tiedot. Tai sen sijaanEDDGridErddap, käyttöEDDGridLähde:Dap. Nämä EDD-tyypit mahdollistavat tehokkaan yhteyden etätietoihin.ERDDAP™ (ilman tietojen uudelleenohjausta) Niiden avulla voit sisällyttää globaalin<addAttributes>,<axisVariable> tai<dataVariable> osatdatasets.xml. Yksi muu ero: sinun täytyy manuaalisesti tilata etätietoaineisto, niin että aineistosiERDDAP™Ilmoitetaan (kauttaLippu URL) kun etätietoihin on tehty muutoksia. Näin luot uuden tietoaineiston sen sijaan, että yhdistäisit etätietoihin.
Muut muistiinpanot
- turvallisuussyistä,EDDGridFromErddap ja EDDTable Erddap ei tue [...]<Käytettävyys > (#accessibleto) tunniste ja sitä ei voi käyttää etätietoaineistoilla, jotka vaativat kirjautumista sisään (koska niitä käytetään).<K äytettävyys > (#accessibleto) ). NäytäERDDAP>Turvallisuusjärjestelmäjoidenkin käyttäjien pääsyn rajoittamiseksi.
- AloitetaanERDDAP™V2.10,EDDGridFromErdddap ja EDDTableFromErddap tukevat<Käytettävissä olevat tiedostot > (#accessibleviafiles) Tag. Toisin kuin muut tietoaineistot, oletusarvo on tosi, mutta tietoaineiston tiedostot ovat käytettävissäViaFiles vain, jos lähdeaineistolla on myös<Käytettävissä olevat ViaFiles > totta.
- Voit käyttääGenerateDatasets XML-ohjelmatehdäkseendatasets.xmlTsemppiä tämäntyyppiselle datalle. Voit tehdä tällaisia tiedostoja helposti käsin.
EDDGridLähde: Erddap Skeleton XML
- EDDGridLähde: Erddap Skeleton XML-tiedot ovat hyvin yksinkertaisia, koska tarkoituksena on vain jäljitellä etätietoaineistoa, joka on jo käytössä.ERDDAP:
<dataset type="EDDGridFromErddap" datasetID\="..." active\="..." >
<sourceUrl>...</sourceUrl>
<accessibleTo>...</accessibleTo> <!-- 0 or 1 -->
<accessibleViaFiles>...</accessibleViaFiles> <!-- 0 or 1, default=true. -->
<graphsAccessibleTo>auto|public</graphsAccessibleTo> <!-- 0 or 1 -->
<reloadEveryNMinutes>...</reloadEveryNMinutes> <!-- 0 or 1 -->
<updateEveryNMillis>...</updateEveryNMillis> <!-- 0 or 1
For EDDGridFromErddap, this gets the remote .dds and then gets
the new leftmost (first) dimension values. -->
<defaultDataQuery>...</defaultDataQuery> <!-- 0 or 1 -->
<defaultGraphQuery>...</defaultGraphQuery> <!-- 0 or 1 -->
<nThreads>...</nThreads> <!-- 0 or 1 -->
<dimensionValuesInMemory>...</dimensionValuesInMemory> <!-- 0 or 1 -->
<fgdcFile>...</fgdcFile> <!-- 0 or 1 -->
<iso19115File>...</iso19115File> <!-- 0 or 1 -->
<onChange>...</onChange> <!-- 0 or more -->
<redirect>true(default)|false</redirect> <!-- 0 or 1; -->
</dataset>
EdDTableFromDap Skeleton (käytetty) XML
- EDDTableFromErddap-tietoaineiston luuranko XML on erittäin yksinkertainen, koska tarkoituksena on vain jäljitellä etätietoaineistoa, joka on jo käytössä.ERDDAP:
<dataset type="EDDTableFromErddap" datasetID\="..." active\="..." >
<sourceUrl>...</sourceUrl>
<accessibleTo>...</accessibleTo> <!-- 0 or 1 -->
<graphsAccessibleTo>auto|public</graphsAccessibleTo> <!-- 0 or 1 -->
<reloadEveryNMinutes>...</reloadEveryNMinutes> <!-- 0 or 1 -->
<defaultDataQuery>...</defaultDataQuery> <!-- 0 or 1 -->
<defaultGraphQuery>...</defaultGraphQuery> <!-- 0 or 1 -->
<addVariablesWhere>...</addVariablesWhere> <!-- 0 or 1 -->
<fgdcFile>...</fgdcFile> <!-- 0 or 1 -->
<iso19115File>...</iso19115File> <!-- 0 or 1 -->
<onChange>...</onChange> <!-- 0 or more -->
<redirect>true(default)|false</redirect> <!-- 0 or 1; -->
</dataset>
EDDGridLähde: Etopo
EDDGridLähde: Etopo Vain palveleeETOPO1 Global 1-Minute Gridded Elevation Data (Ice Surface, verkkorekisteröity, binaarinen, 2-tavuinen sisäänkäynti: etopo1 ± 2.zip) jonka kanssa jaetaanERDDAP.
- Vain kaksidatasetIDs on tuettuEDDGridFromEtopo, jotta voit käyttää tietoja pituusarvoilla -180-180 tai pituusarvoilla 0-360.
- Koskaan ei ole alatunnisteita, koska tiedot on jo kuvattu sisäisesti.ERDDAP.
- Kaksi vaihtoehtoaEDDGridEtopo-tietokannat ovat (kirjaimellisesti) :
<!-- etopo180 serves the data from longitude -180 to 180 -->
<dataset type="EDDGridFromEtopo" datasetID="etopo180" />
<!-- etopo360 serves the data from longitude 0 to 360 -->
<dataset type="EDDGridFromEtopo" datasetID="etopo360" />
EDDGridFilejä
EDDGridFilejä Se on kaikkien superluokkaEDDGrid...Files-luokat. Et voi käyttääEDDGridFiles suoraan. Käytä aliluokkaaEDDGridFiles käsittelee tiettyä tiedostotyyppiä:
- EDDGridLähde: MergeIRFileskäsittelee tietoja verkostaSurgei.gztiedostoja.
- EDDGridAudiofiilejäkerää tietoja paikallisista äänitiedostoista.
- EDDGridLähde: NCFileskäsittelee tietoja verkostaGRIB .grbtiedostoja,HDF (V4 tai v5) .hdftiedostoja,.ncmltiedostoja jaNetCDF (V3 tai v4) .nctiedostoja. Tämä voi toimia muiden tiedostotyyppien kanssa (Esimerkiksi BUFR) Emme ole vain testanneet sitä - lähetä meille näytetiedostoja, jos olet kiinnostunut.
- EDDGridLähde: NCFiles UnpackedSe on varianttiEDDGridFromNcFiles, joka käsittelee tietoja verkostaNetCDF (V3 tai v4) .nctiedostot, jotkaERDDAP™Pakkaukset matalalla tasolla.
Tällä hetkellä muita tiedostotyyppejä ei tueta. Useimmiten on helppoa lisätä tukea muihin tiedostotyyppeihin. Ota yhteyttä, jos sinulla on pyyntö. Tai jos tietosi ovat vanhassa tiedostomuodossa, josta haluat siirtyä pois, suosittelemme tiedostojen muuntamista.NetCDFv3.nctiedostoja.NetCDFon laajasti tuettu, binaarinen muoto, joka mahdollistaa nopean satunnaisen pääsyn tietoihin, ja sitä tukee joERDDAP.
Tiedostojen yksityiskohdat
Seuraavat tiedot koskevat kaikkia alaluokkiaEDDGridFilejä.
olemassa olevan ulottuvuuden yhdistäminen
Kaikki variaatiotEDDGridFiles voi koota tietoja paikallisista tiedostoista, joissa jokaisella tiedostolla on 1 (tai enemmän) Vasemmiston eri arvot (Ensimmäinen ensimmäinen) ulottuvuus yleensä\[Aika-aika\]joka yhdistetään. Esimerkiksi mittasuhteet voivat olla\[Aika-aika\]\[Korkeus\]\[leveys\]\[Pituus\]tiedostot voivat olla tietoja yhdelle (tai muutama) Aika-arvo (s) tiedostoa kohti. Tuloksena oleva tietoaineisto näyttää siltä, että kaikki tiedoston tiedot on yhdistetty. Aggregoinnin suurimmat edut ovat:
- Aggregoidun tietojoukon koko voi olla paljon suurempi kuin yksi tiedosto voi olla kätevästi. (2GB) .
- Lähes reaaliaikaista dataa varten on helppo lisätä uusi tiedosto, jossa on uusimmat tiedot. Sinun ei tarvitse kirjoittaa koko aineistoa uudelleen.
Yhdistelmävaatimukset ovat:
- Paikalliset tiedostot eivät tarvitse samaadataVariables (määritellään tietoaineistossadatasets.xml) . Rekistereillä ondataVariableMääriteltydatasets.xml. Jos tietyllä tiedostolla ei ole tiettyädataVariable,ERDDAP™Lisätään puuttuvat arvot tarpeen mukaan.
- KaikkidataVariabletäytyy käyttää samaaaxisVariables/ulottuvuuksia (määritellään tietoaineistossadatasets.xml) . Tiedostot kootaan ensimmäisen perusteella (Vasemmisto) ulottuvuus, joka on määritelty nousevassa järjestyksessä.
- Jokaisella tiedostolla voi olla tietoja yhdestä tai useammasta ensimmäisen ulottuvuuden arvosta, mutta tiedostojen välillä ei voi olla päällekkäisyyttä. Jos tiedostolla on enemmän kuin yksi arvo ensimmäisessä ulottuvuudessa, arvot on lajiteltava nousevassa järjestyksessä ilman siteitä.
- Kaikilla tiedostoilla on oltava samat arvot kaikilla muilla ulottuvuuksilla. Testien tarkkuus määräytyyAxisNDigits.
- Kaikkien tiedostojen on oltava samanlaisiaYksikötMetadataa kaikilleaxisVariableS jadataVariables. Jos tämä on ongelma, voit käyttääNCMLtai taiNCOongelman korjaamiseksi.
Yhteenveto tiedostonimien tai Global Metadatan kautta
Kaikki variaatiotEDDGridFromFiles voi myös koota ryhmän tiedostoja lisäämällä uuden vasemman. (Ensimmäinen ensimmäinen) ulottuvuus, yleensä aika, joka perustuu kunkin tiedostonimen arvoon tai kunkin tiedoston globaalin ominaisuuden arvoon. Esimerkiksi tiedostonimi saattaa sisältää tiedoston tietojen aika-arvon.ERDDAP™Näin syntyisi uusi aikaulottuvuus.
Toisin kuin kolmessa jaksossa,ERDDAP™Luo ainaaxisVariableNumeeriset arvot (Tarvittaessa CF) Koskaan Stringin arvoja (joita CF ei salli) . myös,ERDDAP™lajittelee tiedostoja yhdistelmässä numeerisenaxisVariablekunkin tiedoston arvo, jotta akselimuuttujalla on aina CF:n edellyttämät arvot. THREDDS-lähestymistapa tiedoston nimien perusteella johtaa aggregaatioihin, joissa akseliarvot eivät ole lajiteltuja. (jota CF ei salli) kun tiedoston nimi on erilainen kuin johdettuaxisVariablearvoja.
perustaa yksi näistä aggregaatioistaERDDAP™Voit määritellä uuden vasemman (Ensimmäinen ensimmäinen) axisVariableErityinen pseudo<sourceName> joka kertooERDDAP™Mistä ja miten löytää uusi ulottuvuus jokaisesta tiedostosta.
- Pseudo-formaattisourceNamejoka saa arvon tiedostonimestä (tiedostonimi.ext) on \\\ \ tiedoston nimi, Datatiedot Tyyppi , Ote Regex , Järjestäjä *
- Pseudo-formaattisourceNamejoka saa arvon tiedoston ehdottomasta reitin nimestä on \\\ \ reitti, Datatiedot Tyyppi , Ote Regex , Järjestäjä * \[Tämä tarkoittaa sitä, että tien nimi käyttää aina'/'Hakemiston erottaja, ei koskaan ".\]
- Pseudo-formaattisourceNamejoka saa arvon globaalista attribuutista \\\ \ Globaali: attribuutti Nimen nimi , Datatiedot Tyyppi , Ote Regex , Järjestäjä *
- Tämä pseudosourceNameVaihtoehto toimii eri tavalla kuin muut: uuden vasemmiston luomisen sijaan. (Ensimmäinen ensimmäinen) axisVariableTämä korvaa nykyisen arvonaxisVariabletiedostonimestä otettu arvo (tiedostonimi.ext) . Formaatti on \\\ \ korvaa korvaava Filename, Datatiedot Tyyppi , Ote Regex , Järjestäjä *
Tarjottavien osien kuvaukset ovat:
- attribuutti Nimen nimi jokaisessa tiedostossa olevan globaalin ominaisuuden nimi, joka sisältää ulottuvuuden arvon.
- Datatiedot Tyyppi ----- Tämä määrittää tietotyypin, jota käytetään arvojen tallentamiseen. Katso tavanomainen luetteloDatatiedot TyypitettäERDDAP™Tukea, paitsi että String ei ole sallittu täällä, koska akselimuuttujatERDDAP™Ei voi olla muuttujia.
Pseudo-tietotyyppi, aikaformaatti = string Aikamuodot joka kertooERDDAP™että arvo on String TimeStampYksiköt sopivat merkkijonoaikoihin. Useimmissa tapauksissa tarvitsemasi merkkijono on muunnelma yhdestä näistä muodoista:
- yyyy-MM-ddT'HHH:mm:ss.SSSZ, joka ISO 8601:2004 (E) Päivämäärän muoto. Saatat tarvita lyhennetyn version tästä, esimerkiksiyyyy-MM-ddT'HHH: mm: n taiyyyy-MM-dd.
- YyyMddHmms.SSS, joka on ISO 8601 -aikamuodon kompakti versio. Saatat tarvita lyhennetyn version tästä, esim. YyyyMddHmms tai YyyyMMdd.
- M/d/yyy H:mm:ss.SSS, joka on Yhdysvaltain slash päivämäärä. Saatat tarvita lyhennetyn version tästä, esim. M/d/yyy.
- YyyDDHmmsSSS, joka on vuosi plus nolla-paddoitu päivä (Esim. 001 = Jan 1, 365 = Dec 31 ei-leap-vuonna; tätä kutsutaan joskus virheellisesti Julian-päiväksi.) . Saatat tarvita lyhennetyn version tästä, esim. YyyDDD.
Jos käytät tätä pseudo-datatyyppiä, lisää tämä uuteen muuttujaan.<addAttributes> >
<att name="units">seconds since 1970-01-01T00:00:00Z</att>
Jos haluat siirtää kaikki aika-arvot, siirrä aika-arvoa yksiköissä, esimerkiksi 1970-01-01T12:00.
- Ote Regex ----- Tämä onSäännöllinen ilmaisu (Tutoriaali) johon kuuluu kaappausryhmä (Vanhemmissa) joka kuvaa, miten tiedostonimi tai globaali attribuuttiarvo otetaan pois. Esimerkiksi tiedostonimi, kuten S19980011998031.L3BO CHL.ncRyhmä #1,\dTutoriaaliSäännöllisessä ilmaisussa S (\ \dTutoriaali) \ \dTutoriaali.L3b. * ottaa ensimmäiset 7 numeroa S:n jälkeen 1998001.
- Ryhmänumero ----- Tämä on kaappausryhmän lukumäärä (Pariskunnan sisällä) säännöllisessä ilmaisussa, joka sisältää kiinnostuksen tiedot. Se on yleensä 1 ensimmäinen tallennusryhmä. Joskus sinun täytyy käyttää talteenottoryhmiä muihin tarkoituksiin regex, joten tärkeä tallennusryhmä numero on 2. (Toinen kaappausryhmä) tai 3 (Kolmas) jne.
Täydellinen esimerkki yhdestäaxisVariablejoka tekee kootun tietoaineiston uudella aika-akselilla, joka saa aika-arvot kunkin tiedoston nimi on
<axisVariable>
<sourceName>\\*\\*\\*fileName,timeFormat=yyyyDDD,S(\\d{7})\\.L3m.\\*,1</sourceName>
<destinationName>time</destinationName>
</axisVariable>
Kun käytät "Pseudo-dataa" Tyyppi,ERDDAP™Lisää kaksi ominaisuuttaaxisVariableNäyttää siltä, että ne tulevat lähteestä:
<att name="standard\\_name">time</att>
<att name="units">seconds since 1970-01-01T00:00:00Z</att>
Tässä tapauksessa,ERDDAP™Luo uusi akseli nimelt ä"time"Kaksinkertaiset arvot (1970-01-01T00:00:00Z) Ottamalla 7 numeroa S: n jälkeen ja ennen .L3m tiedostonimessä ja tulkitsemalla niitä aika-arvoina, jotka on muotoiltu yyyDDD: ksi.
Voit ohittaa oletuspohja-ajan (1970-01-0100:00) lisäämällä yhdenLisääminenjoka määrittää eri yksiköiden attribuutin eri perusajalla. Yhteinen tilanne on: datatiedostoryhmiä, joista jokaisella on satelliittitietoaineiston yksi päiväkomposiitti, jossa haluat aika-arvon olevan tiedostonimessä mainitun päivän keskipäivä. (Jokaisen päivän keskitetty aika) haluta muuttujienlong\_nameolla "keskeistä aikaa". Esimerkki, joka tekee näin:
<axisVariable>
<sourceName>\\*\\*\\*fileName,timeFormat=yyyyDDD,S(\\d{7})\\.L3m.\\*,1</sourceName>
<destinationName>time</destinationName>
<addAttributes>
<att name="long\\_name">Centered Time</att>
<att name="units">seconds since 1970-01-01T12:00:00Z</att>
</addAttributes>
</axisVariable>
Huomautusaika = 12 perusajassa, joka lisää 12 tuntia verrattuna alkuperäiseen perusaikaan 1970-01-01T00:00:00Z.
Täydellinen esimerkki yhdestäaxisVariablejoka tekee yhdistetyn tietoaineiston uudella ”juoksevalla” akselilla (Sisäiset arvot) joka saa juoksuarvot "RunID" globaalista attribuutista jokaisessa tiedostossa (arvot, kuten "r"17, jossa 17 on juoksunumero) on
<axisVariable>
<sourceName>\\*\\*\\*global:runID,int,(r|s)(\\d+)\\_global,2</sourceName>
<destinationName>run</destinationName>
<addAttributes>
<att name="ioos\\_category">Other</att>
<att name="units">count</att>
</addAttributes>
</axisVariable>
Huomaa, että talteenottoryhmän numero 2:n käyttö tallentaa numerot, jotka tapahtuvat ’r’ tai ’s’ jälkeen, ja ennen ’global’. Tässä esimerkissä kerrotaan, miten lisätään lisäominaisuuksia. (esim.ioos\_categoryja yksiköt) Axis-muuttuja.
Ulkoisesti painettuja tiedostoja
-
Tiedot, jotka ovat osajoukkojaEDDGridFiles ja EDDTable FromFiles voi palvella tietoja suoraan ulkoisesti pakatuista tietotiedostoista, mukaan lukien.tgz,.tar.gz,.tar.gzip,.gz,.gzip,.zip,.bz2.Z-tiedostoja.
-
Tämä toimii yllättävän hyvin!
Useimmissa tapauksissa pienten ja keskisuurten tiedostojen purkamiseen liittyvä hidastuminen on vähäistä. Jos haluat säilyttää levytilaa, suosittelemme voimakkaasti tätä ominaisuutta, erityisesti vanhemmille tiedostoille, joita harvoin käytetään. -
Säästä rahaa!
Tämä on yksi harvoista ominaisuuksistaERDDAP™Tämä antaa sinulle mahdollisuuden säästää paljon rahaa (Vaikka suorituskyvyn hinnan laskiessa) . Jos puristussuhde on esimerkiksi 6:1 (Joskus se on paljon korkeampi) Tällöin tietoaineiston tiedostot tarvitsevat vain 1/6 levytilaa. Sitten voit saada 1 RAID (tietyn kokoinen) Kuusi raitaa (Saman kokoinen) . Se on valtava kustannussäästö. Toivotaan, että kyky pakata joitakin tiedostoja kokoelmassa. (Vanhemmat?) Älä pakkaa muita (Uudempia?) ja muuttaa sitä milloin tahansa, minimoidaan haittapuoli pakkaamalla joitakin tiedostoja. (Hitaampi pääsy) . Ja jos valinta on tallentaa tiedostoja nauhaan (ja vain pyydettäessä, viivästymisen jälkeen) Säilytä ne pakattu RAID (Käytettävissä kauttaERDDAP) Sitten on suuri etu käyttää pakkausta niin, että käyttäjät saavat interaktiivisia ja (suhteellisen) nopea pääsy tietoihin. Ja jos tämä voi estää sinua ostamasta ylimääräistä RAIDia, tämä ominaisuus voi säästää noin 30 000 dollaria. -
KaikilleEDDGridFilesin alaluokat, jos tiedostojen laajennus osoittaa, että ne ovat ulkoisesti pakattuja tiedostoja. (Tällä hetkellä:.tgz,.tar.gz,.tar.gzip,.gz,.gzip,.zip,.bz2tai .Z) ,ERDDAP™purkaa tiedostot aineiston välimuistiin, kun se lukee niitä (Jos ei ole jo kätkössä) . Sama pätee binääritiedostoon (esim..nc) EDDTableFromFilesin alaluokka.
-
EDDTableFromFilesin alaluokkia ei-binaaritiedostoille (Esimerkkinä .csv) , tietotiedostot, joiden laajennus osoittaa, että ne ovat ulkoisesti pakattuja tiedostoja, puretaan lennolla, kun tiedosto on luettavissa.
-
Kysymys: Jos ulkoisesti pakatun tiedoston tyyppi (esim..tgztai tai.zip) tukee yli 1 tiedostoa pakatun tiedoston sisällä, pakatun tiedoston on sisällettävä vain yksi tiedosto.
-
VAROITUS: Tämä ominaisuus olettaa, että ulkoisesti pakattujen tiedostojen sisältö ei muutu, jotta välimuistissa olevaa tiedostoa voidaan käyttää uudelleen. Jos osa tai kaikki tietoaineiston tiedostot muuttuvat joskus, älä pakkaa näitä tiedostoja. Tämä on johdonmukaista yleisen käytön kanssa, koska ihmiset eivät yleensä pakkaa tiedostoja, joita heidän on joskus muutettava.
-
<tiedostonameregex> Tämän työn tekeminen, tietoaineiston<tiedoston NameRegex> on vastattava pakattujen tiedostojen nimiä. Regeksejä kuten.\Se vastaa kaikkia tiedostojen nimiä. Jos määrität tietyn tiedostotyypin, esimerkiksi\>.ncSitten sinun on muokattava regexiä sisällyttääksesi myös puristuslaajennuksen, esim. >.nc>.gz(Jos kaikki tiedostot ovat Jotain *.nc.gztiedostoja)
-
On hienoa, jos tietoaineistosi sisältää pakattujen ja pakattujen tiedostojen yhdistelmän. Tämä voi olla hyödyllistä, jos uskot, että jotkut tiedostot (esim. vanhemmat tiedostot) käytetään harvemmin ja siksi olisi hyödyllistä säästää levytilaa pakkaamalla niitä. Tämän työn tekeminen,<tiedoston NameRegex> on vastattava pakattuja eikä pakattuja tiedostojen nimiä, esim.\Tai.\>.nc (|>.gz) (jossa rynnäkkönen määrittää, että.gzon valinnainen.
-
On hyvä, jos pakkaat tai puristat tiettyjä tiedostoja kokoelmassa milloin tahansa. Jos aineistoa ei käytetä [<Päivitä kaikki ns. (#updateeverynmillis) Aseta tietoaineistonLippukertomaanERDDAP™tietojen lataaminen uudelleen ja siten muutosten huomaaminen. Mielenkiintoista, voit käyttää erilaisia pakkaus algoritmeja ja asetuksia eri tiedostoja samassa aineistossa. (esim..bz2harvoin käytettyjä tiedostoja,.gzei usein käytettyjä tiedostoja, eikä pakkausta usein käytettyjä tiedostoja) Varmista, että regex tukee kaikkia käytössä olevia tiedostolaajennuksia, esim..nc (|>.gz|>.bz2) .
-
Tietenkin pakkaussuhteet ja nopeudet eri puristusalgoritmeille vaihtelevat lähdetiedoston ja asetukset. (Esimerkki: Pakkaustaso) . Jos haluat optimoida tämän järjestelmän tiedostoillesi, tee testi eri pakkausmenetelmistä tiedostoillasi ja useilla pakkausasetuksilla. Jos haluat luotettavasti (Ei välttämättä paras) Asennus, suosittelemme hiemangzip (.gz) .gzipÄlä tee pienintä pakattua tiedostoa (Se on kohtuullisen lähellä) Se puristaa tiedoston nopeasti ja (tärkeämmäksiERDDAP™Käyttäjät) Masentaa tiedostoa erittäin nopeasti. Plus,gzipOhjelmisto on standardoitu jokaisella Linux- ja Mac OS -asennuksella ja se on helposti saatavilla Windowsille ilmaisilla työkaluilla, kuten 7Zip- ja Linux-lisäosat, kuten Git Bash. esimerkiksi pakkaamaan lähdetiedostoa.gztiedoston versio (sama nimi, mutta.gzliitetty) käyttää (Linux, Mac OS ja Git Bash)
gzip sourceName
masentaa a.gzPalauta alkuperäiseen, käytä Ampuminen sourceName.gz
Jos haluat pakata kaikki hakemiston ja sen aliohjaimien lähdetiedostot, toistuvasti, käytä gzipR Ohjaaja
masentaa jokaista.gztiedostot hakemistossa ja sen aliohjeissa, toistuvasti, käytä Ase - R Ohjaaja
-
Varoitus: Älä ulkoisesti purista (gzip) tiedostot, jotka on jo sisäisesti pakattu! Monet tiedostot ovat jo pakattu sisäisesti. Jos sinägzipNämä tiedostot eivät ole paljon pienempiä (<5 %) jaERDDAP™Ne tuhlaavat aikaa, kun niitä pitää lukea. Esimerkiksi:
- tiedostot: esim..nc4 ja.hdf5 tiedostoa: Jotkut tiedostot käyttävät sisäistä pakkausta; jotkut eivät. Miten kertoa: Painetuilla muuttujilla on "ChunkSize" ominaisuuksia. myös, jos ryhmän.nctai tai.hdfKaikki tiedostot ovat erilaisia kokoja, ne ovat todennäköisesti sisäisesti pakattu. Jos ne ovat saman kokoisia, ne eivät ole sisäisesti pakattuja.
- kuvatiedostot: .gif, .jpg ja .png
- Audiotiedostot: .mp3 ja .ogg.
- Videotiedostot: .mp4, .ogv ja .webm.
Yksi onneton outo tapaus: .wav-äänitiedostot ovat valtavia eivätkä sisäisesti pakattuja. Olisi kiva pakata (gzip) ne, mutta yleensä sinun ei pitäisi, koska jos teet, käyttäjät eivät voi pelata pakattuja tiedostoja selaimessaan.
-
Testaus: Pakkaaminen (kanssagzip) tietoja, joissa on 1523 gridded.nctiedostoja.
- Lähteen tiedostojen tiedot olivat karkeita (Paljon puuttuvia arvoja) .
- Kokonaislevytila oli 57 Gt ennen puristusta 7 GB:hen.
- Pyyntö monelle datalle yhdestä ajankohdasta on<1 s ennen ja jälkeen puristus.
- 1 tietopiste 365 aikapistettä (Pahin tapaus) Siirtyi 4-71 s.
Minulle se on kohtuullinen kaupankäynti mihin tahansa tietoaineistoon ja varmasti tietoaineistoihin, joita käytetään harvoin.
-
Sisäinen versus ulkoinen sorto - Verrattuna sisäiseen tiedostopakkaukseen, jonka tarjoaa.nc4 ja.hdf5 tiedostoa,ERDDAPUlkoisesti pakattujen binääritiedostojen lähestymistapa tarjoaa etuja ja haittoja. Haittapuolena on: yhden tiedoston pienen osan lukeminen, sisäinen pakkaus on parempi, koskaEDDGridFiles tarvitsee vain masennuksen muutaman (s) tiedostosta, ei koko tiedostosta. Mutta kuitenkinERDDAP"Lähestymistavalla on joitakin etuja:
- ERDDAP™tukee kaikentyyppisten tietotiedostojen pakkaamista (Binaari ja ei-binaari, esim..nc3 ja .csv) Ei vain.nc4 ja.hdf4.4.
- Jos suurin osa tiedostosta on luettava useammin kuin kerran lyhyessä ajassa, se säästää aikaa purkaa tiedostoa kerran ja lukea sitä monta kertaa. Näin tapahtuuERDDAP™kun käyttäjä käyttää Make-A-Graph-tiedostoa ja tekee sarjan pieniä muutoksia kaavioon.
- Kyky saada pakattuja tiedostoja eikä pakattuja tiedostoja samassa kokoelmassa, antaa sinulle enemmän hallintaa siitä, mitkä tiedostot on pakattu ja mitkä eivät. Tämä lisäohjain tulee ilman, että lähdetiedostoa muokataan. (koska voit pakata tiedoston esimerkiksi,.gzJa sitten poistaa se saada alkuperäinen tiedosto) .
- Kyky muuttaa milloin tahansa, onko tietty tiedosto pakattu ja miten se on pakattu. (erilaiset algoritmit ja asetukset) Se antaa sinulle enemmän kontrollia järjestelmän toimivuudesta. Voit helposti palauttaa alkuperäisen pakkaamattoman tiedoston milloin tahansa.
Vaikka kumpikaan ei ole voittaja kaikissa tilanteissa, on selvää, ettäERDDAPkyky palvella ulkoisesti pakattujen tiedostojen tietoja tekee ulkoisesta pakkauksesta kohtuullisen vaihtoehdon sisäiselle pakkaukselle, jota tarjotaan..nc4 ja.hdf5.5. Tämä on tärkeää, koska sisäinen pakkaus on yksi tärkeimmistä syistä, miksi ihmiset haluavat käyttää..nc4 ja.hdf5.5.
Masentunut kätkö
ERDDAP™tekee masennuksen minkä tahansa pakatun binaarin (esim..nc) Tiedostotiedosto, kun sen on luettava tiedosto. Maksetut tiedostot säilytetään tietoaineiston hakemistossa isovanhemmat masentunut/ Masennustiedostot, joita ei ole käytetty äskettäin, poistetaan vapauttamaan tilaa, kun kumulatiivinen tiedostokoko on > 10GB. Voit muuttaa sitä asettamalla<Masentunut CacheMaxGB (Oletusarvo = 10) Tietokoneissa Xml.xml, esim.
<decompressedCacheMaxGB>40</decompressedCacheMaxGB>
Myös maksetut tiedostot, joita ei ole käytetty viimeisen 15 minuutin aikana, poistetaan jokaisen suuren tietoaineiston latauksen alussa. Voit muuttaa sitä asettamalla<Masentunut CacheMaxMinutesOld (Oletusarvo = 15) Tietokoneissa Xml.xml, esim.
<decompressedCacheMaxMinutesOld>60</decompressedCacheMaxMinutesOld>
Suuremmat luvut ovat mukavia, mutta purkautuneiden tiedostojen kumulatiivinen koko voi aiheuttaa isovanhemmat pois levytilasta, joka aiheuttaa vakavia ongelmia.
- Koska tiedoston purkaminen voi viedä paljon aikaa (0,1-10 sekuntia) , tietoaineistot, joissa on pakattuja tiedostoja, voivat hyötyä tietojen asettamisesta [<nthreads » (#nthreads) Korkeampi määrä (2? 3? 4?) . Haittapuolet vielä suurempiin lukuihin (Esimerkki: 5? 6? 7?) Vähentää palautusta ja että käyttäjän pyyntö voi sitten käyttää suuren osan järjestelmän resursseista, mikä hidastaa huomattavasti muiden käyttäjien pyyntöjen käsittelyä. Näin ollen ei ole olemassa ihanteellista nThreads-asetusta, vain erilaisia seurauksia eri tilanteissa eri asetusten.
Dimension arvot
Kunkin ulottuvuuden arvot on määriteltävä järjestyksessä. (ylösnousemus tai laskeutuminen, paitsi ensimmäinen (Vasemmisto) ulottuvuus, joka nousee) . Arvot voidaan asettaa epäsäännöllisesti. Ei voi olla siteitä. Tämä on vaatimusCF:n metatiedot. Jos minkään ulottuvuuden arvot eivät ole lajitellussa järjestyksessä, aineistoa ei ladata jaERDDAP™tunnistaa lokitiedoston ensimmäisen arvon, isovanhemmat /logs/log.txt.
Rajoittamattomat ulottuvuudet osoittavat lähes aina ongelman lähdeaineiston kanssa. Tämä tapahtuu yleisimmin, kun väärin nimetty tai sopimaton tiedosto sisältyy aggregaatioon, joka johtaa häiriöttömään ajan ulottuvuuteen. Tämän ongelman ratkaisemiseksi katso virheilmoitusERDDAP™Lo.txt-tiedosto, joka etsii loukkaavan ajan arvoa. Katso lähdetiedostoja löytää vastaava tiedosto (Yksi ennen tai yksi jälkeen) Se ei kuulu aggregaatioon.
Johtajat
Tiedostot voivat olla yhdellä hakemistolla tai hakemistolla ja sen aliohjaimilla. (toistuvasti) . Jos tiedostoja on paljon (Esimerkiksi > 1000) käyttöjärjestelmä (ja sitenEDDGridFilejä) Toimii paljon tehokkaammin, jos tallennat tiedostot aliohjaussarjaan. (1 vuosi tai yksi kuukaudessa tiedostojen kanssa) Koskaan ei ole valtavaa määrää tiedostoja tietyssä hakemistossa.
<CacheFromUrl >
Kaikki Kaikki Kaikki KaikkiEDDGridFromFiles ja kaikki EDDTableFromFiles-aineistot tukevat sarjaa tunnisteita, jotka kertovatERDDAP™ladata ja säilyttää kopio kaikista etätietoaineiston tiedostoista tai muutaman tiedoston välimuisti (Ladattu tarpeen mukaan) . Tämä voi olla uskomattoman hyödyllistä. NähdäänCash Url dokumentointi.
Etäosastot ja HTTP Range -pyynnöt
(AKA Byte Serving, Byte Range Requests, Accept-Ranges (käytetty)httpPää)
EDDGridFromNcFiles, EDDTableFromMultidimNcFiles, EDDTableFromNcFiles ja EDDTableFromNcFiles voivat Joskus joskus joskus joskus joskus joskus palvelintiedot.nctiedostot etäpalvelimilla ja HTTP:n kautta, jos palvelin tukeeByte-palvelinHTTP-tarjouspyyntöjen kautta (HTTP-mekanismi tavun tarjoiluun) . Tämä on mahdollista, koska netcdf-java (jonkaERDDAP™käyttää lukemiseen.nctiedostoja) Tukee etäisten tietojen lukemista.nctiedostot HTTP-välipyyntöjen kautta.
Älä tee tätä! Se on erittäin tehoton ja hidas. Sen sijaan käytä [<CacheFromUrl > järjestelmä (#cachefromurl) .
SaavuttaminenERDDAP™Tiedot tiedostoina sivuvälipyyntöjen kautta - Klikkaa tätä ympärillesi, koska voit (Teoriassa) Ajattele aineistoaERDDAP™kuin jättiläinen.nctiedoston liittämällä ".nc"Perustuen pohjaanDAPURL-osoite tietylle tietoaineistolle (esim. https://myserver.org/erddap/griddap/datasetID.nc ja myös lisäämällä "kyselyn sen jälkeen, jotta voidaan määrittää osa-alue) On ehkä järkevää kysyä, voitko käyttää netcdf-javaa.FerretTai joku muuNetCDFAsiakasohjelmisto lukee dataa HTTP Range PyynnötERDDAP. Vastaus on ei, koska ei todellakaan ole valtavaa..nc> tiedosto. Jos haluat tehdä tämän, tee jokin näistä vaihtoehdoista:
- Käytä(OPeN)DAPAsiakasohjelmistot yhdistävät verkkopalveluihin, joita tarjotaanERDDAP. Tämä on mitäDAP (ja sitenERDDAP) oli suunniteltu. Se on erittäin tehokasta.
- Lataa lähdetiedosto (s) From the"files"Järjestelmäjärjestelmä (tai aliryhmätiedoston kautta.nc?? Kysely) tietokoneellesi ja käytä netcdf-javaaFerretTai joku muuNetCDFAsiakasohjelmisto lukee (Nyt nyt) Paikallinen tiedosto (s) .
Cached Tiedot
Kun jokuEDDGridFiles-aineisto on ensin ladattu,EDDGridFromFiles lukee tietoja kaikista asiaankuuluvista tiedostoista ja luo taulukoita (Yksi rivi jokaiseen tiedostoon) Tietoa jokaisesta tiedostosta ja jokaisesta "huonosta" (Erilainen tai mitätön) tiedosto.
- Pöydät on myös tallennettu levylle, kutenNetCDFv3.nctiedostot sisään isovanhemmat /Dataase/ Last2CharsOfDatasetID // datasetID tiedostoissa nimetty: Likainen.nc (jolla on luettelo ainutlaatuisista hakemiston nimistä) , tiedostotiedosto Pöytäpöytä.nc (joka pitää taulukon kunkin voimassa olevan tiedoston tiedoilla) , Badfiilejä.nc (joka pitää taulukon jokaisen huonon tiedoston tiedoilla) .
- nopeuttaa pääsyäEDDGridLähde: Files Dataset (Kustannuksella käyttää enemmän muistia) Voit käyttää
true
kertomaanERDDAP™säilyttää kopio tiedostojen tietotaulukoista muistissa.
- Tiedostotietotaulukoiden kopio on myös hyödyllinen, josERDDAP™on suljettu ja uudelleenkäynnistetty: se pelastaaEDDGridFiles joutuu lukemaan kaikki tiedostot uudelleen.
- Kun aineistoa ladataan,ERDDAP™Sinun tarvitsee vain lukea tiedot uusista tiedostoista ja tiedostoista, jotka ovat muuttuneet.
- Jos tiedosto on erilainen kuin muut tiedostot (Esimerkiksi jokin muuttujan tietotyyppi tai erilainen arvo "Yksikötattribuutti) ,ERDDAPLisää tiedosto luetteloon "huonot" tiedostot. Tiedot tiedoston ongelmasta kirjoitetaan isovanhemmat /logs/log.txt-tiedosto.
- Sinun ei tarvitse koskaan poistaa tai työskennellä näiden tiedostojen kanssa. Yksi poikkeus on: jos teet muutoksia aineistoondatasets.xmlVoit halutessasi poistaa nämä tiedostot pakottaaksesiERDDAP™Lue kaikki tiedostot uudelleen, koska tiedostot luetaan / tulkitaan eri tavalla. Jos haluat poistaa nämä tiedostot, voit tehdä sen, kunERDDAP™Juoksen. (Sitten asetetaan yksiLippuLataa ASAP-tiedot uudelleen.) Kuitenkin,ERDDAP™yleensä huomaa, ettädatasets.xmlTiedot eivät vastaa tiedostoa Pöytätiedot ja poistaa tiedostotaulukot automaattisesti.
- Jos haluat kannustaaERDDAP™tallennettujen tietoaineistojen päivittäminen (Esimerkiksi, jos olet juuri lisännyt, poistanut tai muuttanut joitakin tiedostoja tietoaineiston hakemistoon.) käyttääLippujärjestelmäpakottaaERDDAP™päivittää tallennettuja tiedostoja.
Käsittelypyynnöt
Kun asiakkaan tietopyyntöä käsitellään,EDDGridFromFiles voi nopeasti katsoa taulukkoon kelvolliset tiedostotiedot nähdäkseen, mitkä tiedostot ovat pyydettyjä tietoja.
Cached File -tietojen päivitys
Kun tietoaineistoa ladataan uudelleen, tallennetut tiedostotiedot päivitetään.
- Rekisteröidyt tiedot ladataan määräajoin määritettynä<palauttaa kaikkiNMinutes > aineiston tiedotdatasets.xml.
- Tiedot ladataan uudelleen mahdollisimman pianERDDAP™havaita, että olet lisännyt, poistanut,Koskettaminen (Muuttaa tiedoston viimeinen Muutettu aika) tai muuttanut datatiedostoa.
- Tiedot ladataan mahdollisimman pian, jos käytätLippujärjestelmä.
Kun aineisto on ladattu,ERDDAP™Vertaa nykyisiä saatavilla olevia tiedostoja tallennettuihin tiedostoihin. Uusia tiedostoja luetaan ja lisätään valid-tiedostotaulukkoon. Tiedostot, joita ei enää ole, poistetaan voimassa olevasta tiedostotaulukosta. Tiedostoja, joissa tiedoston aikaleima on muuttunut, luetaan ja niiden tiedot päivitetään. Uudet pöydät korvaavat vanhat pöydät muistissa ja levyllä.
Huonot tiedostot
Huonojen tiedostojen taulukko ja syyt, miksi tiedostot julistettiin huonoiksi (korruptoitunut tiedosto, puuttuvat muuttujat jne.) on lähetetty sähköpostiin Kaikki kaikessa Sähköpostiosoite (Ehkä sinä) Joka kerta, kun aineistoa ladataan uudelleen. Nämä tiedostot on vaihdettava tai korjattava mahdollisimman pian.
Kadonneet muuttujat
Jos osa tiedostoista ei ole osadataVariables on määritelty aineistossadatasets.xmlChunk, se on ihan ok. MilloinEDDGridFromFiles lukee yhden näistä tiedostoista, se toimii kuin tiedosto olisi muuttuja, mutta kaikki puuttuvat arvot.
FTP Trouble/Advice
Jos olet FTP:n uusi tietotiedostoERDDAP™palvelimen aikanaERDDAP™juokseminen, on mahdollisuus, ettäERDDAP™Rekisteröidään FTP-prosessin aikana. Tämä tapahtuu useammin kuin uskotkaan! Jos näin tapahtuu, tiedosto näyttää olevan voimassa. (Hänellä on voimassa oleva nimi) Tiedosto ei ole vielä voimassa. JosERDDAP™yrittää lukea tietoja siitä mitättömästä tiedostosta, mikä johtaa siihen, että tiedosto lisätään mitättömien tiedostojen taulukkoon. Se ei ole hyvä. Tämän ongelman välttämiseksi käytä tilapäistä tiedostonimeä, kun FTP on tiedostossa, esimerkiksi ABC2005..nc• Temps, sitten tiedostonameregex-testi (Katso alapuolelta) Se osoittaa, että tämä ei ole relevantti tiedosto. Kun FTP-prosessi on valmis, nimeä tiedosto uudelleen oikeaan nimeen. Uudelleenmääritysprosessi saa tiedoston ajankohtaiseksi hetkessä.
"0 tiedostoa" Virheellinen viesti
Jos juoksetGenerateDatasetsXmltai taiDasdstai jos yrität ladataEDDGridLähde: Files Dataset InERDDAP™saat "0 tiedostoa" -virheviestin, joka osoittaa, ettäERDDAP™Hakemistossa 0 tiedostoa (kun luulet, että hakemistossa on vastaavat tiedostot) :
- Tarkista, että tiedostot ovat todella tässä hakemistossa.
- Tarkista hakemiston nimi.
- Katso tiedosto NameRegex. On todella helppoa tehdä virheitä regekseillä. Kokeile testaustarkoituksiin regexiä, joka vastaa kaikkia tiedostonimiä. (Näe tämäRegex-dokumentointijaRegex Tutorial.)
- Tarkista, että ohjelman käyttäjä on (Käyttäjä = Tomcat (??) Tomcat/ERDDAP) on "lukenut" näihin tiedostoihin.
- Joissakin käyttöjärjestelmissä (Esimerkiksi SELinux) Järjestelmäasetuksista riippuen ohjelman käyttäjällä on oltava "lue"-lupa koko hakemistojen ketjulle, joka johtaa tiedostojen hakemistoon.
EDDGridLähde: Files Skeleton XML
- Skeleton XML KaikilleEDDGridFiles subclasses on:
<dataset type="EDDGridFrom...Files" datasetID\="..." active\="..." >
<accessibleTo>...</accessibleTo> <!-- 0 or 1 -->
<graphsAccessibleTo>auto|public</graphsAccessibleTo> <!-- 0 or 1 -->
<accessibleViaWMS>...</accessibleViaWMS> <!-- 0 or 1 -->
<reloadEveryNMinutes>...</reloadEveryNMinutes> <!-- 0 or 1 -->
<updateEveryNMillis>...</updateEveryNMillis> <!-- 0 or 1. For
EDDGridFromFiles subclasses, this uses Java's WatchDirectory system
to notice new/deleted/changed files quickly and efficiently. -->
<defaultDataQuery>...</defaultDataQuery> <!-- 0 or 1 -->
<defaultGraphQuery>...</defaultGraphQuery> <!-- 0 or 1 -->
<matchAxisNDigits>...</matchAxisNDigits> <!-- 0 or 1 -->
<nThreads>...</nThreads> <!-- 0 or 1 -->
<dimensionValuesInMemory>...</dimensionValuesInMemory> <!-- 0 or 1 -->
<fgdcFile>...</fgdcFile> <!-- 0 or 1 -->
<iso19115File>...</iso19115File> <!-- 0 or 1 -->
<onChange>...</onChange> <!-- 0 or more -->
<fileDir>...</fileDir> <-- The directory (absolute) with the
data files. -->
<recursive>true|false</recursive> <!-- 0 or 1. Indicates if
subdirectories of fileDir have data files, too. -->
<pathRegex>...</pathRegex> <!-- 0 or 1. Only directory names which
match the pathRegex (default=".\") will be accepted. -->
<fileNameRegex>...</fileNameRegex> <-- 0 or 1. A
regular expression (tutorial) describing valid data
file names, for example, ".\\.nc" for all .nc files. -->
<accessibleViaFiles>true|false(default)</accessibleViaFiles>
<!-- 0 or 1 -->
<metadataFrom>...</metadataFrom> <-- The file to get
metadata from ("first" or "last" (the default) based on file's
lastModifiedTime). -->
<fileTableInMemory>...</fileTableInMemory> <!-- 0 or 1 (true or
false (the default)) -->
<cacheFromUrl>...</cacheFromUrl> <!-- 0 or 1 -->
<cacheSizeGB>...</cacheSizeGB> <!-- 0 or 1 -->
<addAttributes>...</addAttributes> <!-- 0 or 1 -->
<axisVariable>...</axisVariable> <!-- 1 or more -->
<dataVariable>...</dataVariable> <!-- 1 or more -->
</dataset>
EDD *FromAudiofiilit
EDDGridAudiofiilejä ja EDDTableFromAudiofiilit kerätä tietoja paikallisten äänitiedostojen kokoelmasta. (Ensimmäiset esiintyivätERDDAP™v1.82.) Ero on se, ettäEDDGridFromAudioFiles käsittelee tietoja moniulotteisena tietoaineistona (Yleensä kaksi ulottuvuutta:\[tiedoston käynnistys Aika-aika\]ja\[Evankeliumi Aika tiedoston sisällä\]) EDDTableFromAudioFiles käsittelee dataa tabulaarina (yleensä sarakkeilla tiedoston käynnistysaika, elapsedTime tiedoston kanssa ja äänikanavien tiedot) .EDDGridFromAudioFiles edellyttää, että kaikilla tiedostoilla on sama määrä näytteitä, joten jos se ei ole totta, sinun on käytettävä EDDTableFromAudioFilesiä. Muuten EDD-tyypin valinta on täysin sinun valintasi. Yksi etu EDDTableFromAudioFiles: voit lisätä muita muuttujia muilla tiedoilla, esimerkiksistationIDStationType. Molemmissa tapauksissa yhdistetyn aikamuuttujan puute vaikeuttaa näiden EDD-tyyppien tietojen kanssa työskentelyä, mutta ei ollut hyvä tapa perustaa yhtenäistä aikamuuttujaa.
Katso tämän luokan superluokka,EDDGridFilejäjaEDDTableFromfiilitYleistä tietoa siitä, miten luokka toimii ja miten sitä käytetään.
Suosittelemme voimakkaasti käyttämäänGenerateDatasets XML-ohjelmatehdä karkea luonnosdatasets.xmlChunk tälle aineistolle. Koska äänitiedostoilla ei ole muita metatietoja kuin äänitietojen koodaukseen liittyviä tietoja, sinun on muokattava GenerateDatasets -tuotteen tulos. XML antaa olennaisia tietoja (esimerkiksi otsikko, yhteenveto,creator\_nameinstituutio, historia) .
Yksityiskohdat:
- On olemassa useita audiotiedostomuotoja. Tällä hetkellä,ERDDAP™Voit lukea tietoja useimmista .wav- ja .au-tiedostoista. Tällä hetkellä se ei voi lukea muita äänitiedostoja, kuten .aiff tai .mp3. Jos tarvitset tukea muihin äänitiedostomuotoihin tai muihin versioihin .wav ja .au, lähetä pyyntösi Chris. Johannes osoitteessa Noaa.gov. Tai työvälineenä, jota voit käyttää juuri nyt, voit muuntaa äänitiedostosi PCM:ksi. Hyvää (Integer-tiedot) PCM = Loat (kelluvan pisteen tiedot) .wav-tiedostoja niin, ettäERDDAP™voi työskennellä heidän kanssaan.
- Tällä hetkellä,ERDDAP™Voit lukea audiotiedostoja, joilla onJavaAudioFormat -luokka kutsuu PCM ́FLOATia, PCM ́SIGNEDia, PC ́SIGNEDia, ALAWia ja ULAW-koodeja.ERDDAP™muuntaa PCM-arvot (Esimerkiksi 0-255) allekirjoitetut arvot (128 - 128) Järjestämällä bittejä data-arvoissa.ERDDAP™muuntaa ALAW ja ULAW koodattuna alkuperäisestä koodatusta tavusta lyhyeksi (16) arvoja. Siitä lähtienJavaBigEndian = aito dataERDDAP™Järjestää BigEndian=false-tietojen tavut (Pieni endoriitti) lukea arvot oikein. Kaikille muille koodeille (PCM) ,ERDDAP™Lue tiedot sellaisena kuin se on.
- MilloinERDDAP™lukee dataa äänitiedostoista, se muuntaa tiedoston käytettävissä olevan äänimetadan globaaleihin ominaisuuksiin. Tämä sisältää aina (Näytteen arvot näkyvät)
AudioBigEndian "väärä"; //true or false Sisään Audio kanavat 1; AudioEncoding "PCM" (PCM)IGNED); audioFrameRate 96000.0; // Int audioFrameSize 2; / / # tietojen tavut / kehys AudioSampleRate 96000.0; // int audioSampleSizeInBits 16; //# bittiä per näyte
For ForERDDAP"Tarkoitus, kehys on synonyymi näytteelle, joka on tiedot kerrallaan. attribuutit sisälläERDDAP™Saat tiedot, jotka kuvaavat tietoja, kuten ne olivat lähdetiedostoissa.ERDDAP™Nämä tiedot ovat usein muuttuneet, kun tietojen lukeminen, esim. PCM_UNSIGNED, ALAW ja ULAW-koodatut tiedot muunnetaan PCM \SIGNED, ja bigEndian=false data muunnetaan bigEndian=true dataksi. (Mikä on mitenJavahaluaa lukea sen) . Loppujen lopuksi data-arvotERDDAP™tulee aina olemaanPCM-koodattuDatan arvot (Yksinkertaiset digitoidut näytteet ääniaallosta) .
- MilloinERDDAP™lukee audiotiedostoja, lukee koko tiedoston.ERDDAP™Voit lukea jopa 2 miljardia näytettä per kanava. Esimerkiksi, jos näytteenotto on 44 100 näytettä sekunnissa, 2 miljardia näytettä käännetään noin 756 minuuttia äänitietoja tiedostoa kohden. Jos sinulla on äänitiedostoja, joissa on enemmän kuin tämä tietomäärä, sinun on hajotettava tiedostot pienemmiksi palkoiksi.ERDDAP™voi lukea niitä.
- Koska koskaERDDAP™Lue kaikki audiotiedostot,ERDDAP™Sinulla on oltava pääsy suureen muistiin suurten äänitiedostojen kanssa. NäytäERDDAPMuistiasetukset. Jälleen, jos tämä on ongelma, työpaikka, jota voit käyttää juuri nyt, on hajottaa tiedostot pienempiin naarmuihin niin, ettäERDDAP™Niitä voi lukea vähemmän muistilla.
- Osa äänitiedostoista on kirjoitettu väärin.ERDDAP™Pieni ponnistus tällaisten tapausten käsittelyyn. yleensä, kun on virhe,ERDDAP™Heittää poikkeuksen (Hylkää tämä tiedosto) tai tai (Jos virhe on huomaamaton) Lue dataa (Tiedot ovat virheellisiä) .
- ERDDAP™ei tarkista tai muuta äänenvoimakkuutta. Ihannetapauksessa kokonaisäänitiedot skaalataan koko tietotyypin valikoiman käyttämiseksi.
- Audio- ja äänitiedostoilla ei ole järjestelmää puuttuville arvoille. (-999 tai Float.NaN) . Äänitiedoilla ei saisi olla puuttuvia arvoja. Jos arvoja puuttuu (esim. jos haluat pidentää äänitiedostoa) Käytä 0-sarjaa, joka tulkitaan täydelliseksi hiljaisuudeksi.
- MilloinERDDAP™lukee dataa äänitiedostoista, se luo aina sarakkeen, jota kutsutaan vanhentuneeksi. Aika jokaiselle näytteelle, sekunneissa (Tallenna kaksinkertainen) suhteessa ensimmäiseen näytteeseen (joka on määritetty vanhentuneeksi Aika = 0,0) . kanssaEDDGridFromAudioFilesista tulee elapsedTime-akselin muuttuja.
- EDDGridFromAudioFiles edellyttää, että kaikilla tiedostoilla on sama määrä näytteitä. Jos näin ei ole, käytä EDDTableFromAudiofiilejä.
- For ForEDDGridSuosittelemme, että asetat [<ArvotMemory » (#Dimensionvaluesinmemory) Väärin (GenerateDatasets suosittelee XM) Aikamittarilla on usein suuri määrä arvoja.
- For ForEDDGridAudiofiilit, sinun pitäisi lähes aina käyttääEDDGridFiles-järjestelmäYhteenveto kautta File NamesMelkein aina nauhoituksen alkamispäivä Aika tiedostonimistä. Esimerkiksi,
<sourceName>\\*\\*\\*fileName,"timeFormat=yyyyMMdd'\\_'HHmmss",aco\\_acoustic\\.(\\[0-9\\]{8}\\_\\[0-9\\]{6})\\.wav,1</sourceName>
GenerateDatasets XML kannustaa ja auttaa sinua.
- EDDTableFromAudioFiles, sinun pitäisi lähes aina käyttää EDDTableFromFiles järjestelmä\*\**filename pseudosourceNamesTietojen ottaminen tiedoston nimestä (Melkein aina aloituspäivä Aika levylle) edistää sitä datan sarakkeeksi. Esimerkiksi,
<sourceName>\\*\\*\\*fileName,aco\\_acoustic\\.(\\[0-9\\]{8}\\_\\[0-9\\]{6})\\.wav,1</sourceName>
Aikamuoto on täsmennettävä yksiköiden ominaisuutena:<att name="units">yyMdd'"Hmms<>
EDDGridLähde: MergeIRFiles
EDDGridLähde: MergeIRFiles koota tietoja paikallisista,Surgeitiedostoja, jotka ovat peräisinTrooppisen sateenkaaren mittaaminen (TRMMM) NASA:n ja Japan Aerospace Exploration Agencyn yhteinen tehtävä (Jakso) . Yhdistyminen IR-tiedostoja voi ladataNasa.
EDDGridFromMergeIRFiles.java on kirjoitettu ja mukanaERDDAP™Käsikirjoittajat Jonathan Lafite ja Philippe Makowski R.Tech Engineering (Lähde: Copyrighted Open Source) .
EDDGridFromMergeIRFiles on hieman epätavallinen:
- EDDGridFromMergeIRFiles tukee pakattuja tai pakkaamattomia lähdetiedostoja kaikissa yhdistelmissä samassa tietoaineistossa. Näin voit esimerkiksi pakata vanhempia tiedostoja, jotka ovat harvoin saatavilla, mutta pakkaa uusia tiedostoja, jotka ovat usein saatavilla. Voit muuttaa puristustyypin alkuperäisestä. Esimerkiksi Z.gz.
- Jos olet pakannut ja pakkaamaton versio samoista tietotiedostoista samassa hakemistossa, varmista, että<tiedosto NameRegex> for your dataset vastaa tiedostonimiä, jotka haluat sen vastaavan, eikä vastaa tiedostonimiä, joita et halua sen vastaavan.
- Pakkaamattomilla lähdetiedostoilla ei saa olla tiedoston laajennusta ("Ei" tiedostonimellä) .
- Painetuilla lähdetiedostoilla on oltava tiedostolaajennus, muttaERDDAP™määrittää pakkauksen tyypin tarkastamalla tiedoston sisältöä, ei katsomalla tiedoston laajennusta. (Esimerkiksi "Z") . Tuettuja kompressiotyyppejä ovat "gz", "bzip2", "xz", "lzma", "snappy-raw", "snappy-framed", "pack200" ja "z". MilloinERDDAP™lukee pakattuja tiedostoja, se purkautuu lennolla kirjoittamatta tilapäiseen tiedostoon.
- Kaikkien lähdetiedostojen on käytettävä alkuperäistä tiedoston nimitysjärjestelmää: ts. merg YYYYMMDDHDHD 4km-pikseli (missä missä YYYYMMDDHDHD ilmoittaa tiedoston sisältämiin tietoihin liittyvän ajan) tiedoston laajennus, jos tiedosto on pakattu.
Katso tämän luokan superluokka,EDDGridFilejäYleistä tietoa siitä, miten luokka toimii ja miten sitä käytetään.
Suosittelemme voimakkaasti käyttämäänGenerateDatasets XML-ohjelmatehdä karkea luonnosdatasets.xmlChunk tälle aineistolle. Sen jälkeen voit muokata sitä hienosti.
EDDGridLähde: NCFiles
EDDGridLähde: NCFiles aggregoida tietoja paikallisesta, verkosta,GRIB .grb ja .grb2tiedostoja,HDF (V4 tai v5) .hdftiedostoja,.ncmltiedostoja,NetCDF (V3 tai v4) .nctiedostoja jaZarrtiedostoja (versio 2.25) . Zarr-tiedostot ovat hieman erilaisia ja vaativat joko tiedoston NameRegex tai PathRegex sisällyttää "sarr".
Tämä voi toimia muiden tiedostotyyppien kanssa (Esimerkiksi BUFR) Emme ole vain testanneet sitä, joten lähetä meille joitakin näytetiedostoja.
- GRIB-tiedostoja,ERDDAP™Tekee .gbx-tiedoston ensimmäisen kerran, kun se lukee jokaisen GRIB-tiedoston. Joten GRIB-tiedostojen on oltava hakemistossa, jossa Tomcatin käyttämä "käyttäjä" on lukenut + kirjoittanut luvan.
- Katso tämän luokan superluokka,EDDGridFilejäTietoa siitä, miten luokka toimii ja miten sitä käytetään.
- AloitetaanERDDAP™2.12,EDDGridNCFiles jaEDDGridLähde: NCFiles Pakkaamattomat voivat lukea tietoja "rakenteista".nc4 ja.hdf4 tiedostoa. Jotta voidaan tunnistaa muuttuja, joka on peräisin rakenteesta,<sourceName> on käytettävä muotoa: Täydellinen nimi | Jäsen Esimerkkinä ryhmä1/myStruct|MyMember.
- Suosittelemme voimakkaasti käytt ämäänGenerateDatasets XML-ohjelmatehdä karkea luonnosdatasets.xmlChunk tälle aineistolle. Sen jälkeen voit muokata sitä hienosti.
Ryhmät Gridded Nc Files
Netcdf4-tiedostot voivat sisältää ryhmiä. ERDDAP™Tekee vain tietoaineiston yhdestä ryhmästä ja kaikista sen emoryhmistä. Voit määrittää ryhmän nimen GenerateDatasetsissa. XM (Jätä Trailing Slash) tai käyttää " GenerateDatasets" Xml etsii kaikki muuttujien ryhmät, jotka käyttävät eniten mittoja tai käyttävät niitä.\[juuret\]GenerateDatasets etsii vain muuttujia juuriryhmässä.
Ensimmäinen asia, jonka GenerateDatasetsXml tekee tällaiselle tietoaineistolle vastatessasi kysymyksiin, on tulostaa näytetiedoston ncdump-mainen rakenne. Joten jos syötät muutaman goofy-vastauksen ensimmäiselle kierrokselle GenerateDatasetsin kautta. Vähintään XML:ssä voit nähdä, josERDDAP™Voit lukea tiedoston ja katsoa, mitä mitat ja muuttujat ovat tiedostossa. Sitten voit antaa parempia vastauksia toiselle kierrokselle GenerateDatasetsXmlin kautta.
EDDGridLähde: NCFiles Unpacked
EDDGridLähde: NCFiles Unpacked Se on varianttiEDDGridLähde: NCFilesjoka kerää tietoja paikallisesta, verkostaNetCDF (V3 tai v4) .ncliittyviä tiedostoja. Erona on, että luokka purkaa kaikki tiedostot ennenEDDGridFiles katsoo tiedostoja:
- Pakkaa muuttujia, jotka on pakattuscale\_factorja/taiadd\_offset.
- Se muuntaa arvoa jamissing\_valueArvot olla Nan (tai MAX_VALUE integer -tietotyypit) .
- Se muuntaa aika- ja aikaleima-arvot"seconds since 1970-01-01T00:00:00Z".
Tämän luokan suurin etu on, että se tarjoaa tavan käsitellä erilaisia arvoja.scale\_factor,add\_offset> > arvo,missing\_valuetai aikayksikköjä eri lähdetiedostoissa kokoelmassa. Muussa tapauksessa sinun on käytettävä työkalua, kutenNCMLtai taiNCOmuuttaa kunkin tiedoston erojen poistamiseksi, jotta tiedostot voidaan käsitelläEDDGridLähde: NCFiles. Jotta tämä luokka toimisi kunnolla, tiedostojen on noudatettava CF-standardeja.
- Jos yrittää tehdäEDDGridLähde: NCFiles Pakkaamaton ryhmä tiedostoja, joiden kanssa olet aiemmin kokeillut ja epäonnistunutEDDGridNCFiles, CD isovanhemmat /Dataase/ Last2Letters // datasetID // missä missä Last2Letters Kaksi viimeistä kirjaintadatasetID, Poista kaikki tiedostot tässä hakemistossa.
- AloitetaanERDDAP™2.12,EDDGridNCFiles jaEDDGridLähde: NCFiles Pakkaamattomat voivat lukea tietoja "rakenteista".nc4 ja.hdf4 tiedostoa. Jotta voidaan tunnistaa muuttuja, joka on peräisin rakenteesta,<sourceName> on käytettävä muotoa: Täydellinen nimi | Jäsen Esimerkkinä ryhmä1/myStruct|MyMember.
- Suosittelemme voimakkaasti käyttämäänGenerateDatasets XML-ohjelmatehdä karkea luonnosdatasets.xmlChunk tälle aineistolle. Sen jälkeen voit muokata sitä hienosti.
Netcdf4-tiedostot voivat sisältää ryhmiä. NäytäTämä dokumentti.
Ensimmäinen asia, jonka GenerateDatasetsXml tekee tällaiselle tietoaineistolle vastatessasi kysymyksiin, on tulostaa näytteen ncdump-mainen rakenne. Ennen ennen Se on pakkaamaton. Joten jos syötät muutaman goofy-vastauksen ensimmäiselle kierrokselle GenerateDatasetsin kautta. Vähintään XML:ssä voit nähdä, josERDDAP™Voit lukea tiedoston ja katsoa, mitä mitat ja muuttujat ovat tiedostossa. Sitten voit antaa parempia vastauksia toiselle kierrokselle GenerateDatasetsXmlin kautta.
EDDGridLonPM180
EDDGridLonPM180 muuttaa lapsen pituusarvoja (Suljettu) EDDGridtietoja, joiden pituusarvo on suurempi kuin 180 (Esimerkiksi 0-360) niin, että ne ovat alueella - 180 - 180 (Longitude Plus tai Minus 180, joten nimi) .
- Tämä tarjoaa tavan tehdä tietoaineistoja, joiden pituusarvot ovat yli 180 yhteensopiviaOGCPalvelupalvelut (EsimerkiksiWMSPalvelin sisäänERDDAP) Koska kaikkiOGCPalvelut vaativat pituusarvoja vuosina 180–180.
- Työskentely keskeyttämisen läheisyydessä aiheuttaa ongelmia riippumatta siitä, onko keskeyttäminen pituus 0 vai pituus 180. Tämän tiedostotyypin avulla voit välttää nämä ongelmat kaikille tarjoamalla kaksi versiota samasta tietoaineistosta: yksi, jolla on pituusarvot välillä 0-360 (Tyynenmeren alue?) , Yksi, jolla on pituusarvot alueella -180 - 180 ("Atlantistinen"?) .
- Lapsitietokannoille, joiden pituusarvot ovat yli 180, kaikki uudet pituusarvot ovat vain 360 astetta pienempiä. Esimerkiksi aineisto, jonka pituusarvot ovat 180–240, muuttuu aineistoksi, jonka pituusarvot ovat -180–120.
- lapsille, joilla on pitkät arvot koko maailmassa (Noin 0-360) Uusi pituusarvo järjestetään uudelleen (karkeasti) 180–180: Alkuperäiset 0–180 arvoa eivät muutu. Alkuperäiset 180-360 arvoa muunnetaan -180-0 ja siirretään pituussarjan alkuun.
- 180-vuotiaille lapsille, jotka eivät kata maailmaa,ERDDAP™lisätä puuttuvat arvot tarpeen mukaan, jotta saadaan tietoaineisto, joka kattaa maapallon. Esimerkiksi lapsitietokanta, jonka pituusarvot ovat 140–200, muuttuu aineistoksi, jonka pituusarvot ovat -180–180. Lapsiarvot 180-200 olisivat -180 - -160. Uusia pituusarvoja lisätään -160:stä 140:een. Vastaavat data-arvot ovat \-Fill-arvoja. 140–180 lapsen arvot eivät muutu. Kadonneiden arvojen lisääminen voi tuntua oudolta, mutta se välttää useita ongelmia, jotka johtuvat pituusarvoista, jotka hyppäävät yhtäkkiä. (Esimerkkinä -160 - 140) .
- SisälläGenerateDatasetsXmlOn olemassa erityinen "tietotyyppi",EDDGridLonPM180FromErddapCatalog, jonka avulla voit luodadatasets.xmlforEDDGridLonPM180 aineistoa jokaisestaEDDGridTietoja eräässäERDDAPPituusarvot ovat yli 180. Tämä mahdollistaa näiden aineistojen kahden version tarjoamisen: alkuperäiset, joiden pituusarvot ovat 0-360, Uusi tietokanta, jonka pituusarvot vaihtelevat -180 - 180.
Lapsitiedot jokaisessaEDDGridLonPM180-tietokanta onEDDGridErddap-tietokanta, joka viittaa alkuperäiseen tietoaineistoon. Uusien aineistojendatasetIDNimi tulee olemaan alkuperäisen tietoaineiston nimi sekä LONPM180. Esimerkiksi,
<dataset type="EDDGridLonPM180" datasetID="erdMBsstdmday\\_LonPM180" active="true">
<dataset type="EDDGridFromErddap" datasetID="erdMBsstdmday\\_LonPM180Child">
<!-- SST, Aqua MODIS, NPP, 0.025 degrees, Pacific Ocean, Daytime
(Monthly Composite) minLon=120.0 maxLon=320.0 -->
<sourceUrl>https://coastwatch.pfeg.noaa.gov/erddap/griddap/erdMBsstdmday
</sourceUrl>
</dataset>
</dataset>
Laita seEDDGridLonPM180-tietokanta alapuolella alapuolella Alkuperäinen tietoaineistodatasets.xml. Näin vältetään mahdolliset ongelmat.
Vaihtoehtoisesti voit korvataEDDGridFromErddap-tietokanta alkuperäisen tietoaineiston avulladatasets.xml. Sitten on vain yksi versio aineistosta: yksi, jolla on pituusarvot -180 - 180. Laiminlyömme tätä, koska on aikoja, jolloin jokainen tietoaineiston versio on kätevämpi.
- Jos tarjoat kaksi versiota tietoaineistosta, esimerkiksi pituus 0-360 ja pituus -180-180:
- Voit käyttää valinnaista [<Saatavuus ViaWMS>väärä</ saavutettavissa ViaWMS> (#accessibleviawms) 0-360-tietokannan avulla voidaan poistaaWMSpalvelua kyseiselle tietoaineistolle. Tällöin vain LonPM180-versio on saatavilla.WMS.
- On olemassa muutamia tapoja pitää LonPM180-tietokanta ajan tasalla taustalla olevan tietoaineiston muutoksilla:
- Jos lapsi on aEDDGridFromErddap-tietokanta, joka viittaa tietoaineistoon samassaERDDAP™LonPM180-tietoaineisto pyrkii suoraan tilaamaan taustalla olevan tietoaineiston niin, että se on aina ajan tasalla. Suorat tilaukset eivät luo sähköpostiviestejä, jotka pyytävät sinua vahvistamaan tilauksen - validointi on tehtävä automaattisesti.
- Jos lapsi ei oleEDDGridTietokanta, joka on samassaERDDAP™LonPM180-tietoaineisto pyrkii käyttämään säännöllistä tilausjärjestelmää taustalla olevan tietoaineiston tilaamiseen. Jos sinulla on tilausjärjestelmäERDDAP™Käytetty, sinun pitäisi saada sähköpostit, jotka pyytävät sinua vahvistamaan tilauksen. Ole hyvä ja tee niin.
- Jos sinulla on tilausjärjestelmäERDDAP™LonPM180-tietoaineisto on joskus vanhentunut, kunnes LonPM180-tietoaineisto ladataan uudelleen. Jos tilausjärjestelmä on poistettu, sinun on asetettava [<Reload Jokainen minuutti » (#reloadeverynminutes) LonPM180-tietoaineiston asettaminen pienempään määrään, jotta se saa todennäköisemmin muutoksia lapsitietoihin.
EDDGridLonPM180 Skeleton XML
<dataset type="EDDGridLonPM180" datasetID\="..." active\="..." >
<reloadEveryNMinutes>...</reloadEveryNMinutes> <!-- 0 or 1 -->
<updateEveryNMillis>...</updateEveryNMillis> <!-- 0 or 1. For
EDDGridFromDap, this gets the remote .dds and then gets the new
leftmost (first) dimension values. -->
<accessibleTo>...</accessibleTo> <!-- 0 or 1 -->
<graphsAccessibleTo>auto|public</graphsAccessibleTo> <!-- 0 or 1 -->
<accessibleViaWMS>...</accessibleViaWMS> <!-- 0 or 1 -->
<defaultDataQuery>...</defaultDataQuery> <!-- 0 or 1 -->
<defaultGraphQuery>...</defaultGraphQuery> <!-- 0 or 1 -->
<nThreads>...</nThreads> <!-- 0 or 1 -->
<dimensionValuesInMemory>...</dimensionValuesInMemory> <!-- 0 or 1 -->
<fgdcFile>...</fgdcFile> <!-- 0 or 1 -->
<iso19115File>...</iso19115File> <!-- 0 or 1 -->
<onChange>...</onChange> <!-- 0 or more -->
<dataset>...</dataset> <!-- The child EDDGrid dataset. -->
</dataset>
EDDGridLon0360
EDDGridLon0360 muuttaa lapsen pituusarvoja (Suljettu) EDDGridtietoja, joiden pituusarvo on alle 0 (Esimerkiksi -180 - 180) niin, että ne ovat välillä 0-360 (Siksi nimi) .
- Työskentely keskeyttämisen läheisyydessä aiheuttaa ongelmia riippumatta siitä, onko keskeyttäminen pituus 0 vai pituus 180. Tämän tiedostotyypin avulla voit välttää nämä ongelmat kaikille tarjoamalla kaksi versiota samasta tietoaineistosta: Yksi, jolla on pituusarvot alueella -180 - 180 ("Atlantistinen"?) . yksi, jolla on pituusarvot välillä 0-360 (Tyynenmeren alue?) ,
- Kaikilla pituusarvoilla varustetuilla lapsitietokannoilla alle 0, kaikki uudet pituusarvot ovat vain 360 astetta korkeampia. Esimerkiksi -180--120 pituusarvoilla varustetusta tietoaineistosta tulee aineisto, jonka pituusarvot ovat 180–240.
- lapsille, joilla on pitkät arvot koko maailmassa (180 - 180) Uusi pituusarvo järjestetään uudelleen (karkeasti) 0-360: Alkuperäiset -180-0-arvot muunnetaan 180-360 ja siirretään pituussarjan loppuun. Alkuperäiset 0–180 arvoa eivät muutu.
- lapsille, jotka kattavat lon = 0, mutta eivät kata maailmaa,ERDDAP™lisätä puuttuvat arvot tarpeen mukaan, jotta saadaan tietoaineisto, joka kattaa maapallon. Esimerkiksi lapsitietokanta, jonka pituusarvot ovat -40-20, muuttuu aineistoksi, jonka pituusarvot ovat 0-360. Lapsen arvot 0–20 olisivat muuttumattomat. Uusia pituusarvoja lisätään 20:stä 320:een. Vastaavat data-arvot ovat \-Fill-arvoja. Lapsiarvot -40-0 olisivat 320-360. Kadonneiden arvojen lisääminen voi tuntua oudolta, mutta se välttää useita ongelmia, jotka johtuvat pituusarvoista, jotka hyppäävät yhtäkkiä. (esimerkiksi 20-320) .
- SisälläGenerateDatasetsXmlOn olemassa erityinen "tietotyyppi",EDDGridLon0360 ErddapCatalog, jonka avulla voit luodadatasets.xmlforEDDGridLon0360 aineistoa jokaisestaEDDGridTietoja eräässäERDDAPPituusarvot ovat yli 180. Tämä mahdollistaa näiden aineistojen kahden version tarjoamisen: alkuperäiset, joiden pituusarvot ovat 0-360, Uusi tietokanta, jonka pituusarvot vaihtelevat -180 - 180.
Lapsitiedot jokaisessaEDDGridLon0360-tietokanta onEDDGridErddap-tietokanta, joka viittaa alkuperäiseen tietoaineistoon. Uusien aineistojendatasetIDNimi tulee olemaan alkuperäisen tietoaineiston nimi sekä "Lon0360". Esimerkiksi,
<dataset type="EDDGridLon0360" datasetID="erdMBsstdmday\\_Lon0360" active="true">
<dataset type="EDDGridFromErddap" datasetID="erdMBsstdmday\\_Lon0360Child">
<!-- SST, Aqua MODIS, NPP, 0.025 degrees, Pacific Ocean, Daytime
(Monthly Composite) minLon=-40.0 maxLon=20.0 -->
<sourceUrl>https://coastwatch.pfeg.noaa.gov/erddap/griddap/erdMBsstdmday
</sourceUrl>
</dataset>
</dataset>
Laita seEDDGridLon0360 aineisto alapuolella alapuolella Alkuperäinen tietoaineistodatasets.xml. Näin vältetään mahdolliset ongelmat.
Vaihtoehtoisesti voit korvataEDDGridFromErddap-tietokanta alkuperäisen tietoaineiston avulladatasets.xml. Tällöin aineistosta on vain yksi versio: pituusarvot 0-360. Laiminlyömme tätä, koska on aikoja, jolloin jokainen tietoaineiston versio on kätevämpi.
- Jos tarjoat kaksi versiota tietoaineistosta, esimerkiksi pituus 0-360 ja pituus -180-180:
- Voit käyttää valinnaista [<Saatavuus ViaWMS>väärä</ saavutettavissa ViaWMS> (#accessibleviawms) 0-360-tietokannan avulla voidaan poistaaWMSpalvelua kyseiselle tietoaineistolle. Tämän jälkeen vain -180-180-versio on käytettävissä.WMS.
- On olemassa muutamia tapoja pitää Lon0360-tietokanta ajan tasalla taustalla olevan tietoaineiston muutoksilla:
- Jos lapsi on aEDDGridFromErddap-tietokanta, joka viittaa tietoaineistoon samassaERDDAP™Lon0360-tietoaineisto pyrkii suoraan tilaamaan taustalla olevan tietoaineiston niin, että se on aina ajan tasalla. Suorat tilaukset eivät luo sähköpostiviestejä, jotka pyytävät sinua vahvistamaan tilauksen - validointi on tehtävä automaattisesti.
- Jos lapsi ei oleEDDGridTietokanta, joka on samassaERDDAP™Lon0360-tietoaineisto pyrkii käyttämään säännöllistä tilausjärjestelmää taustalla olevan tietoaineiston tilaamiseen. Jos sinulla on tilausjärjestelmäERDDAP™Käytetty, sinun pitäisi saada sähköpostit, jotka pyytävät sinua vahvistamaan tilauksen. Ole hyvä ja tee niin.
- Jos sinulla on tilausjärjestelmäERDDAP™Lon0360-tietoaineisto on joskus vanhentunut, kunnes Lon0360-tietoaineisto ladataan uudelleen. Jos tilausjärjestelmä on poistettu, sinun on asetettava [<Reload Jokainen minuutti » (#reloadeverynminutes) Lon0360-tietoaineiston asettaminen pienempään määrään, jotta se saa todennäköisemmin muutoksia lapsitietoihin.
EDDGridLon0360 Skeleton XML
<dataset type="EDDGridLon0360" datasetID\="..." active\="..." >
<reloadEveryNMinutes>...</reloadEveryNMinutes> <!-- 0 or 1 -->
<updateEveryNMillis>...</updateEveryNMillis> <!-- 0 or 1. For
EDDGridFromDap, this gets the remote .dds and then gets the new
leftmost (first) dimension values. -->
<accessibleTo>...</accessibleTo> <!-- 0 or 1 -->
<graphsAccessibleTo>auto|public</graphsAccessibleTo> <!-- 0 or 1 -->
<accessibleViaWMS>...</accessibleViaWMS> <!-- 0 or 1 -->
<defaultDataQuery>...</defaultDataQuery> <!-- 0 or 1 -->
<defaultGraphQuery>...</defaultGraphQuery> <!-- 0 or 1 -->
<nThreads>...</nThreads> <!-- 0 or 1 -->
<dimensionValuesInMemory>...</dimensionValuesInMemory> <!-- 0 or 1 -->
<fgdcFile>...</fgdcFile> <!-- 0 or 1 -->
<iso19115File>...</iso19115File> <!-- 0 or 1 -->
<onChange>...</onChange> <!-- 0 or more -->
<dataset>...</dataset> <!-- The child EDDGrid dataset. -->
</dataset>
EDDGridSideBySide
EDDGridSideBySide Yhteenveto kahdesta tai useammastaEDDGridDataa (Lapset) puolelta.
- Tuloksena olevassa tietoaineistossa on kaikki muuttujat kaikista lasten tietoaineistoista.
- Emotietokanta ja kaikki lasten tietoaineistot on erilainendatasetIDs. Jos perheen nimet ovat täsmälleen samat, aineisto ei lataudu. (virheviestillä, että yhdistetyn akselin arvot eivät ole järjestyksessä) .
- Kaikilla lapsilla on oltava samat lähdearvot.axisVariables\[1+\] (esimerkiksi leveys, pituus) . Testien tarkkuus määräytyyAxisNDigits.
- Lapsilla voi olla erilaiset lähdearvotaxisVariables\[0\] (Esimerkiksi aika) Ne ovat yleensä samanlaisia.
- Emoyhtiön tiedot näyttävät olevan kaikkiaxisVariables\[0\]Lähteitä kaikille lapsille.
- Näin voit esimerkiksi yhdistää lähdeaineiston vektorin u-komponenttiin ja toisen lähdeaineiston vektorin v-komponenttiin, jotta yhdistettyjä tietoja voidaan palvella.
- Tällä menetelmällä luotuja lapsia pidetään yksityisesti. Ne eivät ole erikseen saatavilla olevia tietoaineistoja. (esimerkiksi asiakastietopyyntöjen taiLipputiedostot) .
- Maailmanlaajuinen metatieto ja emoyrityksen asetukset tulevat maailman metatietojen ja ensimmäisen lapsen asetusten perusteella.
- Jos on olemassa poikkeus ensimmäisestä lapsesta, vanhempaa ei synny.
- Jos on olemassa poikkeus, kun luot muita lapsia, tämä lähettää sähköpostia kaikkeen. (Kuten on määriteltyAsennus.xml) Jatkuu muiden lasten kanssa.
EDDGridSideBySide Skeleton XML
<dataset type="EDDGridSideBySide" datasetID\="..." active\="..." >
<accessibleTo>...</accessibleTo> <!-- 0 or 1 -->
<graphsAccessibleTo>auto|public</graphsAccessibleTo> <!-- 0 or 1 -->
<accessibleViaWMS>...</accessibleViaWMS> <!-- 0 or 1 -->
<defaultDataQuery>...</defaultDataQuery> <!-- 0 or 1 -->
<defaultGraphQuery>...</defaultGraphQuery> <!-- 0 or 1 -->
<matchAxisNDigits>...</matchAxisNDigits> <!-- 0 or 1 -->
<nThreads>...</nThreads> <!-- 0 or 1 -->
<dimensionValuesInMemory>...</dimensionValuesInMemory> <!-- 0 or 1 -->
<fgdcFile>...</fgdcFile> <!-- 0 or 1 -->
<iso19115File>...</iso19115File> <!-- 0 or 1 -->
<onChange>...</onChange> <!-- 0 or more -->
<dataset>...</dataset> <!-- 2 or more -->
</dataset>
EDDGridAggregateExistingDimensio
EDDGridAggregateExistingDimensio Yhteenveto kahdesta tai useammastaEDDGridaineistot, joista jokaisella on erilaiset arvot ensimmäisess ä ulottuvuudessa, mutta samat arvot muissa ulottuvuuksissa.
- Yhdellä lapsella voi olla 366 arvoa. (2004) Lapsella voi olla 365 arvoa (2005) ajan ulottuvuudesta.
- Kaikki arvot muihin ulottuvuuksiin (esimerkiksi leveys, pituus) Täytyy olla sama kaikille lapsille. Testien tarkkuus määräytyyAxisNDigits.
- Dimension arvot - Kunkin ulottuvuuden arvot on määriteltävä järjestyksessä. (nouseminen tai laskeutuminen) . Arvot voidaan asettaa epäsäännöllisesti. Ei voi olla siteitä. Tämä on vaatimusCF:n metatiedot. Jos minkään ulottuvuuden arvot eivät ole lajitellussa järjestyksessä, aineistoa ei ladata jaERDDAP™tunnistaa lokitiedoston ensimmäisen arvon, isovanhemmat /logs/log.txt.
Rajoittamattomat ulottuvuudet osoittavat lähes aina ongelman lähdeaineiston kanssa. Tämä tapahtuu yleisimmin, kun väärin nimetty tai sopimaton tiedosto sisältyy aggregaatioon, joka johtaa häiriöttömään ajan ulottuvuuteen. Tämän ongelman ratkaisemiseksi katso virheilmoitusERDDAP™Lo.txt-tiedosto, joka etsii loukkaavan ajan arvoa. Katso lähdetiedostoja löytää vastaava tiedosto (Yksi ennen tai yksi jälkeen) Se ei kuulu aggregaatioon.
- Emotietokanta ja lapsitietokanta on erilainendatasetIDs. Jos perheen nimet ovat täsmälleen samat, aineisto ei lataudu. (virheviestillä, että yhdistetyn akselin arvot eivät ole järjestyksessä) .
- Tällä hetkellä lapsitietojen on oltavaEDDGridFromDap-tietoaineistolla ja MUST:llä on yhdistetyn ulottuvuuden alhaisimmat arvot. (Yleensä vanhimmat aika-arvot) . Kaikkien muiden lasten on oltava lähes identtisiä. (Erot vain ensimmäisessä ulottuvuudessa) ja ne on määritetty vain heidänsourceUrl.
- Yhteenlaskettu tietoaineisto saa metatietonsa ensimmäisestä lapsesta.
- TheGenerateDatasets XML-ohjelmavoi tehdä karkean luonnoksendatasets.xmlYksiEDDGridAggregateExistingDimension perustuu joukkoon tiedostoja, joita palveleeHyraxKolme palvelinta. Käyttäkää esimerkiksi tätä ohjelmaa (URL-osoitteen "/1988" ansiosta esimerkit kulkevat nopeammin) :
EDDType? EDDGridAggregateExistingDimension
Server type (hyrax, thredds, or dodsindex)? hyrax
Parent URL (for example, for hyrax, ending in "contents.html";
for thredds, ending in "catalog.xml")
? https://opendap.jpl.nasa.gov/opendap/ocean\\_wind/ccmp/L3.5a/data/
flk/1988/contents.html
File name regex (for example, ".\\*\\.nc")? month.\\*flk\\.nc\\.gz
ReloadEveryNMinutes (for example, 10080)? 10080
Voit käyttää tulosta<sourceUrl> tagit tai poista ne ja ota vastaan<sourceUrl>tunnus (jotta uudet tiedostot huomataan joka kerta, kun tietoaineisto ladataan uudelleen.
EDDGridAggregateExistingDimension Skeleton XML
<dataset type="EDDGridAggregateExistingDimension" datasetID\="..."
active\="..." >
<dataset>...</dataset> <!-- This is a regular EDDGridFromDap dataset
description child with the lowest values for the aggregated
dimensions. -->
<sourceUrl>...</sourceUrl> <!-- 0 or many; the sourceUrls for
other children. These children must be listed in order of
ascending values for the aggregated dimension. -->
<sourceUrls serverType="..." regex="..." recursive="true"
pathRegex\=".\"
>https://someServer/someDirectory/someSubdirectory/catalog.xml</sourceUrls>
<!-- 0 or 1. This specifies how to find the other children,
instead of using separate sourceUrl tags for each child. The
advantage of this is: new children will be detected each time
the dataset is reloaded. The serverType must be "thredds",
"hyrax", or "dodsindex". An example of a regular expression (regex) (tutorial) is .\\.nc
recursive can be "true" or "false".
Only directory names which match the
<pathRegex>
(default=".\*") will be accepted.
A thredds catalogUrl MUST include "/thredds/catalog/".
An example of a thredds catalogUrl is
https://thredds1.pfeg.noaa.gov/thredds/catalog/Satellite/aggregsatMH/
chla/catalog.xml
An example of a hyrax catalogUrl is
https://opendap.jpl.nasa.gov/opendap/allData/ccmp/L3.5a/monthly/
flk/1988/contents.html
An example of a dodsindex URL is
https://opendap.jpl.nasa.gov/opendap/GeodeticsGravity/tellus/L3/mascon/RL06/JPL/v02/CRI/netcdf/contents.html
(Note the "OPeNDAP logo at the top of the page.)
When these children are sorted by filename, they must be in
order of ascending values for the aggregated dimension. -->
<accessibleTo>...</accessibleTo> <!-- 0 or 1 -->
<graphsAccessibleTo>auto|public</graphsAccessibleTo> <!-- 0 or 1 -->
<accessibleViaWMS>...</accessibleViaWMS> <!-- 0 or 1 -->
<defaultDataQuery>...</defaultDataQuery> <!-- 0 or 1 -->
<defaultGraphQuery>...</defaultGraphQuery> <!-- 0 or 1 -->
<matchAxisNDigits>...</matchAxisNDigits> <!-- 0 or 1 -->
<nThreads>...</nThreads> <!-- 0 or 1 -->
<dimensionValuesInMemory>...</dimensionValuesInMemory> <!-- 0 or 1 -->
<fgdcFile>...</fgdcFile> <!-- 0 or 1 -->
<iso19115File>...</iso19115File> <!-- 0 or 1 -->
<onChange>...</onChange> <!-- 0 or more -->
</dataset>
EDDGridKopio
EDDGridKopio tehdä ja ylläpitää paikallista kopiota toisestaEDDGrid"tietoa ja palvelee tietoja paikallisesta kopiosta.
- EDDGridKopio (Tabulaarista dataa,EdDTableCopy) Helppo käyttää ja erittäin tehokas
Ratkaisu joihinkin suurimpiin ongelmiin, jotka liittyvät etätietolähteen tietojenkäsittelyyn:
- Tietojen saaminen etätietolähteestä voi olla hidasta.
- Se voi olla hidasta, koska se on luontaisesti hidasta. (Esimerkiksi tehoton palvelintyyppi) ,
- koska pyyntöjä on liikaa,
- tai koska palvelin tai etäpalvelin on kaistanleveys rajoitettu.
- Etäaineisto on joskus saatavilla (Jälleen, monesta syystä) .
- Luottamus yhteen tietolähteeseen ei mittaa hyvin (Esimerkiksi, kun monet käyttäjät ja monetERDDAPkäyttää sitä) .
- Tietojen saaminen etätietolähteestä voi olla hidasta.
- Miten se toimii -EDDGridKopio ratkaisee nämä ongelmat automaattisesti tekemällä ja ylläpitämällä paikallista kopiota tiedoista ja toimittamalla tietoja paikallisesta kopiosta.ERDDAP™Tietoja voi palvella hyvin, hyvin nopeasti. Paikallisen kopion tekeminen lievittää taakkaa etäpalvelimella. Paikallinen kopio on alkuperäisen varmuuskopio, joka on hyödyllinen, jos jotain tapahtuu alkuperäiselle.
Ei ole mitään uutta tehdä paikallinen kopio tietoaineistosta. Mikä on uusi asia, että tämä luokka tekee\*Help helppoa\*luoda ja\*ylläpitää\*Paikallinen kopio datasta\*Erilaisia\*etätietolähteiden ja\*Lisää metadataa\*kopioimalla tietoja.
- Tiedot -EDDGridKopio tekee paikallisen jäljennöksen tiedoista pyytämällä etältä saatuja tietoja.<Dataa > Jokaiselle vasemmiston arvolle tulee vaaleanpunainen (Ensimmäinen ensimmäinen) Akseli muuttuu.EDDGridKopio ei luota etätietoaineiston indeksinumeroihin akselille - ne voivat muuttua.
VAROITUS: Jos datan koko on niin suuri (> 2GB) Se aiheuttaa ongelmia,EDDGridKopiota ei voi käyttää. (Toivomme, että meillä on ratkaisu tähän ongelmaan tulevaisuudessa.)
- \[vaihtoehtoEDDGridKopiointi - Jos etätiedot ovat saatavilla ladattavien tiedostojen, ei verkkopalvelun,Cash Url vaihtoehtoEDDGridFilejä, joka tekee paikallisen kopion etätiedostoista ja palvelee tietoja paikallisista tiedostoista.\]
- Paikalliset tiedostot - Jokainen tietokanta tallennetaan erikseenNetCDFtiedoston aliohjelmassa isovanhemmat Copy/ datasetID // (Kuten on määriteltyAsennus.xml) . Akseliarvoista luotuja tiedostonimiä muokataan tiedostonimi-turvalliseksi (Esimerkiksi hypenit korvataan x2D:llä.) Tämä ei vaikuta todellisiin tietoihin.
- Uusia tietoja ----- Joka kertaEDDGridKopio on ladattu, se tarkistaa etäisyyden.<Tietokone > Katso, mitä ketjuja on saatavilla Jos tiedostoa ei ole jo olemassa, pyyntö saada kiinni on lisätty jonoon.ERDDAPTehtäväThread käsittelee kaikki johdetut pyynnöt tietojen keräämiseksi yksi kerrallaan. Voit nähdä tilastot Tehtävän toiminnastaTilasivutja sisälläPäivittäinen raportti. (Kyllä,ERDDAP™Tämä voisi määrittää useita tehtäviä tähän prosessiin, mutta se käyttäisi paljon etätietolähteen kaistanleveyttä, muistia ja CPU-aikaa ja paljon paikallista.ERDDAPKaistanleveys, muisti ja CPU-aika, joista kumpikaan ei ole hyvä idea.)
HUOMAUTUS: Ensimmäinen kertaEDDGridKopio on ladattu, (Jos kaikki menee hyvin) Tehtävän jonoon lisätään paljon pyyntöjä, mutta paikallisia tietotiedostoja ei ole luotu. Joten rakentaja epäonnistuu, mutta tehtäväThread jatkaa työskentelyä ja luo paikallisia tiedostoja. Jos kaikki menee hyvin, tehtäväThread tekee paikallisia tietotiedostoja ja seuraava yritys ladata tietoaineistoa uudelleen. (~15 minuuttia) Se onnistuu, mutta alun perin hyvin rajoitetusti.
HUOMAUTUS: Kun aineistossa on joitakin tietoja ja se näkyyERDDAPJos etätietoaineisto on tilapäisesti tai pysyvästi saatavilla, paikallinen tietoaineisto toimii edelleen.
Varoitus: Jos etätietoaineisto on suuri ja/tai etäpalvelin on hidas (Tämä on ongelma, eikö?) Kestää kauan tehdä täydellinen paikallinen kopio. Joissakin tapauksissa tarvittava aika ei ole hyväksyttävää. Esimerkiksi yhden TB-datan siirtäminen T1-linjan yli (0,15 GB/s) kestää vähintään 60 päivää optimaalisissa olosuhteissa. Lisäksi se käyttää paljon kaistanleveyttä, muistia ja CPU-aikaa etä- ja paikallisissa tietokoneissa. Ratkaisu on lähettää kiintolevy etätietojoukon ylläpitäjälle, jotta s/ hän voi tehdä kopion tietoaineistosta ja lähettää kiintolevyn takaisin sinulle. Käytä näitä tietoja lähtökohtana jaEDDGridKopio lisää siihen tietoja. (Tämä on yksi tapa, jollaAmazonin EC2-pilvipalveluOngelma ratkeaa, vaikka järjestelmässä on paljon kaistanleveyttä.)
VAROITUS: Jos arvo on vasemmistolle (Ensimmäinen ensimmäinen) akselimuuttuja katoaa etätietokannasta,EDDGridKopio ei poista paikallista kopioitua tiedostoa. Jos haluat, voit poistaa sen itse.
Grid Copy checkSource Näytä tarkat tiedot Data Data Data Data Data Data Data Data Data Data Data Data Data Data Data Data Data Data Data Data Data Data Data Data Data Data Data Data Data Data Data Data Data Data Data Data Data Data Data Data Data Data Data Data Data Data Data Data Data Data Data Data Data Data Data Data Data Data Data Data Data Data Data Data Data Data Data Data Data Data Data Data Data Data Data Data Data Data Data Data Data Data Data Data Data Data Data Data Data Data Data Data Data Data Data Data Data Data Data Data Data Data Data Data Data Data Data Data Data Data Data Data Data Data Data Data Data Data Data Data Data Data Data Data Data Data Data Data Data Data Data Data Data Data Data Data Data Data Data Data Data Data Data Data Data Data Data Data Data Data Data Data Data Data Data Data Data Data Data Data Data Data Data Data Data Data Data Data Data Data Data Data Data Data Data Data Data Data Data Data Data Data Data Data Data Data Data Data Data Data Data Data Data Data Data Data Data Data Data Data Data Data Data Data Data Data Data Data Data Data Data Data Data Data Data Data Data Data Data Data Data Data Data Data Data Data Data Data Data Data Data Data Data Data Data Data Data Data Data Data Data Data Data Data Data Data Data Data Data Data Data Data Data Data Data Data
Thedatasets.xmlTällä aineistolla voi olla valinnainen tunniste
<checkSourceData>true</checkSourceData>
Oletusarvo on totta. Jos / kun asetat sen vääräksi, tietoaineisto ei koskaan tarkista lähdeaineistoa nähdäksesi, onko lisätietoja saatavilla.
Ainoastaan
Voit kertoaEDDGridKopioi lähdeaineiston osajoukon kopion tekeminen koko lähdeaineiston sijasta lisäämällä lomakkeeseen merkityksen<Vain » jotkut Arvon arvo </onlySince > Tietoaineistondatasets.xmlChunk.EDDGridKopio lataa vain ensimmäisen ulottuvuuden arvoihin liittyviä tietoarvoja. (Yleensä ajan ulottuvuus) jotka ovat suurempia kuin jotkut Arvon arvo . jotkut Arvon arvo Voi olla:
-
Suhteellinen aika, joka on määriteltynow- NUnits . Esimerkiksi,<Vain »now-2 vuotta</onlySince> kertoo aineistosta vain paikallisia jäljennöksiä datasta, jossa ulkoisen ulottuvuuden arvot (Yleensä aika-arvot) Viimeisten kahden vuoden aikana (joka arvioidaan uudelleen joka kerta, kun tietoaineisto ladataan uudelleen, jolloin se etsii uusia tietoja kopioimaan.) . Nähdäännow- NUnits Synonyymi kuvaus. Tämä on hyödyllistä, jos ensimmäisessä ulottuvuudessa on aikatietoja, joita se yleensä tekee.
EDDGridKopio ei poista paikallisia tiedostoja, joilla on tietoja, jotka vanhenevat ajan myötä.now- NUnits . Voit poistaa nämä tiedostot milloin tahansa, jos haluat. Jos teet niin suosittelemme, että asetatLippuKun poistat tiedostot kertomaanEDDGridKopioi tiedostojen luettelon päivittäminen.
-
ISO 8601 merkkijonoyyyy-MM-ddTHH:mm:ssZ. Esimerkiksi,<> 2000-01-01T00:00</onlySince> kertoo aineistosta vain paikallisia kopioita, joissa ensimmäisen ulottuvuuden arvo on 2000-01-01T00:00:00Z. Tämä on hyödyllistä, jos ensimmäisessä ulottuvuudessa on aikatietoja, joita se yleensä tekee.
-
kelluva numero. Esimerkiksi,<> 946684800.0<Vain >> Yksiköt ovat ensimmäisen ulottuvuuden kohdeyksikköjä. Esimerkiksi aikamittauksissa yksikötERDDAP™Aina on"seconds since 1970-01-01T00:00:00Z". 9464800.0"seconds since 1970-01-01T00:00:00Z"Se vastaa 2000-01-01T00:00:00. Tämä on aina hyödyllinen vaihtoehto, mutta se on erityisen hyödyllinen, kun ensimmäisessä ulottuvuudessa ei ole aikaa.
EDDGridKopioi suositeltu käyttö
- Luoda<Tietoja > Sisääntulo (syntyperäinen, eiEDDGridKopio) etätietolähteestä. Toimi oikein, mukaan lukien kaikki halutut metatiedot.
- Jos se on liian hidas, lisää XML-koodi kääriäksesi sen.EDDGridKopioi data.
- Käytä erilaistadatasetID (Ehkä muuttamalladatasetIDVanhastadatasetIDhieman hieman) .
- Kopioikaa<Saatavuus >,<ladata kaikki minuutit ja<Muutos > kaukaisestaEDDGridXML:äänEDDGridKopioi XML (Niiden arvotEDDGridKopioi aine; niiden arvot sisäiseen tietoaineistoon ovat merkityksettömiä.)
- ERDDAP™tekee ja ylläpitää paikallista kopiota tiedoista.
- Varoitus:EDDGridCopy olettaa, että kunkin roskakorin data-arvot eivät koskaan muutu. Jos / kun he tekevät, sinun on poistettava manuaalisesti roskatiedostot. isovanhemmat Copy/ datasetID joka muuttui jaLipputiedot, jotka on ladattava niin, että poistetut pyykit korvataan. Jos sinulla on sähköpostitilaus tietoaineistoon, saat kaksi sähköpostia: yksi, kun tietoaineisto ensin lataa ja alkaa kopioida tietoja, ja toinen, kun aineisto latautuu uudelleen. (automaattisesti) havaitsee uudet paikalliset datatiedostot.
- Kaikkien akseliarvojen on oltava tasa-arvoisia. Jokaista akselia lukuun ottamatta (Ensimmäinen ensimmäinen) Kaikkien arvojen on oltava samanarvoisia kaikille lapsille. Testien tarkkuus määräytyyAxisNDigits.
- Asetukset, Metadata, MuuttujatEDDGridKopio käyttää asetuksia, metatietoja ja muuttujia suljetusta lähdeaineistosta.
- Metatietojen muutos ----- Jos haluat muuttaa mitä tahansaaddAttributestai muuttaa lähdeaineistoon liittyvien muuttujien järjestystä:
- MuuttaaaddAttributesLähteen tiedot sisältädatasets.xmltarpeen mukaan.
- Poista yksi kopioitu tiedosto.
- Aseta ALipputietojen lataaminen välittömästi. Jos käytät lippua ja sinulla on sähköpostitilaus tietoaineistoon, saat kaksi sähköpostia: kun tietoaineisto ensin latautuu ja alkaa kopioida tietoja ja toinen, kun tietoaineisto latautuu uudelleen. (automaattisesti) havaitsee uudet paikalliset datatiedostot.
- Poistettu tiedosto uusitaan uudella metadatalla. Jos lähdeaineistoa ei ole koskaan saatavilla,EDDGridKopioi tietoaineisto saa metatietoa regeneroidusta tiedostosta, koska se on nuorin tiedosto.
EDDGridKopioi Skeleton XML
<dataset type="EDDGridCopy" datasetID\="..." active\="..." >
<accessibleTo>...</accessibleTo> <!-- 0 or 1 -->
<graphsAccessibleTo>auto|public</graphsAccessibleTo> <!-- 0 or 1 -->
<accessibleViaFiles>true|false(default)</accessibleViaFiles>
<!-- 0 or 1 -->
<accessibleViaWMS>...</accessibleViaWMS> <!-- 0 or 1 -->
<reloadEveryNMinutes>...</reloadEveryNMinutes> <!-- 0 or 1 -->
<defaultDataQuery>...</defaultDataQuery> <!-- 0 or 1 -->
<defaultGraphQuery>...</defaultGraphQuery> <!-- 0 or 1 -->
<fgdcFile>...</fgdcFile> <!-- 0 or 1 -->
<iso19115File>...</iso19115File> <!-- 0 or 1 -->
<onChange>...</onChange> <!-- 0 or more -->
<matchAxisNDigits>...</matchAxisNDigits> <!-- 0 or 1 -->
<fileTableInMemory>...</fileTableInMemory> <!-- 0 or 1 (true or false
(the default)) -->
<checkSourceData>...</checkSourceData> <!-- 0 or 1 -->
<onlySince>...</onlySince> <!-- 0 or 1 -->
<dataset>...</dataset> <!-- 1 -->
</dataset>
EDDTableFromCassandra
EDDTableFromCassandra Tietojen käsittely yhdestäCassandraPöytä. Cassandra on NoSQL-tietokanta.
- ERDDAP™Voit työskennellä Cassandra v2:n ja v3:n kanssa ilman muutoksia tai eroja asennuksessa. Olemme testanneetCassandra v2 ja v3 Apasseja. On todennäköistä, ettäERDDAP™Voit myös työskennellä Cassandra ladattu DataStax.
- Elokuu 2019 - toukokuu 2021 meillä oli vaikeuksia saada Cassandra työskentelemään AdoptOpenJdkin kanssa.JavaV8. Se heikensi ristiriitaa. Mutta nyt (Toukokuu 2021) Tämä ongelma on hävinnyt: voimme käyttää Cassandra v2.1.22 ja AdoptOpenJdk jdk8u292-b10.
Yksi pöytä
Cassandra ei tue ”liitoksia” niin kuin suhteelliset tietokannat. YksiERDDAP™EDDTableFromCassandra-datataulut yhdelle (Ehkä yhden alaryhmän) Cassandra-pöytä.
Cassandradatasets.xml
- ERDDAP™Lähde: CassandraJavaKuljettaja, joten sitä ei tarvitse asentaa erikseen.
- Lue huolellisesti tämän asiakirjan tiedot EDDTableFromCassandrasta. Osa yksityiskohdista on erittäin tärkeitä.
- CassandraJavaKuljettajan tehtävänä on työskennellä Apache Cassandralla. (1.2 +) DataStax Enterprise (3.1 +) . Jos käytät Apache Cassandra 1.2.x:tä, sinun on muokattava kassandra.yaml-tiedostoa jokaisesta solmusta aloittaaksesi alustavan liikkeeseenlaskun: totta, käynnistä jokainen solmu uudelleen.
- Suosittelemme voimakkaasti käyttämäänGenerateDatasets XML-ohjelmatehdä karkea luonnosdatasets.xmlChunk tälle aineistolle. Sen jälkeen voit muokata sitä (erityisesti)<Osallistuminen KeySourceNames » (#partitionkeysourcenames) ). Voit kerätä suurimman osan tiedoista, joita tarvitset XML:n luomiseen EDDTableFromCassandra-tietokantaan ottamalla yhteyttä Cassandra-valvojaan ja etsimällä verkkoa.
GenerateDatasets Xml tarjoaa kaksi erillistä vaihtoehtoa EDDTableFromCassandralle:
- Jos tulet sisään!!!!! (Ilman lainauksia) Avaintilassa ohjelma näyttää luettelon avaimet
- Jos avaat tietyn avaimen ja astu sitten sisään!!!! (Ilman lainauksia) taulukon nimeä varten ohjelma näyttää luettelon taulukoista kyseisessä avaimessa ja niiden sarakkeissa.
Herkkyys aiheuttaa
- Case-insensitive keyspace ja pöytänimi Cassandra hoitaa näppäimistöä ja taulukkonimiä tapauskohtaisesti. Tämän vuoksi sinun ei tarvitse koskaan käyttää varattua sanaa. (Mutta toisessa tapauksessa) Cassandra-avaimen tai taulukon nimi.
- Tapahtuman herkät nimet - Oletusarvoisesti Cassandra hoitaa sarakkeiden nimiä tapausherkällä tavalla. Jos käytät yhtä Cassandra varatuista sanoista sarakkeena (Ole hyvä, älä!) Sinun täytyy käyttää
<columnNameQuotes>"<columnNameQuotes>
Sisällädatasets.xmlNäitä tietoja varten Cassandra jaERDDAP™Hoidetaan sarakkeiden nimiä tapauskohtaisesti. Tämä on todennäköisesti suuri päänsärky sinulle, koska se on vaikea määrittää tapausherkkiä versioita sarakkeen nimet - Cassandra lähes aina näyttää sarakkeen nimet kaikki matalampi tapaus, riippumatta todellisesta tapauksesta.
- Työskentele tiiviissä yhteistyössä Cassandra-järjestelmänvalvojan kanssa, jolla voi olla kokemusta. Jos aineisto ei lataudu, lueVirheilmoitushuolellisesti selvittää, miksi.
Cassandra<yhteysyhteys omaisuus >
Cassandralla on yhteysominaisuudet, jotka voidaan määritellädatasets.xml. Monet näistä vaikuttavat Cassandra-ERDDAP™yhteys. Cassandra-kiinteistöt on asetettava ohjelmallisestiJavaNiinERDDAP™Jokaisella omaisuudella on oltava koodiERDDAP™tukea. Tällä hetkellä,ERDDAP™tukee näitä ominaisuuksia: (Näkymät ovat sitä, mitä näemme. Järjestelmän oletusarvot voivat olla erilaisia.)
- Yleiset vaihtoehdot
<yhteysyhteys Kiinteistön nimi =" Pakkaus > > Ei kukaan|LZ4|Snappy </ Yhteys Kiinteistö > (Epävarma, oletusarvo = ei)
(Yleinen pakkausneuvonta: käytä "ei" jos yhteys Cassandra jaERDDAP™on paikallinen/nopea ja käyttää LZ4:ää, jos yhteys on etäinen/hidas.)
<yhteysyhteys Kiinteistön nimi =" Valtakirjat > > Käyttäjänimi / Password </ Yhteys Kiinteistö > (Se on kirjaimellinen'/')
<yhteysyhteys Kiinteistön nimi =" Metriikka > > Todellista|Väärin väärä </ Yhteys Kiinteistö > (2021-01-25 oli oletusarvoinen, nyt sivuutettu ja aina väärä.)
<yhteysyhteys Kiinteistön nimi =" portti > > Integer </ Yhteys Kiinteistö > (Binaariprotokolla = 9042)
<yhteysyhteys Kiinteistön nimi =" SSL > > Todellista|Väärin väärä </ Yhteys Kiinteistö > (Oletus = väärä)
(Nopea yritys käyttää SSL epäonnistui. Jos onnistut, kerro minulle, miten teit sen.) - Query Vaihtoehdot
<yhteysyhteys Kiinteistön nimi =" Johdonmukaisuus Taso > > Kaikki kaikki|Mikä tahansa|Jokainen koorumi|Paikallinen|Paikallinen koorumi|Paikallinen|Yksi|koorumia|sarja|Kolme kolme|Kaksi kaksi </ Yhteys Kiinteistö > (Epämiellyttävä, oletusarvoinen)
<yhteysyhteys Kiinteistön nimi =" FetchSize > > Integer </ Yhteys Kiinteistö > (Oletusarvo = 5000)
(Älä aseta novellia pienempään arvoon.)
<yhteysyhteys Kiinteistön nimi =" SerialConsistencyLevel > > Kaikki kaikki|Mikä tahansa|Jokainen koorumi|Paikallinen|Paikallinen koorumi|Paikallinen|Yksi|koorumia|sarja|Kolme kolme|Kaksi kaksi </ Yhteys Kiinteistö > (arkaluonteinen, oletusarvoinen) - Socket vaihtoehdot
<yhteysyhteys Kiinteistön nimi =" LiitännätMillis > > Integer </ Yhteys Kiinteistö > (Oletusarvo = 5000)
(Älä aseta yhteyttä TimeoutMillis on pienempi arvo.)
<yhteysyhteys Kiinteistön nimi =" Säilytä > > Todellista|Väärin väärä </ Yhteys Kiinteistö > <yhteysyhteys Kiinteistön nimi =" Lähde: TimeoutMillis > > Integer </ Yhteys Kiinteistö > (Cassandra's Default ReadTimeoutMillis on 12 000, muttaERDDAP™Muutetaan oletusarvo 120 000:een. Jos Cassandra heittää lukijaansa, tämä ei välttämättä auta, koska Cassandra joskus heittää heitä ennen tätä aikaa. Ongelma on todennäköisempää, että tallennat liikaa dataa osastolta. Keskeinen yhdistelmä.)
<yhteysyhteys Kiinteistön nimi =" GetBufferSize > > Integer </ Yhteys Kiinteistö > (On epäselvää, mikä on oletusarvo. Älä aseta tätä pieneen arvoon.)
<yhteysyhteys Kiinteistön nimi =" Yksinäinen > > Integer </ Yhteys Kiinteistö > <yhteysyhteys Kiinteistön nimi =" TcpNoDelay > > Todellista|Väärin väärä </ Yhteys Kiinteistö > (Oletus = null)
Jos haluat määrittää muita yhteysominaisuuksia, katsoLisätuen saaminen.
Tietyn Tomcatin käynnistyksen yhteydessä käytetään vain ensimmäistä kertaa tietoja, jotka on luotu tietylle Cassandra-URL-osoitteelle. Kaikki kyseisen tietoaineiston ja kaikkien saman URL-osoitteen jakavien myöhempien tietoaineistojen lataukset käyttävät näitä alkuperäisiä liitännäisominaisuuksia.
CQL
Cassandra Query -kieli (CQL) Se on pinnaltaan kuin SQL, perinteisten tietokantojen käyttämä kyselykieli. Koska koskaOPeNDAPTabular-tietopyynnöt on suunniteltu jäljittelemään SQL-tabulaarisia tietopyyntöjä, se on mahdollistaERDDAP™muuntaa Tabular-tietopyynnöt CQL Bound/PreparedStatementsiksi.ERDDAP™Lopettaa lausunnonlog.txtkuin
Lausunto tekstinä: Valtiollinen teksti
Näkemäsi lausunnon versio on tekstin esitys ja siinä on vain ", missä rajoitetut arvot asetetaan.
Ei niin yksinkertaista... Valitettavasti CQL:llä on monia rajoituksia, joihin sarakkeita voidaan kyseenalaistaa, minkälaisilla rajoituksilla esimerkiksi osioavainkolomakkeita voidaan rajoittaa = ja IN:n kanssa.ERDDAP™lähettää rajoituksia Cassandralle ja soveltaa kaikkia rajoituksia sen jälkeen, kun tiedot on saatu Cassandralta. auttaaERDDAP™Toimia tehokkaasti Cassandra, sinun on määritettävä<Osallistuminen KeySourceNames » (#partitionkeysourcenames) [ ]<ClusterColumnSourceNames » (#clustercolumnsourcenames) ja [<IndexColumnSourceNames » (#indexcolumnsourcenames) Sisällädatasets.xmltälle aineistolle. Nämä ovat tärkeimmät keinot auttaaERDDAP™Työskentele tehokkaasti Cassandralla. Jos et kerroERDDAP™Nämä tiedot ovat tuskallisen hitaitaERDDAP™Käytä tonnia Cassandra-resursseja.
<Osallistuminen KeySourceNames >
Koska avaimet ovat keskeisessä roolissa Cassandra-pöydissä,ERDDAP™Heidän on tiedettäväsourceNameja tarvittaessa muita tietoja siitä, miten työskennellä niiden kanssa.
- Sinun on määritettävä erillinen luettelo osion lähdekoodin sarakkeiden nimetdatasets.xmlkautta<Osallistuminen KeySourceNames » Yksinkertainen esimerkki,
<partitionKeySourceNames>station, deviceid<partitionKeySourceNames>
monimutkaisempi esimerkki,
<partitionKeySourceNames>deviceid=1007, date/sampletime/1970-01-01<partitionKeySourceNames>
- TimeStamp Partition Avaimet Jos yksi osion avainsarakkeista on aikaleimakolo, jossa on karkeampi versio toisesta aikaleiman sarakkeesta, määritä tämä kautta.
Esittelyssä KeeySourcName/OtherColumnSourceNametime\_precision
missä missätime\_precisionon yksi niistätime\_precisionMuualla käytössä olevat sirpaleetERDDAP. Sivut, joissa Ztime\_precisionSarja on oletus, joten sillä ei ole väliä, onkotime\_precisionRyhmä päättyy Z:hen tai ei. Esimerkiksi,ERDDAP™tulkittava päivämäärä/sampletime/1970-01-01 Päivämäärän rajoitukset voidaan rakentaa näytteenottoajan rajoituksista käyttämällä tätätime\_precision» » Rajoitusten todellinen muuntaminen on monimutkaisempaa, mutta se on yleiskatsaus. Käytä sitä aina kun se on merkityksellistä. Se mahdollistaaERDDAP™Työskentele tehokkaasti Cassandralla. Jos tämä suhde sarakkeiden välillä on Cassandra-pöydässä, et kerro.ERDDAP™Tiedot ovat tuskallisen hitaitaERDDAP™Käytä tonnia Cassandra-resursseja. - Yksin Arvo-osion avaimet - Jos haluatERDDAP™aineisto, joka toimii vain yhdellä osioavaimella, määrittää KeySourceName=arvo . Älä käytä tarjouksia numeeriseen sarakkeeseen, esimerkiksi laite = 1007 Käytä tarjouksia Stringin sarakkeeseen, esimerkiksi asemaid="Point Pinos"
- Dataset Default Sort Order (käytetty) Osallistumisavaimen määräys<dataVariable> Sisällädatasets.xmlmäärittää Cassandra-tulosten oletusjärjestyksen. Tietenkin käyttäjät voivat pyytää erilaista tilausta tietyille tuloksille liittämällä jaorderBy (""" Erillinen luettelo muuttujista """) kyselyn lopussa.
- Oletusarvoisesti Cassandra jaERDDAP™Käsittele sarakkeiden nimiä tapauskohtaisesti. Jos asetatColumnNameQuotes"ERDDAP™Cassandra-kolumnin nimiä käsitellään tapauskohtaisesti.
<Osallistuminen KeyCSV>
Jos tämä on määritelty,ERDDAP™käyttää sitä sen sijaan, että Cassandralta kysyttäisiin. Avainsanatiedot joka kerta, kun tietoaineistoa ladataan uudelleen. Tämä sisältää luettelon erillisistä osion avainarvoista siinä järjestyksessä, että niitä käytetään. Ajat on määriteltävä sekunneiksi vuodesta 1970-01-01T00:00. On myös kaksi erilaista tapaa määritellä aika. (Jokainen koodattu merkkijono) :
- Aika (AISO8601 Aika-aika) (Voidaan koodata merkkijonona)
- ”Ajat” (AnISO8601Starttime, strideSeconds, stopTime) """ (on koodattava merkkijonona)
Pysäytä Aika voi olla ISO8601 Aika tai "now-NUnits-aika (esim. "now-3 minuuttia") . Pysäytä Ajan ei tarvitse olla tarkka aloitusottelu Aika + x strideSekunnit Rivi kerrallaan () arvo laajenee useisiin riveihin ennen jokaista kyselyä, joten jakamisen luettelo Avaimet voivat olla aina ajan tasalla. Esimerkiksi,
<partitionKeyCSV>
deviceid,date
1001,"times(2014-11-01T00:00:00Z, 86400, 2014-11-02T00:00:00Z)"
1007,"time(2014-11-07T00:00:00Z)"
1008,time(2014-11-08T00:00:00Z)
1009,1.4154912E9
</partitionKeyCSV>
Laajennetaan tähän jakamisen avainyhdistelmien taulukkoon:
deviceid,date
1001,1.4148E9
1001,1.4148864E9
1007,1.4153184E9
1008,1.4154048E9
1009,1.4154912E9
<clusterColumnSourceNames >
Cassandra hyväksyy SQL:n kaltaiset rajoitukset klusterisarakkeissa, jotka ovat sarakkeita, jotka muodostavat pääavaimen toisen osan. (Avaimen jälkeen (s) ) . On tärkeää, että tunnistat nämä sarakkeet<ClusterColumnSourceNames > Näytä tarkat tiedot Tämä mahdollistaaERDDAP™Työskentele tehokkaasti Cassandralla. Jos on sarakkeita, etkä kerroERDDAPTiedot ovat tuskallisen hitaitaERDDAP™Käytä tonnia Cassandra-resursseja.
- Esimerkiksi,<ClusterColumnSourceNams MyClusterColumn1, MyClusterColumn2 </clusterColumnSourceNames >
- Jos Cassandra-pöydässä ei ole klusterisarakkeita, älä myöskään määritä<ClusterColumnSourceNames> tai määritä se ilman arvoa.
- Oletusarvoisesti Cassandra jaERDDAP™Käsittele sarakkeiden nimiä tapauskohtaisesti. Jos asetatColumnNameQuotes"ERDDAP™Cassandra-sarakkeiden nimiä käsitellään tapausherkällä tavalla.
<indexColumnSourceNames >
Cassandra hyväksyy'='toissijaisten indeksisarakkeiden rajoitukset, jotka ovat sarakkeita, joita olet nimenomaisesti luonut indeksien kautta
CREATE INDEX *indexName* ON *keyspace.tableName* (*columnName*);
(Kyllä, vanhemmuutta tarvitaan.)
Siksi on erittäin hyödyllistä tunnistaa nämä sarakkeet.<IndexColumnSourceNames > Tämä mahdollistaaERDDAP™Työskentele tehokkaasti Cassandralla. Jos on indeksisarjoja, et kerroERDDAPJotkin kysymykset ovat tarpeettomia, tuskallisesti hitaita.ERDDAP™Käytä tonnia Cassandra-resursseja.
- Esimerkiksi,<IndexColumnSourceNams MyIndexColumn1, MyIndexColumn2 </indexColumnSourceNames >
- Jos Cassandra-taulukossa ei ole indeksisarakkeita, älä myöskään määritä<IndexColumnSourceNames> tai määritä se ilman arvoa.
- Varoitus: Cassandra-indeksit eivät ole tietokantaindeksien kaltaisia. Cassandra-indeksit auttavat'='rajoituksia. Ja he ovat vainSuositeltusarakkeilla, joilla on paljon vähemmän arvoja kuin kokonaisarvoilla.
- Oletusarvoisesti Cassandra jaERDDAP™Käsittele sarakkeiden nimiä tapauskohtaisesti. Jos asetatColumnNameQuotes"ERDDAP™Cassandra-sarakkeiden nimiä käsitellään tapausherkällä tavalla.
<maxRequestFraction >
MilloinERDDAP™ (Re) ladata aineistoa,ERDDAP™Cassandra saa osioavaimien erillisyhdistelmien luettelon. Suuressa tietoaineistossa yhdistelmien määrä on valtava. Jos haluat estää käyttäjiä pyytämästä suurinta osaa tai kaikkia tietoja (tai pyyntö, joka pyytääERDDAP™ladata suurimman osan tai kaikki tiedot, jotta ne voidaan suodattaa edelleen.) Voit kertoaERDDAP™sallia pyynnöt, jotka vähentävät yhdistelmien määrää tietyllä summalla<maxRequestFraction, joka on kelluva numero 1e-10 (Tämä tarkoittaa sitä, että pyyntö ei voi tarvita enempää kuin yhden yhdistelmän miljardiin.) 1 (oletusarvo, joka tarkoittaa, että pyyntö voi olla koko tietoaineiston) . Esimerkiksi, jos aineistossa on 10000 erillistä yhdistelmää osioavaimista ja maxRequestFraction on 0,1, pyynnöt, jotka tarvitsevat tietoja 1001 tai enemmän yhdistelmiä, tuottavat virheilmoituksen. Pyynnöt, jotka tarvitsevat tietoja 1000 tai vähemmän yhdistelmiä, ovat sallittuja.
Mitä suurempi tietoaineisto, sitä pienempi sinun pitäisi asettaa<MaxRequestFraction » Joten voit asettaa sen 1 pienelle tietoaineistolle, 0.1 keskikokoiselle tietoaineistolle, 0.01 suurelle tietoaineistolle ja 0.0001 suurelle tietoaineistolle.
Tämä lähestymistapa on kaukana täydellisestä. Jotkin kohtuulliset pyynnöt hylätään ja jotkut liian suuret pyynnöt ovat sallittuja. Ongelma on vaikea ja ratkaisu on paljon parempi kuin mikään.
CassandrasubsetVariables
Kuten muissa EDDTable-tietokannoissa, voit määrittää erillisen luettelon<dataVariable>destinationNameGlobaalissa attribuutissa, jota kutsutaansubsetVariablesmäärittää muuttujia, joilla on rajallinen määrä arvoja. Tiedostossa on sitten .subset-verkkosivu ja näytetään luettelot erillisistä arvoista näille muuttujille lukuisilla sivuilla.
Sisältää vain osion avainmuuttujat ja staattiset sarakkeet luettelossa on STRONGLY E.NCOKäytetty. Cassandra pystyy luomaan luettelon erillisistä yhdistelmistä erittäin nopeasti ja helposti joka kerta, kun aineisto ladataan uudelleen. Yksi poikkeus on aikaleima-avaimet, jotka ovat karkeita versioita joissakin muissa aikaleiman sarakkeissa - on luultavasti parasta jättää nämä pois luettelosta.subsetVariablesKoska arvoja on paljon, ne eivät ole hyödyllisiä käyttäjille.
Jos sisällytät ei-osallistumisavaimen, ei-staattiset muuttujat luetteloon, se on todennäköisesti erittäin Laskennallisesti kallista Cassandralle joka kerta, kun aineisto on ladattu, koskaERDDAP™On tarkasteltava jokaisen tietoaineiston rivin läpi tietojen tuottamiseksi. Itse asiassa kysely epäonnistuu. Pieniä aineistoja lukuun ottamatta tämä on täysin hiljaista.
Cassandra DataTypes
Jotain epäselvyyttä, jostaCassandra-tietotyypitkartta, johonERDDAP™Tietotyypit, sinun on määriteltävä [<Tietotyyppi > (#datatype) Jokaiseen [<dataVariable> (#Datavariable) kertomaanERDDAP™Minkälaista dataa käytetään. StandardiERDDAP™Datatiedot Tyypit (Yleisimmät vastaavat Cassandra-tietotyypit) ovat:
- Boolee (Boolee) mikäERDDAP™Tallenna tavut
- By (jos vaihteluväli on -128 - 127)
- Lyhyt lyhyt (jos vaihteluväli on -32768 - 32767)
- Sisään (_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _)
- Pitkä pitkä (vaihtelee?, jos vaihteluväli on -9223372036854775808 - 92233720368547807)
- kelluva (kelluva)
- kaksinkertainen (Kaksinkertainen, desimaalinen (Mahdollisen tarkkuuden menetyksen) Aikaleima)
- Char (ascii tai teksti, jos sinulla ei ole koskaan yli 1 merkki)
- String (ascii, teksti, varchar, inet, uid, timeuud, blob, kartta, set, list?)
CassandraAikaleimaErityistapaus: käyttöERDDAPKaksinkertainen data Tyyppi.
Jos määrität String-tietotyypinERDDAP™Cassandra-kartan, setin tai luettelon osalta kartta, asetus tai luettelo kussakin Cassandra-rivissä muunnetaan yhdeksi merkkijonoksi yhdellä rivillä.ERDDAP™Pöytä.ERDDAP™Vaihtoehtoinen luettelo, katso alta.
Tyyppityyppi Luettelot -ERDDAP[ ]<Tietotyyppi > (#datatype) CassandradataVariables voi sisältää säännöllisenERDDAP™Datatiedot Tyypit (ylhäällä) Plus useita erityisiä tietotyyppejä, joita voidaan käyttää Cassandra-listan sarakkeissa: booleanList, byteList, ubyteList, shortList, ushortList, intList, uintList, longList, ulongList, floatList, kaksoislist, charlist, StringList. Kun yksi näistä luettelon sarakkeista on tuloksissa, joihinERDDAP™Jokainen lähdetietorivi laajennetaan luetteloon. koon koko () Tietojen rivit sisäänERDDAPYksinkertaiset tiedot Tyypit (Esimerkiksi Int) Tämän lähdeaineiston rivi on kaksinkertainen luettelo. koon koko () Ajat. Jos tulokset sisältävät useamman kuin yhden luettelomuuttujan, kaikki luettelot tietyllä rivillä on oltava sama koko ja niiden on oltava "parallel" -luetteloita taiERDDAP™Luo virheilmoituksen. esimerkiksi ADCP:n virtausmittauksissa, syvyys\[0\]UCurrent\[0\]vs. nykyinen\[0\]ja zCurrent\[0\]Kaikki liittyvät toisiinsa ja syvyys\[1 1\]UCurrent\[1 1\]vs. nykyinen\[1 1\]ja zCurrent\[1 1\]Kaikki liittyvät toisiinsa,... Vaihtoehtoisesti, jos et haluaERDDAP™laajentaa luetteloa useisiin riveihinERDDAP™Pöytä, määritä String kuindataVariable> Data Tyyppi niin, että koko luettelo esitetään yhtenä rivinäERDDAP.
Cassandra TimeStamp -tiedot
Cassandra on aina tietoinen aikavyöhykkeistä. Jos syötät aikaleimatietoja määrittämättä aikavyöhykettä, Cassandra olettaa, että aikaleima käyttää paikallista aikavyöhykettä.
ERDDAP™tukee aikaleimatietoja ja esittelee aina tiedotZuluGMT aikavyöhyke. Jos annat aikaleimatietoja Cassandrassa muulla kuin aikavyöhykkeelläZuluGMT, muista, että sinun on tehtävä kaikki kyselyt aikaleimatietoihinERDDAP™KäyttämälläZuluGMT aikavyöhyke. Älä ylläty, kun aikaleima-arvot tulevat ulosERDDAPMuutetaan useita tunteja, koska aikavyöhyke siirtyy paikallisestaZuluGMT-aika.
- SisälläERDDAP>datasets.xmlSisällä<dataVariable> Tag for a timestamp variable, set
<dataType>double</dataType>
ja sisällä<addAttributes> asetettu
<att name="units">seconds since 1970-01-01T00:00:00Z</att>
- Suositukset: Jos tiedot ovat aikaväli, on hyödyllistä, että aikaleima-arvot viittaavat implisiittiin aikaväliin. (Esimerkiksi keskipäivällä) . Esimerkiksi, jos käyttäjällä on tietoja 2010-03-26T13:00Z toisesta tietoaineistosta ja he haluavat lähimmät tiedot tästä Cassandra-tietokannasta, jolla on tietoja joka päivä, sitten tiedot 2010-03-26T12:00Z (Cassandra-tiedot tähän päivään) on ilmeisesti paras (vastakohtana keskiyölle ennen tai jälkeen, jolloin on vähemmän selvää, mikä on parasta.) .
- ERDDAP™on hyödyllistäMuunna numero Aikaa / From a String Time.
- NäytäMitenERDDAP™Sopimukset ajan kanssa.
Integer-nukkeja
Cassandra tukee nukkeja Cassandra Intissä (ERDDAP™Sisään) Bigint (ERDDAP™Pitkä pitkä) sarakkeita, muttaERDDAP™ei tue todellisia nukkeja mihinkään integer-tietotyyppiin. Oletusarvoisesti Cassandra integer nulls muunnetaanERDDAP™2147483647 int sarakkeet, tai 9223372036854775807 pitkät sarakkeet. Nämä näyttävät "NaN" tietyntyyppisissä tekstitiedostoissa. (Esimerkiksi .csv) "Muut tekstitiedostot" (esimerkiksi.htmlTable) ja erityinen numero (2147483647 puuttuvat arvot) Muissa tiedostoissa (Esimerkiksi binaaritiedostot, kuten.ncMatti) . Käyttäjä voi etsiä rivejä tällaisella puuttuvalla arvolla viittaamalla "NaN", esimerkiksi "&windSpeed=NaN".
Jos käytät jotain muuta kokonaislukuarvoa Cassandra-pöydän puuttuvien arvojen ilmoittamiseen, tunnista tämä arvo.datasets.xml:
<att name="missing\_value" type="int"\>-999</att>
Cassandra kelluva piste sarakkeet, nullit muunnetaan NaNsERDDAP. Cassandra-tietotyypit, jotka muunnetaan StringsiksiERDDAP™Nulls muunnetaan tyhjiksi purjeiksi. Sen ei pitäisi olla ongelma.
VAROITUS: Valmistautuminen jo valmistettuun kyselyyn
- VAROITUS: Valmistautuminen jo valmistettuun kyselyyn Tom Lähde: Catalina.out (Muut Tomcat-lokitiedostot)
Cassandra-dokumentti kertoo, että on vaikeuksia, jos sama kysely tehdään kahdesti valmistilaksi. (tai enemmän) . (Näe tämäBug Report.) Välttääkseen Cassandraa,ERDDAP™Kaikki valmiit tilat, jotta ne voidaan käyttää uudelleen. Se on kadonnut, jos/kun TomcatERDDAP™on aloitettu uudelleen, mutta mielestäni se on ok, koska valmistetut tilat liittyvät tiettyyn istuntoon. (välin välilläJavaKassandra) myös menetetty. Saatat nähdä nämä viestit. En tiedä mitään muuta ratkaisua. Onneksi se on varoitus, ei virhe. (Cassandra uhkaa, että se voi johtaa suorituskykyyn.) .
Cassandra väittää, että valmistetut tilat ovat hyviä ikuisesti.ERDDAPValmistetut tilat eivät saa koskaan olla vanhentuneita / mitättömiä. Jos tämä ei ole totta, ja saat virheitä tietyistä PreparedStatements on vanhentunut / mitätön, sinun on aloitettava uudelleen.ERDDAP™SelkeäERDDAP"Valmistettujen tilojen välimuisti.
Cassandra Turvallisuus
NäytäCassandra
Kun työskentelet Cassandra, sinun on tehtävä asiat mahdollisimman turvallisesti ja turvallisesti, jotta voit välttää vahingollisen käyttäjän vahingoittaa Cassandraa tai saada pääsyn tietoihin, joita heidän ei pitäisi käyttää.ERDDAP™Tekee asioita myös turvallisella tavalla.
- Kehotamme sinua perustamaanERDDAP™Yhteyden muodostaminen Cassandra-käyttäjäksi, jolla on vain pääsy Cassandraan asiaankuuluva pöytäpöytäpöytä (s) Hänellä on vain oikeita etuoikeuksia.
- Kehotamme sinua luomaan yhteydenERDDAP™Cassandra, niin että
- Käytä aina SSL:ää
- sallii yhteyden vain yhdestä IP-osoitteesta (tai yksi osoitteiden lohko) ja yhdestäERDDAP™käyttäjän ja
- Siirrä salasanoja vain MD5-hajonneessa muodossaan.
- \[Osaaminen\]Yhteyssopimukset (Sisältää salasanan!) Säilytetään selkeänä tekstinädatasets.xml. Emme ole löytäneet tapaa, jolla järjestelmänvalvoja pääsee Cassandra-salasanaan.ERDDAPAloitus Tomcatissa (joka tapahtuu ilman käyttäjän syöttöä) Tällöin salasanan on oltava saatavilla tiedostossa. Tehdään tästä turvallisempaa:
- Sinä (TheERDDAP™Hallinnollinen) Pitäisi olla omistajadatasets.xmlLue ja kirjoita käyttöoikeus.
- Tee ryhmä, joka sisältää vain käyttäjän = Tomcat. Käytä chgrp, jotta ryhmändatasets.xmlVain oikeita etuoikeuksia.
- Käytä chmodia määrittääksesi O-rwx-oikeudet (Ei Lue tai kirjoita "Muut" käyttäjät) fordatasets.xml.
- Milloin sisäänERDDAP™salasana ja muut yhteysominaisuudet tallennetaan "yksityiseen"Javamuuttujia.
- Asiakkaiden pyynnöt laajennetaan ja tarkistetaan pätevyydeksi ennen CQL-pyyntöjen luomista.
- Pyynnöt Cassandra tehdään CQL Bound/PreparedStatements, estää CQL injektio. Cassandra on luonnostaan vähemmän altis CQL-injektiolle kuin perinteiset tietokannat.SQL-injektio.
Cassandra Speed
Cassandra voi olla nopea tai hidas. On asioita, joita voit tehdä nopeasti:
- Yleisesti - CQL:n luonne on se, että kyselyt ovatdeklaratiivinen. Se määrittää, mitä käyttäjä haluaa. Ne eivät sisällä eritelmiä tai vihjeitä siitä, miten kyselyä käsitellään tai optimoidaan. Joten ei ole mitään keinoaERDDAP™kyselyn tuottaminen siten, että se auttaa Cassandraa optimoimaan kyselyn. (tai millään tavalla määrittää, miten kyselyä käsitellään.) . Yleisesti ottaen Cassandra-järjestelmänvalvojan tehtävänä on luoda asioita. (Esimerkiksi indeksit) Optimoi tietyntyyppisiä kysymyksiä.
- Määrittää aikaleima sarakkeet, jotka liittyvät coarser-tarkkuus aikaleima-avaimet kautta [<Osallistuminen KeySourceNames » (#partitionkeysourcenames) Se on tärkein tapa auttaaERDDAP™Työskentele tehokkaasti Cassandralla. Jos tämä suhde on olemassa Cassandra-pöydässä, et kerro.ERDDAP™Tiedot ovat tuskallisen hitaitaERDDAP™Käytä tonnia Cassandra-resursseja.
- Klusterin sarakkeiden määrittäminen [<ClusterColumnSourceNames » (#clustercolumnsourcenames) Toiseksi tärkein tapa auttaaERDDAP™Työskentele tehokkaasti Cassandralla. Jos on sarakkeita, etk ä kerroERDDAPsuuri osa mahdollisista kyselyistä on tarpeetonta, tuskallisesti hidastaERDDAP™Käytä tonnia Cassandra-resursseja.
- Make Make Make MakeIndeksitYleisesti rajoitettuja muuttujia - Voit nopeuttaa muutamaa kyselyä luomalla indeksejä Cassandra-sarakkeisiin, jotka ovat usein rajoitettuja "=" -rajoituksiin.
Cassandra ei voi tehdä indeksejä luetteloon, asetteluun tai karttasarakkeisiin.
- Indeksikolumnien määrittäminen [<IndexColumnSourceNames » (#indexcolumnsourcenames) Se on tärkeä tapa auttaaERDDAP™Työskentele tehokkaasti Cassandralla. Jos on indeksisarjoja, et kerroERDDAPJotkin tiedot ovat tarpeettomia, tuskallisesti hitaitaERDDAP™Käytä tonnia Cassandra-resursseja.
Cassandra Stats
- Cassandra stats - Diagnostiset viestit----- JokaiselleERDDAP™Käyttäjä kyselee Cassandra-tietokantaa,ERDDAP™tulostaa linkin lokitiedostoon, isovanhemmat /logs/log.txt, jossa on esimerkiksi kyselyyn liittyviä tilastoja
\\* Cassandra stats: partitionKeyTable: 2/10000=2e-4 < 0.1 nCassRows=1200 nErddapRows=12000 nRowsToUser=7405
Edellä mainitussa esimerkissä olevien numeroiden käyttäminen tarkoittaa:
- MilloinERDDAP™Viimeinen viimeinen (Re) Lataa nämä tiedot, Cassandra kertoiERDDAP™Siinä oli 10000 erilaista yhdistelmiä osioavaimista.ERDDAP™Kaikki erilliset yhdistelmiä tiedostossa.
- käyttäjän rajoitusten vuoksi,ERDDAP™Tunnistettiin kaksi yhdistelmiä 10 000:sta, joilla voi olla haluttuja tietoja. Niin,ERDDAP™Cassandralle soitetaan kaksi puhelua, yksi jokaisesta osion avaimen yhdistelmästä. (Sitä Cassandra vaatii.) On selvää, että on hankalaa, jos suurella tietoaineistolla on suuri määrä jakamisavaimien yhdistelmiä, eikä pyyntö vähennä sitä merkittävästi. Voit vaatia, että jokainen pyyntö vähentää avaimen tilaa asettamalla [<MaxRequestFraction » (#maxrequestfraction) . 2/10000=2e-4, joka on pienempi kuin maxRequestFraction (0,1) Siksi pyyntö oli sallittu.
- Kun osion avaimet koskevat rajoituksia,Klusterin kolumnitjaIndeksikolumnitjotka lähetettiinERDDAP™Cassandra palautti 1200 riviä dataaERDDAP™tuloksissa.
- Tulokset Pitäisi ollaDatatiedot Tyyppi = Tyyppi LuetteloKolumnit (Keskimäärin 10 kohdetta luettelossa) koskaERDDAP™Laajensi 1200 riviä Cassandrasta 12 000 riviinERDDAP.
- ERDDAP™Käytä aina kaikkia käyttäjän rajoituksia Cassandra-tietoihin. Rajoitukset, joita Cassandra ei ole käsitellyt, vähensivät rivien määrän 7405:een. Tämä on käyttäjälle lähetettyjen rivien määrä.
Näiden diagnostisten viestien tärkein käyttö on varmistaa, ettäERDDAP™Teet sitä, mitä luulet sen tekevän. Jos se ei ole (Eikö se vähennä eri yhdistelmien määrää odotetulla tavalla?) Sitten voit käyttää tietoja selvittääksesi, mitä tapahtuu väärin.
- Tutkimukset ja kokeilut löytävät ja parantavat<Yhteysominaisuus > (#kassandra-yhteysominaisuus) s.
- Katso Cassandra-verkkoyhteyden nopeusERDDAP. Jos yhteys on hidas, katso, voitko parantaa sitä. Paras tilanne on silloin, kunERDDAP™Käytössä on palvelin, joka on kiinnitetty samaan (nopeasti) Vaihda palvelimena, jossa on Cassandra-solmu, johon olet yhteydessä.
- Ole kärsivällinen. Lue tiedot täällä ja Cassandrassa huolellisesti. Kokeilua. Tarkista työsi. Mikäli CassandraERDDAP™Yhteys on vielä hitaampi kuin odotat, ota mukaan Cassandra-pöydän kaava ja taulukkosi.ERDDAP™Chunk Ofdatasets.xmlKatso meidänLisätuen saaminen.
- Jos kaikki muu epäonnistuu, tietojen säilyttäminen kokoelmassaNetCDFv3.nctiedostoja (Erityisesti erityisesti.nctiedostoja, jotka käyttävätCF Discrete Sampling Geometria (DSG) Kontiguous Ragged Array -tietorakenteet ja niin voidaan käsitelläERDDAP>EDDTableFromNcFiles) . Jos se on loogisesti järjestetty (Jokaisella on dataa avaruuden ja ajan huipulle) ,ERDDAP™Tiedot voidaan kerätä erittäin nopeasti.
EdDTableFromCassandra skeleton XML
<dataset type="EDDTableFromCassandra" datasetID\="..." active\="..." >
<ipAddress>...</ipAddress>
<!-- The Cassandra URL without the port number, for example,
127.0.0.1 REQUIRED. -->
<connectionProperty name="name">value</connectionProperty>
<!-- The names (for example, "readTimeoutMillis") and values
of the Cassandra properties that ERDDAP™ needs to change.
0 or more. -->
<keyspace>...</keyspace> <!-- The name of the keyspace that has
the table. REQUIRED. -->
<tableName>...</tableName> <!-- The name of the table, default = "".
REQUIRED. -->
<partitionKeySourceNames>...<partitionKeySourceNames>
<!-- REQUIRED. -->
<clusterColumnSourceNames>...<clusterColumnSourceNames>
<!-- OPTIONAL. -->
<indexColumnSourceNames>...<indexColumnSourceNames> <!-- OPTIONAL. -->
<maxRequestFraction>...<maxRequestFraction>
<!-- OPTIONAL double between 1e-10 and 1 (the default). -->
<columnNameQuotes>...<columnNameQuotes> <!-- OPTIONAL.
Options: \[nothing\] (the default) or ". -->
<sourceNeedsExpandedFP\_EQ>true(default)|false</sourceNeedsExpandedFP\_EQ>
<accessibleTo>...</accessibleTo> <!-- 0 or 1 -->
<graphsAccessibleTo>auto|public</graphsAccessibleTo> <!-- 0 or 1 -->
<reloadEveryNMinutes>...</reloadEveryNMinutes> <!-- 0 or 1 -->
<defaultDataQuery>...</defaultDataQuery> <!-- 0 or 1 -->
<defaultGraphQuery>...</defaultGraphQuery> <!-- 0 or 1 -->
<addVariablesWhere>...</addVariablesWhere> <!-- 0 or 1 -->
<fgdcFile>...</fgdcFile> <!-- 0 or 1 -->
<iso19115File>...</iso19115File> <!-- 0 or 1 -->
<onChange>...</onChange> <!-- 0 or more -->
<addAttributes>...</addAttributes> <!-- 0 or 1 -->
<dataVariable>...</dataVariable> <!-- 1 or more.
Each dataVariable MUST include a <dataType> tag. See
Cassandra DataTypes.
For Cassandra timestamp columns, set dataType=double and
units=seconds since 1970-01-01T00:00:00Z -->
</dataset>
EdDTableFromDapsequence Näytä tarkat tiedot
EdDTableFromDapsequence Näytä tarkat tiedot muuttujien käsittely 1- ja 2-tason jaksoissaDAPpalvelimet, kutenDAPP (oli https://www.pmel.noaa.gov/epic/software/dapper/ Nyt lopetettu) .
-
Suosittelemme voimakkaasti käyttämäänGenerateDatasets XML-ohjelmatehdä karkea luonnosdatasets.xmlChunk tälle aineistolle. Sen jälkeen voit muokata sitä hienosti. Voit kerätä tarvitsemasi tiedot katsomalla lähdetietoaineiston DDS- ja DAS-tiedostoja selaimessasi (lisäämällä .das ja .dds)sourceUrl(Esimerkki oli https://dapper.pmel.noaa.gov/dapper/epic/tao\\_time\\_series.cdp.dds ).
-
Muuttuja on aDAPJos .dds-vastaus osoittaa, että muuttujan tietorakenne on "sekvenssi" (Tapaus herkkä) .
-
Joissakin tapauksissa näet sekvenssin, 2-tasoisen sekvenssin - EDDTableFromDapSequence käsittelee myös näitä.
EdDTableFromDapSequence Skeleton (käytetty) XML
<dataset type="EDDTableFromDapSequence" datasetID\="..." active\="..." >
<sourceUrl>...</sourceUrl>
<accessibleTo>...</accessibleTo> <!-- 0 or 1 -->
<graphsAccessibleTo>auto|public</graphsAccessibleTo> <!-- 0 or 1 -->
<reloadEveryNMinutes>...</reloadEveryNMinutes> <!-- 0 or 1 -->
<defaultDataQuery>...</defaultDataQuery> <!-- 0 or 1 -->
<defaultGraphQuery>...</defaultGraphQuery> <!-- 0 or 1 -->
<addVariablesWhere>...</addVariablesWhere> <!-- 0 or 1 -->
<fgdcFile>...</fgdcFile> <!-- 0 or 1 -->
<iso19115File>...</iso19115File> <!-- 0 or 1 -->
<onChange>...</onChange> <!-- 0 or more -->
<outerSequenceName>...</outerSequenceName>
<!-- The name of the outer sequence for DAP sequence data.
This tag is REQUIRED. -->
<innerSequenceName>...</innerSequenceName>
<!-- The name of the inner sequence for DAP sequence data.
This tag is OPTIONAL; use it if the DAP data is a two level
sequence. -->
<sourceNeedsExpandedFP\_EQ>true(default)|false</sourceNeedsExpandedFP\_EQ>
<sourceCanConstrainStringEQNE>true|false</sourceCanConstrainStringEQNE>
<sourceCanConstrainStringGTLT>true|false</sourceCanConstrainStringGTLT>
<sourceCanConstrainStringRegex>...</sourceCanConstrainStringRegex>
<skipDapperSpacerRows>...</skipDapperSpacerRows>
<!-- skipDapperSpacerRows specifies whether the dataset
will skip the last row of each innerSequence other than the
last innerSequence (because Dapper servers put NaNs in the
row to act as a spacer). This tag is OPTIONAL. The default
is false. It is recommended that you set this to true for
all Dapper sources and false for all other data sources. -->
<addAttributes>...</addAttributes> <!-- 0 or 1 -->
<dataVariable>...</dataVariable> <!-- 1 or more -->
</dataset>
EDDTableFromDatabase
EDDTableFromDatabase käsitellä tietoja yhdestä suhteellisen tietokannan taulukosta taiNäkönäkymät.
Yksi pöytä tai näkymä
Jos haluat käyttää tietojasi kahdessa tai useammassa taulukossa (Tarvitset siis JOIN-tietoa molemmista taulukoista kerralla) Sinun täytyy tehdä yksiepänormaalia (jo liittynyt) pöytä tai[Näkönäkymät](https://en.wikipedia.org/wiki/View_(SQL)• kaikki tiedot, jotka haluat julkaista yhtenä tietoaineistonaERDDAP.
Suurten, monimutkaisten tietokantojen kohdalla voi olla järkevää erottaa useita pöytiä epänormaaliksi taulukoksi, joista jokaisesta tulee erillinen tietoaineisto.ERDDAP.
Epänormaalin pöydän käyttäminenERDDAP™Kuulostaa hullulta idealta. Luota meihin. On olemassa useita syitä, miksiERDDAP™Toimii epänormaalien pöytien kanssa:
- Käyttäjille se on huomattavasti helpompaa. MilloinERDDAP™esittelee tietoaineiston yhdeksi, yksinkertaiseksi, epänormaaliksi, yksittäiseksi taulukoksi, joka on helppo ymmärtää tietoja. Useimmat käyttäjät eivät ole koskaan kuulleet normaaleista pöydistä, ja hyvin harvat ymmärtävät avaimia, ulkomaisia avaimia tai pöytäliitoksia, eivätkä he läheskään tiedä eri tyyppisten liitteiden yksityiskohtia tai miten määrittää SQL:n liittyäkseen. (Useita liitoksia) oikein. Epänormaalin pöydän käyttäminen estää kaikki ongelmat. Yksinkertaisesti tämä syy oikeuttaa epänormaalin yksittäisen taulukon käytön aineiston esittämiseen.ERDDAP™käyttäjiä.
- Normaalit pöydät (Useita taulukoita, jotka liittyvät avainsarakkeisiin) on hyvä tallentaa tietoja tietokantaan. Jopa SQL:ssä tulos, joka palautetaan käyttäjälle, on epänormaali. (Liity mukaan) Yksittäinen pöytä. Joten näyttää järkevältä esittää tietoaineistoa käyttäjille valtavana, epänormaalina, yksittäisenä taulukona, josta he voivat sitten pyytää alijoukkoja. (Näytä minulle pöydän rivit, joissa lämpötila 30) .
- Voit tehdä muutoksiaERDDAP™Muuttamatta pöytiä. ERDDAP™on joitakin vaatimuksia, jotka voivat olla erilaisia kuin tietokannan perustaminen. Esimerkiksi,ERDDAP™Tarvitaan, että aikaleimatiedot tallennetaan "aikaleimaan" aikavyöhykkeellä. Tee erillinen taulukko/näkymäERDDAP™Voit tehdä nämä muutokset, kun teet epänormaalin pöydänERDDAP. Sinun ei siis tarvitse tehdä muutoksia pöytiin.
- ERDDAP™Se luo osan normaalien pöytien rakenteesta. Voit määrittää, mitkä sarakkeet ovat peräisin "ulkoisista" taulukoista, ja siksi niillä on rajallinen määrä erillisiä arvoja.ERDDAP™Kerää kaikki näiden sarakkeiden eri arvoyhdistelmät ja esittelee ne käyttäjille erityisellä tavalla. subset-sivusto, joka auttaa käyttäjiä valitsemaan tietoaineiston osat nopeasti. Kunkin sarakkeen erilliset arvot näkyvät myös tietoaineiston muiden sivujen pudotusluetteloissa.
- Epänormalisoitu taulukko tekee tiedoista luovuttamisen sinulleERDDAPHallinnollinen helppo. Olet tämän tietoaineiston asiantuntija, joten on järkevää, että päätät, mitkä taulukot ja mitkä sarakkeet liittyä ja miten liittyä niihin. Sinun ei tarvitse antaa meille (Pahimmillaan loppukäyttäjät) Useita taulukoita ja yksityiskohtaisia ohjeita niiden liittymiseen, sinun täytyy vain antaa meille pääsy epänormaaliin taulukkoon.
- Epänormaali taulukko mahdollistaa tietojen tehokkaan käytön. Epänormaali muoto on yleensä nopeampi käyttää kuin normaali muoto. Liittyminen voi olla hidasta. Useat liitokset voivat olla hyvin hitaita.
Jotta tiedot saadaan kahdesta tai useammasta taulukosta tietokantaanERDDAP™On olemassa kolme vaihtoehtoa:
- Suositeltu vaihtoehto: Voit luoda koomman tai välilehden erotetun arvon tiedoston epänormaalista taulukosta. Jos tietoaineisto on valtava, on järkevää luoda useita tiedostoja, joista jokaisella on epänormaalin taulukon yhtenäinen alaryhmä. (Esimerkiksi tiedot pienemmästä aikavälistä) .
Suurin etu tässä on se, ettäERDDAP™Pystyt käsittelemään käyttäjien tietoja koskevia pyyntöjä ilman lisäponnisteluja tietokannastasi. NiinpäERDDAP™Se ei ole taakka tietokannalle tai tietoturvariskille. Tämä on paras vaihtoehto lähes kaikissa tilanteissa, koskaERDDAP™Tiedot saa yleensä nopeammin kuin tietokannasta. (Jos muunnamme .csv-tiedostot.ncCF-tiedostot) . (Yksi syy on se, ettäERDDAP+ tiedostot ovat vain lukujärjestelmä, eikä niiden tarvitse käsitellä muutoksia samalla kun ne tarjoavatACI (Atomia, johdonmukaisuus, eristäminen, kestävyys) .) Et todennäköisesti tarvitse erillistä palvelinta, koska voimme tallentaa tiedot jollekin RAID-osoitteestamme ja käyttää sitä olemassa olevalla palvelimella.ERDDAP™olemassa olevaan palvelimeen.
- Okei vaihtoehto: Luot uuden tietokannan eri tietokoneeseen, jossa on vain epänormaali taulukko. Koska tietokanta voi olla ilmainen ja avoimen lähdekoodin tietokanta, kuten MariaDB, MySQL ja PostgreSQL, tämä vaihtoehto ei tarvitse maksaa paljon.
Suurin etu tässä on se, ettäERDDAP™Pystyt käsittelemään käyttäjien tietoja koskevia pyyntöjä ilman lisäponnisteluja nykyisessä tietokannassasi. NiinpäERDDAP™Se ei ole taakka nykyiselle tietokannalle. Se myös poistaa monia turvallisuusongelmia, koskaERDDAP™Sinulla ei ole pääsyä nykyiseen tietokantaan.
-
Discourated options: Voimme yhdistääERDDAP™nykyiseen tietokantaan. Tätä varten sinun täytyy:
- Luo erillinen taulukko tai näkymä epänormaaliin tietotaulukkoon.
- Luo "erdap" käyttäjä, jolla on vain luku-vain pääsy vain epänormaaliin taulukkoon (s) .
Tämä on vaihtoehto, jos tiedot muuttuvat usein ja haluat antaaERDDAP™Käyttäjät pääsevät välittömästi näihin muutoksiin; kuitenkin, jopa niin, voi olla järkevää käyttää tiedostoa edellä ja säännöllisesti. (30 minuutin välein?) Korvaa tiedosto, jolla on tämän päivän tiedot. Tämän lähestymistavan suuret haitat ovat se, ettäERDDAP™Käyttäjän pyynnöt saattavat aiheuttaa sietämätöntä taakkaa tietokantaan ja ettäERDDAP™Yhteys on turvallisuusriski (Vaikka riskiä voidaan pienentää/hallita) .
Denormalisoitu pöytä tai näkymäERDDAP™On hyvä tilaisuus tehdä muutamia muutoksia, jotkaERDDAP™Se ei vaikuta alkuperäisiin taulukoihin:
- Muuta päivämäärä- ja aikaleima-alueita/sarakkeita käyttääksesi Postgres-puhelun tietotyyppiäAikaleima aikavyöhykkeellä (tai vastaava tietokantaan) . Aikaleimat ilman aikavyöhyketietoja eivät toimi oikeinERDDAP.
- Tee sarakkeita, joita käyttäjät usein etsivät.
- Ole hyvin tietoinenkentän/sarakkeen nimien osalta (Käytä esimerkiksi kaikkia matalampia) kun kirjoitat niitä.
- Älä käytä varattuja sanoja pöydälle ja kentälle tai sarakkeelle.
Jos tarvitset apua epänormaalin taulukon tai näkymän tekemiseen, ota yhteyttä tietokannan ylläpitäjään. Jos haluat puhua tästä koko lähestymistavasta tai strategioida, miten voit tehdä sen, lähetä sähköpostia Chris. Johannes osoitteessa Noaa.gov.
Tietokantadatasets.xml
On vaikeaa luoda oikeaadatasets.xmltarvittavaa tietoaERDDAP™luoda yhteys tietokantaan. Ole kärsivällinen. Ole menetelmällinen.
- Suosittelemme voimakkaasti käyttämäänGenerateDatasets XML-ohjelmatehdä karkea luonnosdatasets.xmlChunk tälle aineistolle. Sen jälkeen voit muokata sitä hienosti.
GenerateDatasets Xml tarjoaa kolme erillistä vaihtoehtoa EDDTableFromDatabase:
- Jos tulet sisään!!!!! (Ilman lainauksia) luettelon nimi, ohjelma näyttää luettelon luettelon luettelon nimet.
- Jos tulet sisään!!!!! (Ilman lainauksia) Scheman nimi, ohjelma näyttää luettelon schema nimiä.
- Jos tulet sisään!!!!! (Ilman lainauksia) taulukon nimeä varten ohjelma näyttää luettelon taulukoista ja niiden sarakkeista. Ensimmäinen "!!!!!!!!!!!!! on se, jota käytetään.
- Lue huolellisesti kaikki tämän asiakirjan tiedot EDDTableFromDatabase.
- Voit kerätä suurimman osan tiedoista, joita tarvitset XML:n luomiseen EDDTableFromDatabase-tietokantaan ottamalla yhteyttä tietokannan ylläpitäjään ja etsimällä verkkoa.
- Vaikka tietokannat käsittelevät usein sarakkeiden nimiä ja taulukkonimiä tapauskohtaisesti, ne ovat tapausherkkiä.ERDDAP. Jos tietokannan virheilmoitus sanoo, että sarakkeen nimi on tuntematon. (Esimerkiksi "tuntematon tunniste" """ Kolumni » """") Vaikka tiedät sen olevan olemassa, yritä käyttää kaikkia pääkaupunkeja. COLUM = Name Tämä on usein sarakkeen oikea, tapausherkkä versio.
- Työskentele tiiviisti tietokannan ylläpitäjän kanssa, jolla voi olla asiaankuuluvaa kokemusta. Jos aineisto ei lataudu, lueVirheilmoitushuolellisesti selvittää, miksi.
JDBC-kuljettaja
-
(JDBC-kuljettaja)<Kuljettajan nimi » (#jdbc-ohjain) ----- Sinun on hankittava oikea JDBC 3- tai JDBC 4 -ohjaintiedosto tietokantaan ja Laita se sisään Tom /webapps/erddap/WEB-INF/lib asennuksen jälkeenERDDAP. Sitten, sinundatasets.xmlNäitä tietoja varten sinun on määriteltävä<Kuljettajan nimi, joka on (Valitettavasti) Toisin kuin tiedostonimi. Etsi verkkoa JDBC-ohjaimelle tietokantaasi ja ohjainNamea varten.Javatäytyy käyttää sitä.
- MariaDB, kokeile https://mariadb.com/kb/en/about-the-mariadb-java-client/
The<Kuljettajan nimi > käyttäädatasets.xml (Katso alapuolelta) Ehkä se on org.mariadb.jdbc. Kuljettaja. - MySQL ja Amazon RDS https://dev.mysql.com/downloads/connector/j/
The<Kuljettajan nimi > käyttäädatasets.xml (Katso alapuolelta) Todennäköisesti com.mysql.jdbc. Kuljettaja. - For ForOracleKokeile, https://www.oracle.com/database/technologies/appdev/jdbc-downloads.html . The<Kuljettajan nimi > käyttäädatasets.xml (Katso alapuolelta) Ehkä se on oracle.jdbc.driver.OracleKuljettaja.
- Postgresql sai JDBC 4 -kuljettajan https://mvnrepository.com/artifact/org.postgresql/postgresql
The<Kuljettajan nimi > käyttäädatasets.xml (Katso alapuolelta) Ehkä se on org.postgresql. Kuljettaja. - SQL Serverille voit saada JTDS JDBC -kuljettajan https://jtds.sourceforge.net . The<Kuljettajan nimi > käyttäädatasets.xml (Katso alapuolelta) Net.sourceforge.jtds.jdbc. Kuljettaja.
- MariaDB, kokeile https://mariadb.com/kb/en/about-the-mariadb-java-client/
Kun olet laittanut JDBC-kuljettajanERDDAP™Lib-hakemisto, sinun on lisättävä viittaus .jar-tiedostoon .bat- ja/tai .sh-käsikirjoitustiedostoihin GenerateDatasetsille Xml, DasDds ja ArchiveADataset, jotka ovat Tom /webapps/erddap/WEB-INF/hakemisto; muuten saat ClassNotFoundExceptionin, kun suoritat käsikirjoituksia.
JDBC on joskus ongelman lähde. välittäjänä välittäjänäERDDAP™Tietokanta tekee joskus hienovaraisia muutoksia SQL-standardiin tai yleiseen tietokantaan.ERDDAP™aiheuttaa ja aiheuttaa ongelmia (esimerkiksi liittyvätylä-/alhainen tunnisteja liittyvätPäivämäärä / Timezones) . Ole kärsivällinen, lue tiedot huolellisesti, tarkista työsi ja katso meidänLisätuen saaminen.
Tietokanta<yhteysyhteys omaisuus >
- [...]<Yhteysominaisuus > (#database-yhteysominaisuus) ----- Sisällädatasets.xmlTietokannan osalta sinun on määriteltävä useita yhteyksiä Kiinteistöjä kerrottavaksiERDDAP™Miten yhdistää tietokantaan (esimerkiksi käyttäjänimen, salasanan, sl-yhteyden jaNäytön koko) . Ne ovat erilaisia jokaisessa tilanteessa, ja niitä on vaikea selvittää. Etsi verkkoa esimerkiksi JDBC-ohjaimen avulla, jotta voit muodostaa yhteyden tietokantaan. The<Yhteysominaisuus > nimet (Esimerkiksi "käyttäjä", "salasana" ja "ssl") , ja jotkut yhteys-Ominaisuuden arvot löytyvät etsimällä verkkoa "JDBC-liitäntäominaisuuksiin" Tietokannan tietokanta Tyyppi """ (esimerkiksiOracleMySQL, Amazon RDS, MariaDB, PostgreSQL) .
Nimien ja herkkyyden nimiä
- Kenttä/Column Names: Case SensitivityOletusarvoisesti EDDTableFromDatabase laittaa ANSI-SQL-standardin kaksinkertaiset merkinnät kentän/sarakkeen nimien ympärille SELECT-lauseissa, jos olet käyttänyt varattua sanaa kenttä- tai sarakenimi tai erityispiirre kentän/sarakkeen nimissä. Kaksinkertaiset merkinnät estävät myös tietyntyyppisiä SQL-injektiohyökkäyksiä. Voit kertoaERDDAP™käyttää ", tai ei lainauksia"<ColumnNameQuotes » Sisällädatasets.xmltälle aineistolle.
Monissa tietokannoissa minkä tahansa tyyppisten tarjousten käyttö aiheuttaa tietokannan työskentelyn kentän/sarakkeen nimien kanssa herkällä tavalla. (Oletusarvoisen tietokannan sijaan epäherkkä tapaus) . Tietokannat näyttävät usein tiedoston/sarakkeen nimiä kaikkina ylempänä tapauksena, kun todellisuudessa arkaluonteinen muoto on erilainen. SisälläERDDAP™Ole hyvä ja kohtele tietokannan sarakkeiden nimiä aina herkkinä tapauksina.
- Marialle DB, sinun on suoritettava tietokanta\-sql-mode=ANSI \UOTES.
- MySQL:lle ja Amazon RDS:lle sinun on suoritettava tietokanta\-sql-mode=ANSI \UOTES.
- OracleANSI-SQL-standardin kaksoislainatOletuksena.
- PostgreSQL tukee oletusarvoisesti ANSI-SQL-standardeja.
Älä käytä varattua sanaa tietokantaan, luetteloon, kaavaan tai taulukon nimeen.ERDDAP™Älä laita tarjouksia niiden ympärille.
Jos mahdollista, käytä tietokantaan, luetteloon, kaavaan, taulukon nimiin ja kenttänimiin luotaessa tietokantataulukkoa. (tai näkymä) Kun viitataan kentän/sarakkeen nimiindatasets.xmlSisälläERDDAP. Muussa tapauksessa saatat saada virheilmoituksen, jossa kerrotaan, että tietokanta, luettelo, kaava, taulukko ja / tai kenttä ei löytynyt. Jos saat tämän virheviestin, kokeile tapausherkän version, kaiken ylemmän tapausversion ja kaikki alemman tapauksen versio nimestä.ERDDAP. Yksi niistä voi toimia. Jos et, sinun on muutettava tietokannan, luettelon, kaavan ja/tai taulukon nimi kaikkiin alempaan tapaukseen.
Tietokanta<Datatiedot Type >
- Tietokanta[...]<Tietotyyppi > (#datatype) Tagit - Jotain epäselvyyttä, jostaTietokannan tietojärjestelmätkartta, johonERDDAP™Tietotyypit, sinun on määriteltävä [<Tietotyyppi > (#datatype) Jokaiseen [<dataVariable> (#Datavariable) kertomaanERDDAP™Minkälaista dataa käytetään. Ongelmana on, että eri tietoaineistot käyttävät erilaisia termejä eri tietotyypeille, joten yritä aina vastata määritelmiin, ei vain nimiin. Katso kuvausStandard standard standard standard standard standard standard standard standard standard standard standardERDDAP™Datatiedot TyypitTämä sisältää viittaukset vastaavaan SQL-tietotyyppiin.Päivämäärä ja aikaleimaerityistapaukset: käyttöERDDAPKaksinkertainen data Tyyppi.
Tietokanta Date Time Data
Joissakin tietokantojen ajankohdissa ei ole nimenomaista aikavyöhykettä. Tällaiset sarakkeet ovat vaikeuksiaERDDAP. Tietokanta tukee päivämäärän käsitettä (ajan kanssa tai ilman) ilman aikavyöhykettä, aikaväliä. Mutta kuitenkinJava (ja sitenERDDAP) Se käsittelee vain hetkellisiä päivämääriä+-aikoja aikavyöhykkeellä. Joten voit tietää, että päivämäärätiedot perustuvat paikalliseen aikavyöhykkeeseen. (Päivänvalon säästöaikaa tai ilman) GMT/ZuluAikavyöhyke, muttaJava (jaERDDAP) Ei. Ajattelimme, että voisimme toimia tämän ongelman ympärillä. (esim. määrittämällä sarakkeen aikavyöhyke) Tietokanta+JDBC+JavaVuorovaikutus teki tästä epäluotettavan ratkaisun.
- Niin,ERDDAP™edellyttää, että tallennat tietokantataulukkoon kaikki päivämäärä- ja päivämäärätiedot tietokannan tietotyypin kanssa, joka vastaa JDBC-tyyppiä "aikaleima aikavyöhykkeellä" (Ihanteellista, että GMT/ZuluAikavyöhyke) .
- SisälläERDDAP>datasets.xmlSisällä<dataVariable> Tag for a timestamp variable, set
ja sisällä<addAttributes> asetettu
<att name="units">seconds since 1970-01-01T00:00:00Z</att>
- Suositukset: Jos tiedot ovat aikaväli, on hyödyllistä, että aikaleima-arvot viittaavat implisiittiin aikaväliin. (Esimerkiksi keskipäivällä) . Esimerkiksi, jos käyttäjällä on tietoja 2010-03-26T13:00Z toisesta tietoaineistosta ja he haluavat lähimmät tiedot tietokannasta, jolla on tietoja joka päivä, sitten tietokantatiedot 2010-03-26T12:00Z (tiedot kyseisestä päivämäärästä) on ilmeisesti paras (vastakohtana keskiyölle ennen tai jälkeen, jolloin on vähemmän selvää, mikä on parasta.) .
- ERDDAP™on hyödyllistäMuunna numero Aikaa / From a String Time.
- NäytäMitenERDDAPSopimukset ajan kanssa.
Integer-nukkeja
Tietokannat tukevat integer-nukkeja (Pieni, Pieni) sarakkeita, muttaERDDAP™Ei kannata aitoja nukkeja. Database nulls muunnetaanERDDAP™127 sivusarakkeita, 255 kertasarakkeita, 32767 lyhyitä sarakkeita, 65535 lyhyitä sarakkeita, 2147483647 int sarakkeita, 4294967295 uint sarakkeita, 9 223 3372,036,854,775 807 pitkä sarakkeita, tai 184444073709551615 varten ulong sarakkeita. Jos käytät näitä vikoja, tunnista nämämissing\_valuetietoaineiston käyttäjilleERDDAP™kanssa
<att name="\_FillValue" type="int"\>2147483647</att>
tai tai
<att name="\_FillValue" type="short"\>32767</att>
Vaihtoehtoisesti voit käyttää "missing\_value"Arvon sijaan" GenerateDatasets Xml lisää automaattisesti nämä \FillValue-ominaisuudet, kun se tuottaa ehdotetundatasets.xmltietokantaan.
Tietokannan kelluvan pisteen sarakkeita, nulls muunnetaan NaNsERDDAP. Tietokantatietotyypit, jotka muunnetaan StringsiksiERDDAP™Nulls muunnetaan tyhjiksi purjeiksi.
Tietokannan turvallisuus
- Kun työskentelet tietokantojen kanssa, sinun on tehtävä asiat mahdollisimman turvallisesti ja turvallisesti, jotta voit estää haitallisen käyttäjän vahingoittumisen tietokantaan tai saada pääsyn tietoihin, joita he eivät saa käyttää.ERDDAP™Tekee asioita myös turvallisella tavalla.
- Harkitse toistamista toisella tietokoneella, tietokanta ja tietokantataulukot haluamiesi tietojen kanssa.ERDDAP™palvelemaan. (Kyllä, kaupallisiin tietokantoihin, kutenOracleTämä tarkoittaa ylimääräisiä lisenssimaksuja. Mutta avoimen lähdekoodin tietokantoihin, kuten PostgreSQL, MySQL, Amazon RDS ja MariaDB, tämä ei maksa mitään.) Tämä antaa sinulle korkean turvallisuuden ja estää myösERDDAP™Alkuperäisen tietokannan hidastaminen.
- Kehotamme sinua perustamaanERDDAP™muodostaa yhteyden tietokantaan tietokannan käyttäjänä, jolla on vain pääsy tietokantaan asiaankuuluva Tietokannan tietokanta (s) Hänellä on vain oikeita etuoikeuksia.
- Kehotamme sinua luomaan yhteydenERDDAP™tietokantaan, jotta
- Käytä aina SSL:ää
- sallii yhteyden vain yhdestä IP-osoitteesta (tai yksi osoitteiden lohko) ja yhdestäERDDAP™käyttäjän ja
- Siirrä salasanoja vain MD5-hajonneessa muodossaan.
- \[Osaaminen\]Yhteyssopimukset (Sisältää salasanan!) Säilytetään selkeänä tekstinädatasets.xml. Emme ole löytäneet tapaa, jolla järjestelmänvalvoja voi syöttää tietokannan salasanan aikana.ERDDAPAloitus Tomcatissa (joka tapahtuu ilman käyttäjän syöttöä) Tällöin salasanan on oltava saatavilla tiedostossa. Tehdään tästä turvallisempaa:
- Sinä (TheERDDAP™Hallinnollinen) Pitäisi olla omistajadatasets.xmlLue ja kirjoita käyttöoikeus.
- Tee ryhmä, joka sisältää vain käyttäjän = Tomcat. Käytä chgrp, jotta ryhmändatasets.xmlVain oikeita etuoikeuksia.
- Käytä chmodia määrittääksesi O-rwx-oikeudet (Ei Lue tai kirjoita "Muut" käyttäjät) fordatasets.xml.
- Milloin sisäänERDDAP™salasana ja muut yhteysominaisuudet tallennetaan "yksityiseen"Javamuuttujia.
- Asiakkaiden pyynnöt laajennetaan ja tarkistetaan pätevyydeksi ennen tietokannan SQL-pyyntöjen luomista.
- Tietokantaan tehtävät pyynnöt tehdään SQL PreparedStatementsin avullaSQL-injektio.
- Tietokantaan tehtävät pyynnöt toimitetaan toimeksiannolla Query (Ei täytäntöönpanoa) rajoittaa pyyntöjä vain luettavaksi (SQL-injektiota on yritetty muuttaa tietokantaa, joka epäonnistuu tästä syystä.) .
SQL
- Koska koskaOPeNDAPTabulaariset tietopyynnöt on suunniteltu jäljittelemään SQL-tabulaarisia tietopyyntöjä, se on helppoaERDDAP™muuntaa Tabular-tietopyynnöt yksinkertaisiksi SQL PreparedStatementsiksi. EsimerkiksiERDDAP™Pyydä
time,temperature&time>=2008-01-01T00:00:00Z&time<=2008-02-01T00:00:00Z
Muutetaan SQL PreparedStatement
SELECT "time", "temperature" FROM *tableName*
WHERE "time" >= 2008-01-01T00:00:00Z AND "time" <= 2008-02-01T00:00:00Z
ERDDAP™Pyyntöjä &distinct () ja/taiorderBy ( Muuttujia ) Lisää DISTINCT ja/tai Order BY Muuttujia SQL:n laatima lausunto. Tämä hidastaa huomattavasti tietokannan vastausta. ERDDAP™Kirjaudu sisään valmistettuun tilaanlog.txtkuin
statement=*thePreparedStatement*
Tämä on tekstiesite, joka voi olla hieman erilainen kuin varsinainen Valmistettu Tila. Esimerkiksi Valmistetussa tilassa ajat koodataan erityisellä tavalla. Tekstien esittelyssä ne näkyvät ISO 8601 -päiväajoina.
Tietokannan nopeus
- Tietokannat voivat olla hitaita. On asioita, joita voit tehdä:
- Yleisesti - SQL:n luonne on se, että kyselyt ovatdeklaratiivinen. Se määrittää, mitä käyttäjä haluaa. Ne eivät sisällä eritelmiä tai vihjeitä siitä, miten kyselyä käsitellään tai optimoidaan. Joten ei ole mitään keinoaERDDAP™kyselyn tuottaminen siten, että se auttaa tietokantaa optimoimaan kyselyn. (tai millään tavalla määrittää, miten kyselyä käsitellään.) . Tietokannan ylläpitäjän tehtävänä on määrittää asiat (Esimerkiksi indeksit) Optimoi tietyntyyppisiä kysymyksiä.
Aseta jalkojen koko
Tietokanta palauttaa tiedotERDDAP™chunksissa. Oletusarvoisesti erilaiset tietokannat palauttavat erilaisia rivejä. Tämä määrä on usein hyvin pieni ja erittäin tehoton. Esimerkiksi oletusOracle10! Lue JDBC-dokumentaatio tietokannan JDBC-kuljettajalle, jotta yhteysominaisuus voidaan määrittää tämän lisäämiseksi ja lisää se tietoaineiston kuvaukseen.datasets.xml. Esimerkiksi, MySQL ja Amazon RDS
<connectionProperty name="defaultFetchSize">10000</connectionProperty>
MariaDB:lle ei tällä hetkellä ole mitään keinoa vaihtaa noituutta. Mutta se on pyydetty ominaisuus, joten etsi verkko nähdä, onko tämä toteutettu. For ForOraclekäyttää
<connectionProperty name="defaultRowPrefetch">10000</connectionProperty>
PostgreSQL:n käyttö
<connectionProperty name="defaultRowFetchSize">10000</connectionProperty>
Ole vapaa muuttamaan numeroa. Liian suuri määrä aiheuttaaERDDAP™käyttää paljon muistia ja todennäköisesti loppua muistista.
Yhteensopivuus
Jokaisella tietokannalla on muita yhteysominaisuuksia, jotka voidaan määrittäädatasets.xml. Monet näistä vaikuttavat tietokannan suorituskykyyn.ERDDAP™yhteys. Lue tietokannan JDBC-kuljettajan dokumentaatio nähdäksesi vaihtoehdot. Jos löydät yhteysominaisuuksia, jotka ovat hyödyllisiä, lähetä sähköpostia, jossa on tiedot.erd dot data at noaa dot gov.
- Tee pöytä - Saat todennäköisesti nopeampia vastauksia, jos olet säännöllisesti (Joka päivä? Milloin uusia tietoja on?) Luo todellinen pöytä (Samanlainen kuin VIEW) ja kertovatERDDAP™saada tietoja pöydästä VIEW:n sijaan. Koska mikä tahansa pyyntö pöydälle voidaan tehdä ilman, että jätät toisen pöydän, vastaus on paljon nopeampi.
- Tyhjä pöytä - MySQL ja Amazon RDS reagoivat nopeammin, jos käytätOPTIMIZE TABLE. Maria DB vastaa paljon nopeammin, jos käytätOPTIMIZE TABLE. PostgreSQL vastaa paljon nopeamminVACUMPöytä. Oracleei tarvitse tai tarvitse analogista käskyä.
- Make Make Make MakeIndeksitYleisesti rajoitettuja muuttujia - Voit nopeuttaa monia / eniten kysymyksiä luomalla indeksit tietokantaan muuttujien (Mitä tietokantoja kutsutaan sarakkeiksi) Tämä on usein rajoitettu käyttäjän kyselyyn. Nämä ovat yleensä samoja muuttujia, jotka on määritetty [...]<subsetVariables> (#Subsetvariables) leveys, pituus ja aikamuuttujat.
Yhteyden yhdistäminen
normaalisti,ERDDAP™muodostaa erillisen yhteyden tietokantaan jokaisen pyynnön osalta. Tämä on luotettavin lähestymistapa. Nopeampi vaihtoehto on käyttää tietolähteitä, jotka tukevat liitäntäpoolointia. määrittää, määrittää (Esimerkiksi esimerkiksi)
<dataSourceName>java:comp/env/jdbc/postgres/erddap</dataSourceName>
suoraan vieressä<sourceUrl>,<Kuljettajan nimi ja<yhteysyhteys omaisuus> ja Tom /conf/context.xml, määritä resurssi, jolla on samat tiedot
<Resource
name="jdbc/postgres/erddap" auth="Container" type="javax.sql.DataSource"
driverClassName="org.postgresql.Driver"
url="*jdbc:postgresql://somehost:5432/myDatabaseName*"
username="*myUsername*" password="*myPassword*"
initialSize="0" maxActive="8" minIdle="0" maxIdle="0" maxWait="-1"/>
Tietoa datan käytöstä on saatavilla https://docs.oracle.com/javase/tutorial/jdbc/basics/sqldatasources.html . NäytäTomcat DataSource tiedotjaTomcat DataSource esimerkkejäEtsi verkkoa esimerkiksi käyttämällä tietolähteitä muiden sovelluspalvelimien kanssa.
- Jos kaikki muu epäonnistuu, tietojen säilyttäminen kokoelmassaNetCDFv3.nctiedostoja (Erityisesti erityisesti.nctiedostoja, jotka käyttävätCF Discrete Sampling Geometria (DSG) Kontiguous Ragged Array -tietorakenteet ja niin voidaan käsitelläERDDAP>EDDTableFromNcFiles) . Jos se on loogisesti järjestetty (Jokaisella on dataa avaruuden ja ajan huipulle) ,ERDDAP™Tiedot voidaan kerätä erittäin nopeasti.
EdDTableFromDatabase Skeleton (käytetty) XML
<dataset type="EDDTableFromDatabase" datasetID\="..." active\="..." >
<sourceUrl>...</sourceUrl>
<!-- The format varies for each type of database, but will be
something like:
For MariaDB: jdbc:mariadb://xxx.xxx.xxx.xxx:3306/databaseName
For MySql jdbc:mysql://xxx.xxx.xxx.xxx:3306/databaseName
For Amazon RDS: jdbc:mysql://xxx.xxx.xxx.xxx:3306/databaseName
For Oracle: jdbc:oracle:thin:@xxx.xxx.xxx.xxx:1521:databaseName
For Postgresql: jdbc:postgresql://xxx.xxx.xxx.xxx:5432/databaseName
where xxx.xxx.xxx.xxx is the host computer's numeric IP address
followed by :PortNumber (4 digits), which may be different for your
database. REQUIRED. -->
<driverName\>...</driverName>
<!-- The high-level name of the database driver, for example,
"org.postgresql.Driver". You need to put the actual database
driver .jar file (for example, postgresql.jdbc.jar) in
tomcat/webapps/erddap/WEB-INF/lib. REQUIRED. -->
<connectionProperty name="name">value</connectionProperty>
<!-- The names (for example, "user", "password", and "ssl")
and values of the properties needed for ERDDAP™ to establish
the connection to the database. 0 or more. -->
<dataSourceName>...</dataSourceName> <!-- 0 or 1 -->
<catalogName>...</catalogName>
<!-- The name of the catalog which has the schema which has the
table, default = "". OPTIONAL. Some databases don't use
this. -->
<schemaName>...</schemaName> <!-- The name of the
schema which has the table, default = "". OPTIONAL. -->
<tableName>...</tableName> <!-- The name of the
table, default = "". REQUIRED. -->
<columnNameQuotes><columnNameQuotes> <!-- OPTIONAL. Options:
" (the default), ', \[nothing\]. -->
<orderBy>...</orderBy> <!-- A comma-separated list of
sourceNames to be used in an ORDER BY clause at the end of the
every query sent to the database (unless the user's request
includes an &orderBy() filter, in which case the user's
orderBy is used). The order of the sourceNames is important.
The leftmost (first) sourceName is most important; subsequent
sourceNames are only used to break ties. Only relevant
sourceNames are included in the ORDER BY clause for a given user
request. If this is not specified, the order of the returned
values is not specified. Default = "". OPTIONAL. -->
<sourceCanOrderBy>no(default)|partial|yes</sourceCanOrderBy>
<!-- 0 or 1 -->
<sourceCanDoDistinct>no(default)|partial|yes</sourceCanDoDistinct>
<!-- 0 or 1 -->
<sourceNeedsExpandedFP\_EQ>true(default)|false</sourceNeedsExpandedFP\_EQ>
<accessibleTo>...</accessibleTo> <!-- 0 or 1 -->
<graphsAccessibleTo>auto|public</graphsAccessibleTo> <!-- 0 or 1 -->
<reloadEveryNMinutes>...</reloadEveryNMinutes> <!-- 0 or 1 -->