Συνεργασία με τοdatasets.xmlΑρχείο
\[Αυτή η ιστοσελίδα θα ενδιαφέρει μόνοERDDAP™διαχειριστές.\]
Αφού ακολουθήσετε τοERDDAP™ οδηγίες εγκατάστασης, θα πρέπει να επεξεργαστείτε τοdatasets.xmlαρχείο in τομκάτ /content/erddap/ για την περιγραφή των συνόλων δεδομένων που έχετεERDDAP™εγκατάσταση θα εξυπηρετήσει.
Μπορείτε να δείτε ένα παράδειγμαdatasets.xmlστο GitHub.
-
- Ναι.
Εισαγωγή
Απαιτείται κάποια συναρμολόγηση
Setting συνόλου δεδομένωνERDDAP™δεν είναι απλά ένα θέμα που δείχνει τον κατάλογο ή το URL του συνόλου δεδομένων. Πρέπει να γράψεις ένα κομμάτι XML γιαdatasets.xmlπου περιγράφει το σύνολο δεδομένων.
- Για δέσμες δεδομένων με πλέγμα, προκειμένου να καταστεί το σύνολο δεδομένων σύμφωνο μεERDDAP's δομή δεδομένων για τα πλέγματα δεδομένων, θα πρέπει να προσδιορίσει ένα υποσύνολο των μεταβλητών του συνόλου δεδομένων που μοιράζονται τις ίδιες διαστάσεις. (Γιατί; Πώς;)
- Τα τρέχοντα μεταδεδομένα του συνόλου δεδομένων εισάγονται αυτόματα. Αλλά αν θέλετε να τροποποιήσετε αυτά τα μεταδεδομένα ή να προσθέσετε άλλα μεταδεδομένα, πρέπει να το καθορίσετε στοdatasets.xml. Και...ERDDAP™χρειάζεται άλλα μεταδεδομένα, συμπεριλαμβανομένωνκαθολικά χαρακτηριστικά (όπωςinfoUrl, θεσμικό όργανο,sourceUrl, περίληψη και τίτλος) καιμεταβλητά χαρακτηριστικά (όπωςlong\_nameκαι μονάδες) . Όπως ακριβώς τα μεταδεδομένα που βρίσκονται στο σύνολο δεδομένων προσθέτει περιγραφικές πληροφορίες στο σύνολο δεδομένων, τα μεταδεδομένα που ζητούνται απόERDDAP™προσθέτει περιγραφικές πληροφορίες στο σύνολο δεδομένων. Τα πρόσθετα μεταδεδομένα είναι μια καλή προσθήκη στο σύνολο δεδομένων σας και βοηθάERDDAP™κάνει μια καλύτερη δουλειά της παρουσίασης των δεδομένων σας σε χρήστες που δεν είναι εξοικειωμένοι με αυτό.
- ERDDAP™χρειάζεται να κάνετε ειδικά πράγματα με τογεωγραφικό μήκος, γεωγραφικό πλάτος, υψόμετρο (ή βάθος) , και χρονικές μεταβλητές.
Αν αγοράσετε σε αυτές τις ιδέες και να δαπανήσουν την προσπάθεια να δημιουργήσετε το XML γιαdatasets.xml, παίρνετε όλα τα πλεονεκτήματα τηςERDDAP™, συμπεριλαμβανομένων:
- Πλήρης αναζήτηση κειμένου για σύνολα δεδομένων
- Αναζήτηση συνόλων δεδομένων ανά κατηγορία
- Έντυπα πρόσβασης δεδομένων ( datasetID .html) έτσι μπορείτε να ζητήσετε ένα υποσύνολο δεδομένων σε πολλές διαφορετικές μορφές αρχείων
- Μορφές για την αίτηση γραφημάτων και χαρτών ( datasetID . γράφημα)
- Υπηρεσία Web Map (WMS) για τα πλέγματα σύνολα δεδομένων
- RESTfulπρόσβαση στα δεδομένα σας
Κάνοντας τοdatasets.xmlχρειάζεται σημαντική προσπάθεια για τα πρώτα σύνολα δεδομένων, αλλά γίνεται πιο εύκολο. . Μετά το πρώτο σύνολο δεδομένων, μπορείτε συχνά να επαναχρησιμοποιήσετε πολλά από τα έργα σας για το επόμενο σύνολο δεδομένων. Ευτυχώς,ERDDAP™έρχεται με δύοΕργαλείαγια να σας βοηθήσει να δημιουργήσετε το XML για κάθε σύνολο δεδομένων στοdatasets.xml. Αν κολλήσεις, δες μας.τμήμα για τη λήψη πρόσθετης υποστήριξης.
Παροχέας δεδομένων Μορφή
Όταν ένας πάροχος δεδομένων έρχεται σε σας ελπίζοντας να προσθέσετε κάποια δεδομένα σε σαςERDDAP, μπορεί να είναι δύσκολο και χρονοβόρο να συλλέξει όλα τα μεταδεδομένα (πληροφορίες σχετικά με το σύνολο δεδομένων) χρειάζεται να προσθέσετε το σύνολο δεδομένων στοERDDAP. Πολλές πηγές δεδομένων (για παράδειγμα, αρχεία .csv, Αρχεία Excel, βάσεις δεδομένων) δεν έχουν εσωτερικά μεταδεδομένα, έτσιERDDAP™διαθέτει έντυπο παροχής δεδομένων το οποίο συγκεντρώνει μεταδεδομένα από τον πάροχο δεδομένων και παρέχει στον πάροχο δεδομένων κάποια άλλη καθοδήγηση, συμπεριλαμβανομένης εκτεταμένης καθοδ ήγησης γιαΔεδομένα σε βάσεις δεδομένων. Οι πληροφορίες που υποβλήθηκαν μετατρέπονται σεdatasets.xmlμορφή και στη συνέχεια e-mail στοERDDAP™διαχειριστής (Εσύ) και γραμμένο (Προσαρτημένο) προς bigParentΚατάλογος /logs/dataProviderForm.log . Έτσι, η μορφή ημι-αυτόματη τη διαδικασία να πάρει ένα σύνολο δεδομένωνERDDAP, αλλά ηERDDAP™Ο διαχειριστής πρέπει ακόμη να ολοκληρώσει τοdatasets.xmlκομμάτι και να ασχοληθεί με την απόκτηση του αρχείου δεδομένων (α) από τον πάροχο ή τη σύνδεση με τη βάση δεδομένων.
Η υποβολή πραγματικών αρχείων δεδομένων από εξωτερικές πηγές είναι ένας τεράστιος κίνδυνος ασφάλειας, έτσιERDDAP™δεν ασχολείται με αυτό. Πρέπει να βρείτε μια λύση που να λειτουργεί για εσάς και τον πάροχο δεδομένων, για παράδειγμα, email (για μικρά αρχεία) , τραβήξτε από το σύννεφο (για παράδειγμα, DropBox ή Google Drive) , ένα σημείο sftp (με κωδικούς πρόσβασης) , ή sneaker Καθαρό (USB ή εξωτερικός σκληρός δίσκος) . Μάλλον πρέπει να δεχτείς αρχεία μόνο από ανθρώπους που ξέρεις. Θα πρέπει να σαρώσετε τα αρχεία για ιούς και να πάρετε άλλες προφυλάξεις ασφαλείας.
Δεν υπάρχει σύνδεσμος.ERDDAP™στο έντυπο Παρόχου Δεδομένων (για παράδειγμα,ERDDAP™Αρχική σελίδα) . Αντ 'αυτού, όταν κάποιος σας λέει ότι θέλουν να έχουν τα δεδομένα τους εξυπηρετούνται από σαςERDDAP, μπορείτε να τους στείλετε ένα email λέγοντας κάτι σαν: Ναι, μπορούμε να βάλουμε τα δεδομένα σας σεERDDAP. Για να ξεκινήσετε, παρακαλούμε συμπληρώστε το έντυπο στο https://yourUrl/erddap/dataProviderForm.html (ήhttp://εάνhttps://δεν είναι ενεργοποιημένο) . Μόλις τελειώσεις, θα επικοινωνήσω μαζί σου για να δω τις τελευταίες λεπτομέρειες. Αν θέλετε απλά να δείτε τη φόρμα (χωρίς να το συμπληρώσετε) , μπορείτε να δείτε το έντυπο στοERDΣERDDAP:Εισαγωγή,Μέρος 1,Μέρος 2,Μέρος 3, καιΜέρος 4. Αυτές οι συνδέσειςERD ERDDAP™να στείλετε πληροφορίες σε μένα, όχι σε σας, οπότε μην υποβάλετε πληροφορίες μαζί τους εκτός αν πραγματικά θέλετε να προσθέσετε δεδομένα στοERD ERDDAP.
Αν θέλετε να αφαιρέσετε τη φόρμα του Παρόχου Δεδομένων από τη φόρμα σαςERDDAP™, να πω
<dataProviderFormActive>false</dataProviderFormActive>
στο setup.xml αρχείο σας.
Η ώθηση για αυτό ήτανNOAA2014Πρόσβαση του κοινού στα Ερευνητικά Αποτελέσματα (ΠΑΡR) Οδηγία, η οποία απαιτεί ότι όλαNOAAτα περιβαλλοντικά δεδομένα που χρηματοδοτούνται μέσω δολαρίων φορολογουμένων διατίθενται μέσω υπηρεσίας δεδομένων (όχι μόνο αρχεία) μέσα σε 12 μήνες από τη δη μιουργία. Έτσι, υπάρχει αυξημένο ενδιαφέρον στη χρήσηERDDAP™να καθιστούν τα σύνολα δεδομένων διαθέσιμα μέσω μιας υπηρεσίας το συντομότερο δυνατόν. Χρειαζόμασταν έναν πιο αποτελεσματικό τρόπο για να αντιμετωπίσουμε έναν μεγάλο αριθμό παρόχων δεδομένων.
Ανατροφοδότηση/Προτάσεις; Αυτή η φόρμα είναι νέα, οπότε παρακαλώ στείλτε emailerd dot data at noaa dot govεάν έχετε οποιαδήποτε ανατροφοδότηση ή προτάσεις για τη βελτίωση αυτού.
Εργαλεία
ERDDAP™έρχεται με δύο προγράμματα γραμμής εντολών που είναι εργαλεία για να σας βοηθήσει να δημιουργήσετε το XML για κάθε σύνολο δεδομένων που θέλετεERDDAP™να υπηρετήσω. Μόλις στήσετεERDDAP™και να το τρέξεις (τουλάχιστον μία φορά) , μπορείτε να βρείτε και να χρησιμοποιήσετε αυτά τα προγράμματα στο τομκάτ /webapps/erddap/WEB-INF directory. Υπάρχουν σενάρια κελύφους Linux/Unix (με την επέκταση .sh) και σενάρια Windows (με την επέκταση . bat) για κάθε πρόγραμμα.\[Στο Linux, εκτελέστε αυτά τα εργαλεία με τον ίδιο χρήστη (Τομκατ;) που θα τρέξει Tomcat.\]Όταν τρέχετε κάθε πρόγραμμα, θα σας κάνει ερωτήσεις. Για κάθε ερώτηση, πληκτρολογήστε μια απάντηση, στη συνέχεια, πιέστε Enter. Ή πατήστε ^C για να βγείτε από ένα πρόγραμμα ανά πάσα στιγμή.
Το πρόγραμμα δεν θα τρέξει;
- Αν πάρετε ένα άγνωστο πρόγραμμα (ή παρόμοια) μήνυμα σφάλματος, το πρόβλημα είναι ότι το λειτουργικό σύστημα δεν μπόρεσε να βρειJava. Πρέπει να βρεις πού.Javaείναι στον υπολογιστή σας, στη συνέχεια, επεξεργαστείτε την αναφορά java στο αρχείο .bat ή .sh που προσπαθείτε να χρησιμοποιήσετε.
- Αν ένα αρχείο βάζου δεν βρέθηκε ή η κλάση δεν βρέθηκε μήνυμα σφάλματος, τότεJavaΔεν μπόρεσε να βρει ένα από τα μαθήματα που αναφέρονται στο .bat ή .sh αρχείο που προσπαθείτε να χρησιμοποιήσετε. Η λύση είναι να μάθετε πού είναι αυτό το αρχείο .jar, και να επεξεργαστείτε την αναφορά java σε αυτό στο αρχείο .bat ή .sh.
- Εάν χρησιμοποιείτε μια έκδοση τουJavaΑυτό είναι πολύ παλιό για ένα πρόγραμμα, το πρόγραμμα δεν θα τρέξει και θα δείτε ένα μήνυμα λάθους όπως
Εξαίρεση στο νήμα "κύριο" java.lang.Un supportedClassVersionError:
κάπ οια/κατηγορία/όνομα : Μη υποστηριζόμενη έκδοση major.minor αριθμός
Η λύση είναι να ενημερώσετε την πιο πρόσφατη έκδοση τουJavaκαι βεβαιωθείτε ότι το αρχείο .sh ή .bat για το πρόγραμμα το χρησιμοποιεί.
Τα εργαλεία εκτυπώνουν διάφορα διαγνωστικά μηνύματα:
- Η λέξη "ERROR" χρησιμοποιείται όταν κάτι πήγε τόσο στραβά που η διαδικασία απέτυχε να ολοκληρωθεί. Αν και είναι ενοχλητικό να πάρει ένα λάθος, το σφάλμα σας αναγκάζει να ασχοληθεί με το πρόβλημα.
- Η λέξη " προειδοποίηση" χρησιμοποιείται όταν κάτι πήγε στραβά, αλλά η διαδικασία ήταν σε θέση να ολοκληρωθεί. Αυτά είναι αρκετά σπάνια.
- Οτιδήποτε άλλο είναι απλά ένα ενημερωτικό μήνυμα. Μπορείτε να προσθέσετε \ verbose στοΔημιουργία συνόλων δεδομένωνXmlήΔΑΠγραμμή εντολών για να πάρει επιπλέον ενημερωτικά μηνύματα, η οποία μερικές φορές βοηθά στην επίλυση προβλημάτων.
Τα δύο εργαλεία είναι μεγάλη βοήθεια, αλλά και πάλι πρέπει να διαβάσετε όλες αυτές τις οδηγίες σε αυτή τη σελίδα προσεκτικά και να πάρετε σημαντικές αποφάσεις μόνοι σας.
Δημιουργία συνόλων δεδομένωνXml
- Δημιουργία συνόλων δεδομένωνXml είναι ένα πρόγραμμα γραμμής εντολών που μπορεί να δημιουργήσει ένα πρόχειρο προσχέδιο του συνόλου δεδομένων XML για σχεδόν οποιονδήποτε τύπο συνόλου δεδομένων.
Σας συνιστούμε να χρησιμοποιήσετε το GenerateDatasets Xml αντί για τη δημιουργία κομματιώνdatasets.xmlμε το χέρι επειδή:
- Δημιουργία συνόλων δεδομένων Το Xml λειτουργεί σε δευτερόλεπτα. Το να το κάνεις με το χέρι είναι δουλειά τουλάχιστον μιας ώρας, ακόμα και όταν ξέρεις τι κάνεις.
- Δημιουργία συνόλων δεδομένων Xml κάνει καλύτερη δουλειά. Αυτό με το χέρι απαιτεί εκτεταμένη γνώση του πώςERDDAP™Δουλεύει. Είναι απίθανο να κάνετε καλύτερη δουλειά με το χέρι. (Ο Bob Simons χρησιμοποιεί πάντα GenerateDatasets Xml για το πρώτο προσχέδιο, και έγραψεERDDAP.)
- Δημιουργία συνόλων δεδομένων Xml δημιουργεί πάντα ένα έγκυρο κομμάτι τουdatasets.xml. Κάθε κομμάτι τουdatasets.xmlότι θα γράψετε πιθανώς θα έχουν τουλάχιστον μερικά λάθη που εμποδίζουνERDDAP™από τη φόρτωση του συνόλου δεδομένων. Συχνά χρειάζονται ώρες για να διαγνωσθούν αυτά τα προβλήματα. Μην σπαταλάς τον χρόνο σου. Αφήστε τη δημιουργία Σύνολα δεδομένων Xml κάνει τη σκληρή δουλειά. Στη συνέχεια, μπορείτε να βελτιώσετε το .xml με το χέρι, αν θέλετε.
Όταν χρησιμοποιείτε το GenerateDatasets Πρόγραμμα Xml:
- Στα Windows, την πρώτη φορά που τρέχετε GenerateDatasetsXml, θα πρέπει να επεξεργαστείτε το αρχείο GenerateDatasetsXml.bat με έναν επεξεργαστή κειμένου για να αλλάξετε τη διαδρομή προς το java. exe αρχείο έτσι ώστε τα Windows να μπορούν να βρουνJava.
- Δημιουργία συνόλων δεδομένων Το Xml πρώτα σας ζητά να καθορίσετε τον τύπο EDD (Σύνολο δεδομένων Erd Dap Τύπος) του συνόλου δεδομένων. Δείτε τοΚατάλογος τύπων συνόλου δεδομένων (στο παρόν έγγραφο) για να καταλάβω ποιος τύπος είναι κατάλληλος για το σύνολο δεδομένων πάνω στο οποίο εργάζεστε. Εκτός από τα κανονικά EDDTypes, υπάρχουν και μερικάΕιδικοί τύποι συνόλου δεδομένων/Pseudo (Π.χ., ένα που σέρνεται ένας κατάλογος THREDDS για να δημιουργήσει ένα κομμάτι τουdatasets.xmlγια καθένα από τα σύνολα δεδομένων του καταλόγου) .
- Δημιουργία συνόλων δεδομένων Xml τότε σας κάνει μια σειρά από ερωτήσεις συγκεκριμένες σε αυτό το EDDType. Οι ερωτήσεις συγκεντρώνουν τις πληροφορίες που απαιτούνται γιαERDDAP™για πρόσβαση στην πηγή του συνόλου δεδομένων. Για να καταλάβω τιERDDAP™ζητά, δείτε την τεκμηρίωση για το EDDType που ορίσατε κάνοντας κλικ στον ίδιο τύπο συνόλου δεδομένων στοΚατάλογος τύπων συνόλου δεδομένων.
Αν χρειάζεται να εισάγετε μια συμβολοσειρά με ειδικούς χαρακτήρες (π.χ. χαρακτήρες λευκού χώρου στην αρχή ή στο τέλος, χαρακτήρες μη ASCII) , εισάγεται ασυμβολοσειρά τύπου JSON (με ειδικούς χαρακτήρες δραπέτευσαν με χαρακτήρες \) . Για παράδειγμα, για να εισάγετε μόνο ένα χαρακτήρα καρτέλα, εισάγετε "\t" (με τα γύρω διπλά εισαγωγικά, που λένεERDDAP™ότι αυτό είναι μια χορδή τύπου JSON.
- Συχνά, μία από τις απαντήσεις σας δεν θα είναι αυτό που χρειάζεται η GenerateDatasetsXml. Στη συνέχεια, μπορείτε να δοκιμάσετε ξανά, με αναθεωρημένες απαντήσεις στις ερωτήσεις, μέχρι GenerateDatasets Το Xml μπορεί με επιτυχία να βρει και να κατανοήσει τα δεδομένα πηγής.
- Αν απαντήσετε στις ερωτήσεις σωστά (ή αρκετά σωστά) , Δημιουργία συνόλων δεδομένων Το Xml θα συνδεθεί στην πηγή του συνόλου δεδομένων και θα συγκεντρώσει βασικές πληροφορίες (για παράδειγμα, ονόματα μεταβλητών και μεταδεδομένα) . Για σύνολα δεδομένων που προέρχονται από τοπικάNetCDF .ncκαι σχετικά αρχεία, GenerateDatasets Το Xml θα εκτυπώσει συχνά τη δομή που μοιάζει με το ncdump του αρχείου μετά την πρώτη ανάγνωση του αρχείου. Αυτό μπορεί να σας δώσει πληροφορίες για να απαντήσετε καλύτερα στις ερωτήσεις σε έναν επόμενο βρόχο μέσω GenerateDatasetsXml.
- Δημιουργία συνόλων δεδομένων Το Xml θα δημιουργήσει στη συνέχεια ένα πρόχειρο προσχέδιο του συνόλου δεδομένων XML για αυτό το σύνολο δεδομένων.
- Οι διαγνωστικές πληροφορίες και το πρόχειρο προσχέδιο του συνόλου δεδομένων XML θα γραφτούν στο bigParentΚατάλογος /logs/GenerateDatasetsXml.log .
- Το πρόχειρο σχέδιο του συνόλου δεδομένων XML θα γραφτεί στο bigParentΚατάλογος /logs/GenerateDatasetsXml.out .
"0 αρχεία" Μήνυμα σφάλματος
Αν τρέξετε δημιουργήστε σύνολα δεδομένων Xml ήΔΑΠ, ή αν προσπαθήσετε να φορτώσετεEDDGridΑπό...Αρχεία ή EDDTableFrom... Σύνολο δεδομένων αρχείωνERDDAP™, και μπορείτε να πάρετε ένα "0 αρχεία" μήνυμα σφάλματος που δείχνει ότιERDDAP™βρέθηκε 0 ταίριασμα αρχείων στον κατάλογο (όταν νομίζετε ότι υπάρχουν αρχεία που ταιριάζουν σε αυτόν τον κατάλογο) :
-
Ελέγξτε ότι έχετε καθορίσει το πλήρες όνομα του καταλόγου. Και αν ορίσατε το όνομα του αρχείου δείγματος, βεβαιωθείτε ότι ορίσατε το πλήρες όνομα του αρχείου, συμπεριλαμβανομένου του πλήρους ονόματος καταλόγου.
-
Ελέγξτε ότι τα αρχεία είναι πραγματικά σε αυτόν τον κατάλογο.
-
Ελέγξτε την ορθογραφία του ονόματος καταλόγου.
-
Ελέγξτε το αρχείοNameRegex. Είναι πολύ εύκολο να κάνεις λάθη με τους Ρέγκες. Για δοκιμαστικούς σκοπούς, δοκιμάστε το regex .\* το οποίο θα πρέπει να ταιριάζει με όλα τα ονόματα αρχείων. (Δες αυτό.τεκμηρίωση regexκαιregex φροντιστήριο.)
-
Ελέγξτε ότι ο χρήστης που τρέχει το πρόγραμμα (π.χ., user=tomcat (♪ ♪) για το Tomcat/ERDDAP) έχει "διαβάστε" άδεια για αυτά τα αρχεία.
-
Σε ορισμένα λειτουργικά συστήματα (για παράδειγμα, SELinux) και ανάλογα με τις ρυθμίσεις του συστήματος, ο χρήστης που έτρεξε το πρόγραμμα πρέπει να έχει «διαβασμένη» άδεια για όλη την αλυσίδα καταλόγων που οδηγεί στον κατάλογο που έχει τα αρχεία.
-
Αν έχεις προβλήματα που δεν μπορείς να λύσεις,αίτηση υποστήριξηςμε όσο το δυνατόν περισσότερες πληροφορίες. Ομοίως, αν φαίνεται ότι ο κατάλληλος τύπος EDDType για ένα δεδομένο σύνολο δεδομένων δεν λειτουργεί με αυτό το σύνολο δεδομένων, ή αν δεν υπάρχει κατάλληλο EDDType, παρακαλούμε να υποβάλετε έναθέμα για το GitHubμε τις λεπτομέρειες (και ένα αρχείο δείγματος, κατά περίπτωση) .
Πρέπει να επεξεργαστείτε την έξοδο από το GenerateDatasets Xml για να το κάνει κ αλύτερο.
-
Εντάξει. Ο ΤΣΟΥΝΚ ΤΗΣdatasets.xmlΕΓΚΑΤΑΣΤΑΣΗ Δημιουργία συνόλων δεδομένων Xml δεν είναι τέλεια. Πρέπει να διαβάσεις και να εκδόσεις το XML πριν το χρησιμοποιήσεις σε ένα κοινό.ERDDAP. Δημιουργία συνόλων δεδομένων Το Xml δεν είναι πάντα σωστό. Είστε υπεύθυνοι για την εξασφάλιση της ορθότητας του XML που προσθέτετεERDDAPΣdatasets.xmlΦΙΛ.
(Δεν φωνάζω. Για ιστορικούς νομικούς λόγους, οι αποκηρύξεις πρέπει να γράφονται σε όλα τα κεφαλαία.)
Η παραγωγή του GenerateDatasetsXml είναι ένα πρόχειρο σχέδιο. Θα πρέπει σχεδόν πάντα να το επεξεργαστείτε. Έχουμε κάνει και συνεχίζουμε να κάνουμε μια τεράστια προσπάθεια να κάνουμε την παραγωγή όσο πιο έτοιμη γίνεται, αλλά υπάρχουν όρια. Συχνά, οι απαραίτητες πληροφορίες απλά δεν είναι διαθέσιμες από τα μεταδεδομένα πηγής.
Ένα θεμελιώδες πρόβλημα είναι ότι ζητάμε ένα πρόγραμμα υπολογιστών. (Δημιουργία συνόλων δεδομένωνXml) να κάνεις μια εργασία όπου, αν έδινες την ίδια εργασία σε 100 άτομα, θα είχες 100 διαφορετικά αποτελέσματα. Δεν υπάρχει ενιαία "δεξιά" απάντηση. Προφανώς, το πρόγραμμα πλησιάζει στο να διαβάσει το μυαλό του Μπομπ. (Όχι δική σου.) Αλλά ακόμα κι έτσι, δεν είναι ένα καταπληκτικό πρόγραμμα τεχνητής νοημοσύνης, απλά ένα μάτσο εφοριακοί λιθοβολούσαν μαζί για να κάνουν μια εργασία σαν τεχνητή νοημοσύνη. (Μπορεί να έρθει εκείνη η μέρα ενός προγράμματος τεχνητής νοημοσύνης, αλλά όχι ακόμα. Αν το κάνει, εμείς οι άνθρωποι μπορεί να έχουμε μεγαλύτερα προβλήματα. Πρόσεχε τι εύχεσαι.)
-
Για ενημερωτικούς σκοπούς, η έξοδος εμφανίζει την παγκόσμια πηγή Χαρακτηριστικά και μεταβλητή πηγή Χαρακτηριστικά ως σχόλια.ERDDAP™συνδυάζει τα χαρακτηριστικά πηγής καιaddAttributes (που έχουν προτεραιότητα) για να κάνει το συνδυασμένο Χαρακτηριστικά που εμφανίζονται στο χρήστη. (Και άλλα χαρακτηριστικά προστίθενται αυτόματα στο γεωγραφικό μήκος, γεωγραφικό πλάτος, υψόμετρο, βάθος και χρονικές μεταβλητές ότανERDDAP™πραγματικά κάνει το σύνολο δεδομένων) .
-
Αν δεν σας αρέσει μια πηγήAttribute, την αντικατάσταση με την προσθήκη ενός addAttribute με το ίδιο όνομα αλλά μια διαφορετική τιμή (ή καμία αξία, αν θέλετε να την αφαιρέσετε) .
-
ΌλαaddAttributesείναι προτάσεις που δημιουργούνται από υπολογιστή. Επεξεργαστείτε τους! Αν δεν σου αρέσει ένα πρόσθετο χαρακτηριστικό, άλλαξε το.
-
Αν θέλετε να προσθέσετε άλλοaddAttributes, πρόσθεσέ τα.
-
Εάν θέλετε να αλλάξετε έναdestinationName'λλαξε το. Αλλά μην αλλάξεις.sourceNameΣ.
-
Μπορείτε να αλλάξετε τη σειρά τουdataVariableιπ ή αφαιρέστε οποιοδήποτε από αυτά.
- Μπορείτε να χρησιμοποιήσετεΔΑΠ (Βλέπε παρακάτω) να ελέγξει επανειλημμένα το XML για το σύνολο δεδομένων ώστε να εξασφαλιστεί ότι το σύνολο δεδομένων που προκύπτει εμφανίζεται όπως θέλετε να στοERDDAP.
- Μη διστάσετε να κάνετε μικρές αλλαγές στοdatasets.xmlκομμάτι που δημιουργήθηκε, για παράδειγμα, παρέχει μια καλύτερηinfoUrl, περίληψη ή τίτλος.
μη προσθήκη προτύπωνNames
Αν συμπεριλαμβάνετε \- DoNotAddStandardNames ως παράμετρο γραμμής εντολών όταν τρέχετε δημιουργήστε Σύνολα δεδομένων Xml, δημιουργία Σύνολα δεδομένων Το Xml δεν θα προσθέσειstandard\_nameστοaddAttributesγια οποιεσδήποτε μεταβλητές εκτός των μεταβλητών με την ονομασία γεωγραφικό πλάτος, γεωγραφικό μήκος, υψόμετρο, βάθος ή χρόνος (που έχουν προφανήstandard\_nameα) . Αυτό μπορεί να είναι χρήσιμο αν χρησιμοποιείτε την έξοδο από τη δημιουργία Σύνολα δεδομένων Xml απευθείας σεERDDAP™χωρίς επεξεργασία της εξόδου, επειδή παράγουν Σύνολα δεδομένων Xml συχνά μαντεύειstandard\_nameλάθος. (Σημειώστε ότι σας συνιστούμε πάντα να επεξεργαστείτε την έξοδο πριν τη χρήση τηςERDDAP.) Χρησιμοποιώντας αυτή την παράμετρο θα έχουν άλλα ελάσσονα συναφή αποτελέσματα, επειδή η εικαζόμενηstandard\_nameχρησιμοποιείται συχνά για άλλους σκοπούς, π.χ. για τη δημιουργία ενός νέουlong\_name, και να δημιουργήσετε τις ρυθμίσεις της μπάρας χρώματος.
Σενάριο
Ως εναλλακτική λύση για την απάντηση των ερωτήσεων διαδραστικά στο πληκτρολόγιο και βρόχο για τη δημιουργία πρόσθετων συνόλων δεδομένων, μπορείτε να παράσχετε επιχειρήματα γραμμής εντολών για να απαντήσετε σε όλες τις ερωτήσεις για τη δημιουργία ενός συνόλου δεδομένων. Δημιουργία συνόλων δεδομένων Το Xml θα επεξεργαστεί αυτές τις παραμέτρους, θα γράψει την έξοδο στο αρχείο εξόδου και θα βγει από το πρόγραμμα.
Για να το ρυθμίσετε αυτό, χρησιμοποιήστε πρώτα το πρόγραμμα σε διαδραστική λειτουργία και γράψτε τις απαντήσεις σας. Να ένα μερικό παράδειγμα: Ας πούμε ότι τρέχετε το σενάριο: ./GenerateDatasetsXml.sh Στη συνέχεια, εισάγετε: EDDTableFromAsciiFiles Στη συνέχεια εισάγετε: /u00/data/ Στη συνέχεια, εισάγετε: . . . . . . asc Στη συνέχεια εισάγετε: /u00/data/sampleFile.asc Στη συνέχεια εισάγετε: ISO-8859-1
Για να εκτελέσετε αυτό με μη διαδραστικό τρόπο, χρησιμοποιήστε αυτή τη γραμμή εντολών: ./GenerateDatasetsXml.sh EDDTableFromAsciiFiles /u00/data/ .*\....cccc /u00/data/sampleFile.asc ISO-8859-1 Βασικά, απαριθμείς όλες τις απαντήσεις στη γραμμή εντολών. Αυτό θα πρέπει να είναι χρήσιμο για σύνολα δεδομένων που αλλάζουν συχνά με τρόπο που απαιτεί την επανάληψη της λειτουργίας GenerateDatasets Xml (κυρίωςEDDGridΑπό ThreddsCatalog) .
Λεπτομέρειες:
- Εάν μια παράμετρος περιέχει ένα χώρο ή κάποιο ιδιαίτερο χαρακτήρα, τότε κωδικοποιήστε την παράμετρο ωςσυμβολοσειρά τύπου JSON, π.χ., "η παράμετρος μου με κενά και δύο\nγραμμές".
- Αν θέλετε να καθορίσετε μια κενή συμβολοσειρά ως παράμετρο, χρησιμοποιήστε: τίποτα
- Αν θέλετε να καθορίσετε την προκαθορισμένη τιμή μιας παράμετρου, χρησιμοποιήστε:
- Δημιουργία συνόλων δεδομένων Xml υποστηρίζει a -i σύνολα δεδομένων XmlName # ετικέταName παράμετρος γραμμής εντολών που εισάγει την έξοδο στην καθορισμένηdatasets.xmlαρχείο (το προκαθορισμένο είναι τομκάτ /περιεχόμενο/μερίδιο/datasets.xml) . Δημιουργία συνόλων δεδομένων Xml ψάχνει για δύο γραμμές σε σύνολα δεδομένων XmlName:
<!-- Begin GenerateDatasetsXml #*tagName someDatetime* -->
και
<!-- End GenerateDatasetsXml #*tagName someDatetime* -->
και αντικαθιστά τα πάντα μεταξύ αυτών των γραμμών με το νέο περιεχόμενο, και αλλάζει το someDatetime.
- Ο διακόπτης -i είναι μόνο επεξεργασμένος (και αλλαγές σεdatasets.xmlγίνονται μόνο) αν εκτελέσετε το GenerateDatasets Xml με τις παραμέτρους γραμμής εντολών που καθορίζουν όλες τις απαντήσεις σε όλες τις ερωτήσεις για ένα βρόχο του προγράμματος. (Βλέπε 'Scripting' παραπάνω.) (Η σκέψη είναι: Αυτή η παράμετρος είναι για χρήση με σενάρια. Εάν χρησιμοποιείτε το πρόγραμμα σε διαδραστική λειτουργία (πληκτρολογώντας πληροφορίες στο πληκτρολόγιο) , είναι πιθανό να δημιουργήσετε κάποια λανθασμένα κομμάτια XML πριν δημιουργήσετε αυτό που θέλετε.)
- Αν δεν βρεθούν οι γραμμές έναρξης και λήξης, τότε οι γραμμές και το νέο περιεχόμενο εισάγονται ακριβώς πριν</erddapDatasets>.
- Υπάρχει επίσης ένα -I (Κεφάλαιο i) διακόπτης για σκοπούς δοκιμής που λειτουργεί το ίδιο με -i, αλλά δημιουργεί ένα αρχείο που ονομάζεταιdatasets.xml Ώρα ημερομηνίας και δεν κάνει αλλαγές σεdatasets.xml.
- Μην τρέχετε GenerateDatasets Xml με -i σε δύο διαδικασίες ταυτόχρονα. Υπάρχει πιθανότητα να διατηρηθεί μόνο ένα σύνολο αλλαγών. Μπορεί να υπάρξουν σοβαρά προβλήματα. (για παράδειγμα, αλλοιωμένα αρχεία) .
Εάν χρησιμοποιείτε "GenerateDatasetsXml -verbose", θα εκτυπώσει περισσότερα διαγνωστικά μηνύματα από το συνηθισμένο.
Ειδικοί τύποι συνόλου δεδομένων/Pseudo
Γενικά, οι επιλογές EDDType στα σύνολα GenerateDatasets Ταίριασμα Xml των τύπων EDD που περιγράφονται σε αυτό το έγγραφο (Δείτε τοΚατάλογος τύπων συνόλου δεδομένων) και παράγουν έναdatasets.xmlκομμάτι για να δημιουργήσετε ένα σύνολο δεδομένων από μια συγκεκριμένη πηγή δεδομένων. Υπάρχουν μερικές εξαιρέσεις και ειδικές περιπτώσεις:
EDDGridΑπό τοErddap
Αυτός ο τύπος EDD παράγει όλα ταdatasets.xmlκομμάτια που απαιτούνται για την κατασκευήEDDGridΑπό τοErddapσύνολα δεδομένων από όλα ταEDDGridσύνολα δεδομένων σε τηλεχειριστήριοERDDAP. Θα έχετε τη δυνατότητα να κρατήσετε το αρχικόdatasetIDα (η οποία μπορεί να αναπαράγει κάποιαdatasetIDήδη στοERDDAP) ή δημιουργία νέων ονομάτων που θα εί ναι μοναδικές (Αλλά συνήθως δεν είναι τόσο αναγνώσιμα.) .
EDD TableFromErddap
Αυτός ο τύπος EDD παράγει όλα ταdatasets.xmlκομμάτια που απαιτούνται για την κατασκευήEDD TableFromErddapσύνολα δεδομένων από όλα τα σύνολα δεδομένων EDDTable σε ένα απομακρυσμένοERDDAP. Θα έχετε τη δυνατότητα να κρατήσετε το αρχικόdatasetIDα (η οποία μπορεί να αναπαράγει κάποιαdatasetIDήδη στοERDDAP) ή δημιουργία νέων ονομάτων που θα είναι μοναδικές (Αλλά συνήθως δεν είναι τόσο αναγνώσιμα.) .
EDDGridΑπό ThreddsCatalog
Αυτός ο τύπος EDD παράγει όλα ταdatasets.xmlκομμάτια που απαιτούνται για όλα ταEDDGridΑπό το Νταπσύνολα δεδομένων που μπορεί να βρει έρποντας αναδρομικά μέσω ενός thresedds (ΥΠΟ) Κατάλογος. Υπάρχουν πολλές μορφές των URL καταλόγου THREDDS. Αυτή η επιλογή απαιτεί ένα URL ΤΡΕΙΣ .xml με /catalog/ σε αυτό, για παράδειγμα,
https://oceanwatch.pfeg.noaa.gov/thredds/catalog/catalog.xml ή
https://oceanwatch.pfeg.noaa.gov/thredds/catalog/Satellite/aggregsatMH/chla/catalog.xml
(ένας σχετικός κατάλογος .html είναι σε
https://oceanwatch.pfeg.noaa.gov/thredds/Satellite/aggregsatMH/chla/catalog.html , η οποία δεν είναι αποδεκτή γιαEDDGridΑπό ThreddsCatalog).
Εάν έχετε προβλήματα μεEDDGridΑπό Thredds Κατάλογος:
- Βεβαιωθείτε ότι το URL που χρησιμοποιείτε είναι έγκυρο, περιλαμβάνει /catalog /, και τελειώνει με /catalog.xml .
- Εάν είναι δυνατόν, χρησιμοποιήστε μια δημόσια διεύθυνση IP (για παράδειγμα, https://oceanwatch.pfeg.noaa.gov ) στο URL, όχι μια τοπική αριθμητική διεύθυνση IP (για παράδειγμα, https://12.34.56.78 ) . Εάν το THREDDS είναι προσβάσιμο μόνο μέσω της τοπικής αριθμητικής διεύθυνσης IP, μπορείτε να χρησιμοποιήσετε [<μετατροπή σε PublicSourceUrl>] (#μετατροπή σε δημόσια πηγή) Οπότε...ERDDAP™οι χρήστες βλέπουν τη δημόσια διεύθυνση, παρόλο πουERDDAP™παίρνει δεδομένα από την τοπική αριθμητική διεύθυνση.
- Αν έχεις προβλήματα που δεν μπορείς να λύσεις,ελέγξτε τις συμβουλές αντιμετώπισης προβλημάτων.
- Ο κώδικας χαμηλού επιπέδου για αυτό χρησιμοποιεί τώραUnidataκωδικός καταλόγου netcdf-java (Τριάντα. Κατηγορίες καταλόγου) Έτσι ώστε να μπορεί να χειριστεί όλους τους καταλόγους THREDDS (που μπορεί να είναι εκπληκτικά περίπλοκο) Χάρη στηνUnidataγια τον κώδικα.
EDDGridLonPM180Από το ErddapCatalog
Αυτός ο τύπος EDD παράγει τοdatasets.xmlνα κάνειEDDGridLonPM180σύνολα δεδομένων από όλα ταEDDGridσύνολα δεδομένωνERDDAPπου έχουν τιμές γεωγραφικού μήκους μεγαλύτερες από 180.
- Εάν είναι δυνατόν, χρησιμοποιήστε μια δημόσια διεύθυνση IP (για παράδειγμα, https://oceanwatch.pfeg.noaa.gov ) στο URL, όχι μια τοπική αριθμητική διεύθυνση IP (για παράδειγμα, https://12.34.56.78 ) . Εάν ηERDDAP™είναι προσβάσιμο μόνο μέσω της τοπικής αριθμητικής διεύθυνσης IP, μπορείτε να χρησιμοποιήσετε [<μετατροπή σε PublicSourceUrl>] (#μετατροπή σε δημόσια πηγή) Οπότε...ERDDAP™οι χρήστες βλέπουν τη δημόσια διεύθυνση, παρόλο πουERDDAP™παίρνει δεδομένα από την τοπική αριθμητική διεύθυνση.
EDDGridLon0360Από το ErddapCatalog
Αυτός ο τύπος EDD παράγει τοdatasets.xmlνα κάνειEDDGridΛον0360σύνολα δεδομένων από όλα ταEDDGridσύνολα δεδομένωνERDDAPπου έχουν τιμές γεωγραφικού μήκους μικρότερες του 0.
- Εάν είναι δυνατόν, χρησιμοποιήστε μια δημόσια διεύθυνση IP (για παράδειγμα, https://oceanwatch.pfeg.noaa.gov ) στο URL, όχι μια τοπική αριθμητική διεύθυνση IP (για παράδειγμα, https://12.34.56.78 ) . Εάν ηERDDAP™είναι προσβάσιμο μόνο μέσω της τοπικής αριθμητικής διεύθυνσης IP, μπορείτε να χρησιμοποιήσετε [<μετατροπή σε PublicSourceUrl>] (#μετατροπή σε δημόσια πηγή) Οπότε...ERDDAP™οι χρήστες βλέπουν τη δημόσια διεύθυνση, παρόλο πουERDDAP™παίρνει δεδομένα από την τοπική αριθμητική διεύθυνση.
EDDs από αρχεία
Με δεδομένο έναν κατάλογο εκκίνησης, αυτό διασχίζει τον κατάλογο και όλους τους υποκαταλόγους και προσπαθεί να δημιουργήσει ένα σύνολο δεδομένων για κάθε ομάδα αρχείων δεδομένων που βρίσκει.
- Αυτό προϋποθέτει ότι όταν βρεθεί ένα σύνολο δεδομένων, το σύνολο δεδομένων περιλαμβάνει όλους τους υποκαταλόγους.
- Εάν βρεθεί ένα σύνολο δεδομένων, παρόμοιοι κατάλογοι αδελφών θα αντιμετωπίζονται ως ξεχωριστά σύνολα δεδομένων (Για παράδειγμα, οι κατάλογοι της δεκαετίας του 1990, της δεκαετίας του 2000, της δεκαετίας του 2010, θα δημιουργήσουν ξεχωριστά σύνολα δεδομένων) . Θα πρέπει να είναι εύκολο να συνδυαστούν με το χέρι -- απλά αλλάξτε το πρώτο σύνολο δεδομένων<αρχείοDir> στον μητρικό κατάλογο και να διαγράψετε όλα τα επόμενα σύνολα δεδομένων αδελφών.
- Αυτό θα προσπαθήσει μόνο να δημιουργήσει ένα κομμάτι τουdatasets.xmlγια τον πιο κοινό τύπο επέκτασης αρχείου σε έναν κατάλογο (χωρίς μέτρηση .md5, η οποία αγνοείται) . Έτσι, δίνεται ένας κατάλογος με 10.ncαρχεία και 5 .txt αρχεία, ένα σύνολο δεδομένων θα δημιουργηθεί για το.ncΜόνο αρχεία.
- Αυτό υποθέτει ότι όλα τα αρχεία σε έναν κατάλογο με την ίδια επέκταση ανήκουν στο ίδιο σύνολο δεδομένων. Αν ένας κατάλογος έχει κάποια.ncαρχεία με δεδομένα SST και μερικά.ncαρχεία με δεδομένα χλωροφύλλης, μόνο ένα δείγμα.ncΤο αρχείο θα διαβαστεί (ΣΣΤ; χλωροφύλλη;) και μόνο ένα σύνολο δεδομένων θα δημιουργηθεί για αυτόν τον τύπο αρχείου. Αυτό το σύνολο δεδομένων πιθανότατα θα αποτύχει να φορτώσει λόγω επιπλοκών από την προσπάθεια φόρτωσης δύο τύπων αρχείων στο ίδιο σύνολο δεδομένων.
- Αν υπάρχουν λιγότερα από 4 αρχεία με την πιο κοινή επέκταση σε έναν κατάλογο, αυτό υποθέτει ότι δεν είναι αρχεία δεδομένων και απλά παραλείπει τον κατάλογο.
- Αν υπάρχουν 4 ή περισσότερα αρχεία σε έναν κατάλογο, αλλά αυτό δεν μπορεί να δημιουργήσει με επιτυχία ένα κομμάτι τουdatasets.xmlγια τα αρχεία (για παράδειγμα, ένας μη υποστηριζόμενος τύπος αρχείου) , αυτό θα δημιουργήσειΠίνακας EDD από αρχείοNamesσύνολο δεδομένων για τα αρχεία.
- Στο τέλος των διαγνωστικών ότι αυτό γράφει στο αρχείο καταγραφής, λίγο πριν από τηνdatasets.xmlκομμάτια, αυτό θα εκτυπώσει ένα πίνακα με μια περίληψη των πληροφοριών που συλλέγονται διασχίζοντας όλα τα υποκαταστήματα. Ο πίνακας θα απαριθμήσει κάθε υποκατάλογο και θα αναφέρει τον πιο κοινό τύπο επέκτασης αρχείου, τον συνολικό αριθμό αρχείων, και ποιος τύπος συνόλου δεδομένων δημιουργήθηκε για αυτά τα αρχεία (εάν υπάρχουν) . Εάν αντιμετωπίζετε μια πολύπλοκη, βαθιά φωλιασμένη δομή αρχείων, σκεφτείτε να εκτελέσετε GenerateDatasets Xml με EDDType=EDDsFromFiles απλά για να δημιουργήσετε αυτές τις πληροφορίες,
- Αυτή η επιλογή μπορεί να μην κάνει μια μεγάλη δουλειά μαντεύοντας το καλύτερο EDDType για μια δεδομένη ομάδα αρχείων δεδομένων, αλλά είναι γρήγορη, εύκολη, και αξίζει μια δοκιμή. Εάν τα αρχεία πηγαίου κώδικα είναι κατάλληλα, λειτουργεί καλά και είναι ένα καλό πρώτο βήμα για τη δημιουργία τουdatasets.xmlγια ένα σύστημα αρχείων με πολλά υποκαταστήματα, το καθένα με αρχεία δεδομένων από διαφορετικά σύνολα δεδομένων.
Πίνακας EDDFromEML και πίνακας EDDFromEMLBatch
Αυτά τα ειδικά EDDType παράγει τοdatasets.xmlγια να κάνει έναΠίνακας EDD από αρχεία Asciiσύνολο δεδομένων από κάθε πίνακα που περιγράφεται σε έναΟικολογικά μεταδεδομένα ΓλώσσαΑρχείο XML. Η "Batch" παραλλαγή λειτουργεί σε όλα τα αρχεία EML σε έναν τοπικό ή απομακρυσμένο κατάλογο. Παρακαλώ δείτε το ξεχωριστότεκμηρίωση για τον πίνακα EDDFromEML.
Πίνακας EDD από τη θύρα
Αυτό το ειδικό EDDType παράγει τοdatasets.xmlγια να κάνει έναΠίνακας EDD από αρχεία Asciiσύνολο δεδομένων από τις πληροφορίες σεInport- xmlΑρχείο. Αν μπορείτε να αποκτήσετε πρόσβαση στο πηγαίο αρχείο δεδομένων (το αρχείο inport-xml θα πρέπει να έχει στοιχεία για το πού να το βρείτε) , μπορείτε να κάνετε ένα σύνολο δεδομένων εργασίας σεERDDAP.
Τα ακόλουθα βήματα περιγράφουν πώς να χρησιμοποιήσετε το GenerateDatasets Xml με ένα αρχείο inport-xml για να πάρετε ένα σύνολο δεδομένων εργασίαςERDDAP.
- Μόλις έχετε πρόσβαση στο αρχείο inport-xml (είτε ως URL είτε ως τοπικό αρχείο) : εκτελέστε GenerateDatasets Xml, προσδιορίστε EDDType=EDDTableFromInPort, προσδιορίστε το URL inport-xml ή το πλήρες όνομα αρχείου, προσδιορίστε ποια Child=0, και προσδιορίστε τις άλλες ζητούμενες πληροφορίες (εάν είναι γνωστό) . (Σε αυτό το σημείο, δεν χρειάζεται να έχετε το αρχείο πηγαίων δεδομένων ή να καθορίσετε το όνομά του.) Η ρύθμιση child=0 λέει GenerateDatasets Xml για να γράψετε τις πληροφορίες για όλα της<οντότητα-απόδοση-πληροφορίες><οντότητα> είναι στο αρχείο inport-xml (εάν υπάρχουν) . Επίσης, εκτυπώνει μια σύνοψη πληροφοριών ιστορικού, συμπεριλαμβανομένων όλων των download-url που αναφέρονται στο αρχείο inport-xml.
- Κοίτα όλες αυτές τις πληροφορίες. (συμπεριλαμβανομένων των πληροφοριών ιστορικού που δημιουργούν σύνολα δεδομένων Εκτύπωση Xml) και να επισκεφθείτε το download-url (α) προκειμένου να προσπαθήσουμε να βρούμε το αρχείο πηγαίων δεδομένων (α) . Αν μπορείς να το βρεις (τους) , κατέβασέ το (τους) σε έναν κατάλογο που είναι προσβάσιμος σεERDDAP. (Αν δεν μπορείτε να βρείτε αρχεία πηγαίων δεδομένων, δεν υπάρχει λόγος να προχωρήσουμε.)
- Εκτέλεση δημιουργίας Σύνολα δεδομένων Xml και πάλι. Εάν το αρχείο πηγαίων δεδομένων αντιστοιχεί σε ένα από τα αρχεία inport-xml<οντότητα-απόδοση-πληροφορίες><οντότητα>, προσδιορίστε ποιο παιδί= ότι ο αριθμός Entity (π.χ. 1, 2, 3, ...) .ERDDAP™θα προσπαθήσει να ταιριάξει τα ονόματα στήλης στο αρχείο πηγαίων δεδομένων με τα ονόματα στις πληροφορίες της οντότητας, και να προτρέψει να αποδεχθεί / απορρίψει / διορθώσει τυχόν αποκλίσεις. Ή, αν το αρχείο inport-xml δεν έχει καμία<οντότητα-απόδοση-πληροφορίες><οντότητα>, προσδιορίστε ποιο παιδί=0.
- Στο κομμάτι τουdatasets.xmlπου έγινε από το GenerateDatasets Xml, αναθεώρηση της [παγκόσμια<addAttributes>] (#Παγκόσμια χαρακτηριστικά) όπως απαιτείται/επιθυμείται.
- Στο κομμάτι τουdatasets.xmlπου έγινε από GenerateDatasetsXml, add/ revise το [<dataVariable>] (#μεταβλητή δεδομένων) πληροφορίες που απαιτούνται/επιθυμούν να περιγράψουν καθεμία από τις μεταβλητές. Βεβαιωθείτε ότι αναγνωρίζετε σωστά κάθε μεταβλητή [<sourceName>] (#όνομα πηγής) (όπως εμφανίζεται στην πηγή) , [<destinationName>] (#Όνομα προορισμού) (που έχει περισσότερους περιορισμούς στους επιτρεπόμενους χαρακτήρες απόsourceName) , [<μονάδες>] (#μ ονάδες) (ιδιαίτερα εάν πρόκειται γιαμεταβλητή χρόνου ή χρονοσφραγίδαςόπου οι μονάδες πρέπει να προσδιορίσουν το μορφότυπο) , και [<missing\value>] (#λείπει αξία) ,
- Όταν είστε κοντά στο φινίρισμα, χρησιμοποιήστε επανειλημμένα τοΔΑΠεργαλείο για να δείτε γρήγορα αν η περιγραφή συνόλου δεδομένων είναι έγκυρη και αν το σύνολο δεδομένων θα εμφανιστεί στοERDDAP™Όπως θέλεις.
Θα ήταν υπέροχο αν ομάδες που χρησιμοποιούν το InPort για να τεκμηριώσουν τα σύνολα δεδομένων τους θα χρησιμοποιούσαν επίσηςERDDAP™να καταστούν διαθέσιμα τα πραγματικά δεδομένα:
- ERDDAP™είναι μια λύση που μπορεί να χρησιμοποιηθεί αυτή τη στιγμή ώστε να μπορείτε να εκπληρώσετεNOAAΣΠρόσβαση του κοινού στα Ερευνητικά Αποτελέσματα (ΠΑΡR) ΑπαιτήσειςΑυτή τη στιγμή, όχι σε κάποια ασαφή στιγμή στο μέλλον.
- ERDDAP™καθιστά τα πραγματικά δεδομένα διαθέσιμα στους χρήστες, όχι μόνο τα μεταδεδομένα. (Τι καλό έχουν τα μεταδεδομένα χωρίς δεδομένα;)
- ERDDAP™υποστηρίζει μεταδεδομένα (Ειδικότερα, οι μονάδες μεταβλητών) , σε αντίθεση με κάποιο άλλο λογισμικό δια κομιστή δεδομένων που εξετάζεται. (Τι καλό έχουν τα δεδομένα χωρίς μεταδεδομένα;) Για να χρησιμοποιήσετε λογισμικό που δεν υποστηρίζει μεταδεδομένα είναι να καλέσει τα δεδομένα να παρεξηγηθεί και να γίνει κατάχρηση.
- ERDDAP™είναι ελεύθερο και λογισμικό ανοιχτού κώδικα σε αντίθεση με κάποιο άλλο λογισμικό που εξετάζεται. Συνεχής ανάπτυξηERDDAP™έχει ήδη πληρωθεί. ΥποστήριξηERDDAP™οι χρήστες είναι ελεύθεροι.
- ERDDAPΗ εμφάνιση του μπορεί να προσαρμοστεί εύκολα ώστε να αντανακλά και να τονίζει την ομάδα σας (όχιERDήERDDAP) .
- ERDDAP™προσφέρει έναν συνεπή τρόπο πρόσβασης σε όλα τα σύνολα δεδομένων.
- ERDDAP™μπορεί να διαβάσει δεδομένα από πολλούς τύπους αρχείων δεδομένων και από σχετικές βάσεις δεδομένων.
- ERDDAP™μπορεί να ασχοληθεί με μεγάλα σύνολα δεδομένων, συμπεριλαμβανομένων των συνόλων δεδομένων όπου τα δεδομένα πηγής είναι σε πολλά αρχεία δεδομένων.
- ERDDAP™μπορεί να γράψει δεδομένα σε πολλούς τύπους αρχείων δεδομένων, κατόπιν αιτήματος του χρήστη, συμπεριλαμβανομένων των τύπων αρχείων επιστημονικών δεδομένων όπως netCDF, ESRI .csv, καιODV .txt.
- ERDDAP™μπορεί να κάνει προσαρμοσμένα γραφήματα και χάρτες των υποσυνόλων των δεδομένων, με βάση τις προδιαγραφές του χρήστη.
- ERDDAP™μπορεί να ασχοληθεί με μη δεδομένα σύνολα δεδομένων, όπως συλλογές εικόνας, βίντεο, ή αρχεία ήχου.
- ERDDAP™έχει εγκατασταθεί και χρησιμοποιηθεί στοπερισσότερα από 60 ιδρύματα σε όλο τον κόσμο.
- ERDDAP™εμφανίζεται ως ένας από τους εξυπηρετητές δεδομένων που συνιστάται για χρήση εντόςNOAAστοNOAAΔιαδικαστική οδηγία για την πρόσβαση στα δεδομένα, σε αντίθεση με κάποιο άλλο λογισμικό που εξετάζεται.
- ERDDAP™είναι ένα προϊόνNMFS/NOAA, οπότε χρησιμοποιώντας το μέσαNMFSκαιNOAAθα πρέπει να είναι ένα σημείο υπερηφάνειας γιαNMFSκαιNOAA.
Παρακαλώ δώστεERDDAP™Μια προσπάθεια. Εάν χρειάζεστε βοήθεια, παρακαλούμε να δημοσιεύσετε ένα μήνυμα στοERDDAP™Ομάδα Google.
addFillValue Χαρακτηριστικά
Αυτή η ειδική επιλογή EDDType δεν είναι ένας τύπος συνόλου δεδομένων. Είναι ένα εργαλείο που μπορεί να προσθέσει \_FillValue χαρακτηριστικά σε ορισμένες μεταβλητές σε ορισμένα σύνολα δεδομένων. Βλέπεις;addFillValue Χαρακτηριστικά.
ανεύρεσηDuplicate Χρόνος
Αυτή η ειδική επιλογή EDDType δεν είναι ένας τύπος συνόλου δεδομένων. Αντίθετα, λέει GenerateDatasets Xml για αναζήτηση μέσω μιας συλλογής από πλέγμα.nc (και σχετικά) αρχεία για να βρείτε και να εκτυπώσετε μια λίστα αρχείων με διπλές τιμές χρόνου. Όταν κοιτάζει τις τιμές του χρόνου, τις μετατρέπει από τις αρχικές μονάδες σε"seconds since 1970-01-01"σε περίπτωση που διαφορετικά αρχεία χρησιμοποιούν διαφορετικές χορδές μονάδων. Πρέπει να παράσχετε τον αρχικό κατάλογο (με ή χωρίς το ίχνο) , το όνομα αρχείου κανονική έκφραση (π.χ., .\*\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\.nc ) , και το όνομα της χρονικής μεταβλητής στα αρχεία.
ncdump
Αυτή η ειδική επιλογή EDDType δεν είναι ένας τύπος συνόλου δεδομένων. Αντίθετα, λέει GenerateDatasets Xml για εκτύπωσηncdump\-όπως εκτύπωση ενός.nc,.ncml, ή.hdfΑρχείο. Χρησιμοποιεί το netcdf-java τουNCdump, το οποίο είναι ένα πιο περιορισμένο εργαλείο από την έκδοση C του NCdump. Αν χρησιμοποιήσετε αυτή την επιλογή, GenerateDatasetsXml θα σας ζητήσει να χρησιμοποιήσετε μια από τις επιλογές: "-h" (Κεφαλίδα) , "-γ" (Συντονισμός vars) , "-βαλ. (προκαθορισμένο) , "-v var1, var2", "v var1 (0,0:10,0:20) ". Αυτό είναι χρήσιμο γιατί, χωρίς ncdump είναι δύσκολο να γνωρίζουμε τι είναι σε.nc,.ncml, ή.hdfαρχείο και συνεπώς ποιο EDDType θα πρέπει να ορίσετε για GenerateDatasets Xml (στα Αγγλικά). Για ένα.ncΑρχείο ml, αυτό θα εκτυπώσει την έξοδο ncdump για το αποτέλεσμα της.ncΜεταβολές αρχείων ml που εφαρμόζονται στο υποκείμενο.ncή.hdfΑρχείο.
ΔΑΠ
- ΔΑΠ είναι ένα πρόγραμμα γραμμής εντολών που μπορείτε να χρησιμοποιήσετε αφού έχετε δημιουργήσει μια πρώτη προσπάθεια στο XML για ένα νέο σύνολο δεδομένων στοdatasets.xml. Με DasDds, μπορείτε επανειλημμένα να ελέγξετε και να βελτιώσετε το XML. Όταν χρησιμοποιείτε το πρόγραμμα DasDds:
- Στα Windows, την πρώτη φορά που τρέχετε DasDds, θα πρέπει να επεξεργαστείτε τα DasDds. αρχείο νυχτερίδας με επεξεργαστή κειμένου για να αλλάξετε τη διαδρομή προς το java. exe αρχείο έτσι ώστε τα Windows να μπορούν να βρουνJava.
- DasDds σας ζητάει για τοdatasetIDγια το σύνολο δεδομένων που εργάζεστε.
- Το DasDds προσπαθεί να δημιουργήσει το σύνολο δεδομένων με αυτόdatasetID.
- DasDds πάντα εκτυπώνει πολλά διαγνωστικά μηνύματα. Εάν χρησιμοποιείτε "DasDds -verbose", DasDds θα εκτυπώσει περισσότερα διαγνωστικά μηνύματα από το συνηθισμένο.
- Για ασφάλεια, το DasDds διαγράφει πάντα όλες τις πληροφορίες του συνόλου δεδομένων cached (αρχεία) για το σύνολο δεδομένων πριν από την προσπάθεια δημιουργίας του συνόλου δεδομένων. Αυτ ό είναι το ισοδύναμο του καθορισμούσκληρή σημαίαΈτσι για τα συγκεντρωτικά σύνολα δεδομένων, ίσως θέλετε να ρυθμίσετε το αρχείοNameRegex προσωρινά για να περιορίσετε τον αριθμό των αρχείων που βρίσκει ο κατασκευαστής δεδομένων.
- Εάν το σύνολο δεδομένων αποτύχει να φορτώσει (για οποιονδήποτε λόγο) , DasDds θα σταματήσει και να σας δείξει το μήνυμα σφάλματος για το πρώτο σφάλμα που βρίσκει.
Μην προσπαθήσεις να μαντέψεις ποιο είναι το πρόβλημα. Διαβάστε προσεκτικά το μήνυμα ΣΦΑΛΜΑ.
Αν είναι απαραίτητο, διαβάστε τα προηγούμενα διαγνωστικά μηνύματα για να βρείτε περισσότερες ενδείξεις και πληροφορίες, επίσης. - Κάντε μια αλλαγή στο XML του συνόλου δεδομένων για να προσπαθήσετε να λύσετε αυτό το πρόβλημα
και αφήστε το DasDds να προσπαθήσει να δημιουργήσει το σύνολο δεδομένων και πάλι. - Αν λύνετε επανειλημμένα κάθε πρόβλημα, θα λύσετε τελικά όλα τα προβλήματα.
και το σύνολο δεδομένων θα φορτώσει.
- Όλες οι έξοδος DasDds (διαγνωστικά και αποτελέσματα) γράφονται στην οθόνη και bigParentΚατάλογος /logs/DasDds.log .
- Αν τα DasDds μπορούν να δημιουργήσουν το σύνολο δεδομένων, τα DasDds θα σας δείξουν το.das (Δομή χαρακτηριστικών συνόλου δεδομένων) ,.dds (Περιγραφέας συνόλου δεδομένων Δομή) , και. χρόνοςGaps (Χρονικά κενά) πληροφορίες για το σύνολο δεδομένων στην οθόνη σας και να τα γράψετε bigParentΚατάλογος /logs/DasDds.out .
- Συχνά, θα θέλετε να κάνετε κάποια μικρή αλλαγή στο XML του συνόλου δεδομένων για να καθαρίσετε τα μεταδεδομένα του συνόλου δεδομένων και να επανεκκινήσετε τα DasDds.
Μπόνους Εργαλείο τρίτου μέρους:ERDDAP-Λιντ.
ERDDAP-lint είναι ένα πρόγραμμα από Rob Fuller και Adam Leadbetter της Ιρλανδίας Marine Institute που μπορείτε να χρησιμοποιήσετε για τη βελτίωση των μεταδεδομένων σαςERDDAP™σύνολα δεδομένων.ERDDAP-lint "περιέχει τους κανόνες και μια απλή στατική εφαρμογή web για την εκτέλεση ορισμένων ελέγχων κατά σαςERDDAP™Διακομιστής. Όλες οι δοκιμές εκτελούνται στο πρόγραμμα περιήγησης ιστού. Όπως τοΕργαλείο χνούδι Unix/Linux, μπορείτε να επεξεργαστείτε τους υπάρχοντες κανόνες ή να προσθέσετε νέους κανόνες. Βλέπεις;ERDDAP-Λιντ.για περισσότερες πληροφορίες.
Αυτό το εργαλείο είναι ιδιαίτερα χρήσιμο για σύνολα δεδομένων που δημιουργήσατε πριν από λίγο καιρό και τώρα θέλετε να ενημερώσετε τις τρέχουσες προτιμήσεις μεταδεδομένων σας. Για παράδειγμα, πρώιμες εκδόσεις του GenerateDatasets Το Xml δεν κατέβαλε καμία προσπάθεια για να δημιουργήσει παγκόσμιαcreator\_name,creator\_email, δημιουργός\_τύπος, ήcreator\_urlμεταδεδομένα. Θα μπορούσατε να χρησιμοποιήσετεERDDAP-Θέλετε να αναγνωρίσετε τα σύνολα δεδομένων που στερούνται αυτά τα χαρακτηριστικά μεταδεδομένων.
Χάρη στον Rob και τον Adam για τη δημιουργία αυτού του εργαλείου και τη διάθεση στοERDDAP™κοινότητα.
Η βασική δομή τηςdatasets.xmlΑρχε ίο
Οι απαιτούμενες και προαιρετικές ετικέτες επιτρέπονται σε έναdatasets.xmlαρχείο (και τον αριθμό των φορές που μπορεί να εμφανιστούν) παρουσιάζονται παρακάτω. Στην πράξη, σαςdatasets.xmlθα έχουν πολλά<dataset> και χρησιμοποιείστε μόνο τις άλλες ετικέτες μέσα<erddapDatasets> όπως απαιτείται.
<?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>
Είναι πιθανό να επιτρέπονται και άλλες κωδικοποιήσεις στο μέλλον, αλλά προς το παρόν, συνιστάται μόνο το ISO-8859-1.
Συμπερίληψη X
Νέα στην έκδοση 2.25 είναι η υποστήριξη για XInclude. Αυτό απαιτεί τη χρήση του αναλυτή SAX<χρήσηSaxParser> true</useSaxParser> στην εγκατάσταση σας.xml. Αυτό μπορεί να σας επιτρέψει να γράψετε κάθε σύνολο δεδομένων στο δικό του αρχείο, στη συνέχεια να τα συμπεριλάβετε όλα στο κύριοdatasets.xml, μέρη των ορισμών συνόλου δεδομένων, ή και τα δύο. Αν θέλετε να δείτε ένα παράδειγμα,EDDTestDataset.javasets XInclude για επαναχρησιμοποίηση μεταβλητών ορισμών.
-
- Ναι.
Σημειώσεις
Συνεργασία με τοdatasets.xmlΤο αρχείο είναι ένα μη-τριβικό έργο. Παρακαλώ διαβάστε όλες αυτές τις σημειώσεις προσεκτικά. Αφού διαλέξεις έναΤύπος συνόλου δεδομένων, παρακαλώ διαβάστε τη λεπτομερή περιγραφή του προσεκτικά.
Επιλογή του τύπου συνόλου δεδομένων
Στις περισσότερες περιπτώσεις, υπάρχει μόνο έναERDDAP™τύπος συνόλου δεδομένων που είναι κατάλληλος για μια δεδομένη πηγή δεδομένων. Σε μερικές περιπτώσεις (π.χ.,.ncαρχεία) , υπάρχουν μερικές πιθανότητες, αλλά συνήθως μία από αυτές είναι σίγουρα καλύτερη. Η πρώτη και μεγαλύτερη απόφαση που πρέπει να πάρετε είναι: είναι σκόπιμο να αντιμετωπίσετε το σύνολο δεδομένων ως μια ομάδα πολυδιάστατων συστοιχιών (αν το δείτε,EDDGridΤύποι συνόλου δεδομένων) ή ως πίνακας δεδομένων (αν το δείτε,Τύποι συνόλου δεδομένων EDDTable) .
Υπηρετώντας τα Δεδομένα Όπως Είναι
Συνήθως, δεν υπάρχει ανάγκη τροποποίησης της πηγής δεδομένων (π.χ., μετατροπή των αρχείων σε κάποιο άλλο τύπο αρχείου) Έτσι ώστεERDDAP™Μπορεί να σερβιριστεί. Μια από τις υποθέσειςERDDAP™είναι ότι η πηγή δεδομένων θα χρησιμοποιηθεί όπως είναι. Συνήθως αυτό λειτουργεί μια χαρά. Ορισμένες εξαιρέσεις είναι:
- Σχετικές βάσεις δεδομένων και Κασσάνδρα --ERDDAP™μπορούν να εξυπηρετήσουν τα δεδομένα απευθείας από τις σχετικές βάσεις δεδομένων και Κασσάνδρα. Αλλά για την ασφάλεια, την εξισορρόπηση φορτίου, και τα ζητήματα απόδοσης, μπορείτε να επιλέξετε να δημιουργήσετε μια άλλη βάση δεδομένων με τα ίδια δεδομένα ή να αποθηκεύσετε τα δεδομένα γιαNetCDFv3.ncαρχεία και έχουνERDDAP™εξυπηρετούν τα δεδομένα από τη νέα πηγή δεδομένων. Βλέπεις;Πίνακας EDD από τη βάση δεδομένωνκαιΠίνακας EDD από την Κασάνδρα.
- Μη υποστηριζόμενες πηγές δεδομένων --ERDDAP™μπορεί να υποστηρίξει ένα μεγάλο αριθμό των τύπων των πηγών δεδομένων, αλλά ο κόσμος είναι γεμάτος με 1000 του (Εκατομμύρια;) διαφόρων πηγών δεδομένων (Ειδικότερα, δομές αρχείων δεδομένων) . ΕάνERDDAP™δεν υποστηρίζει την πηγή δεδομένων σας:
- Εάν η πηγή δεδομένων είναιNetCDF .ncαρχεία, μπορείτε να χρησιμοποιήσετεNcMLγια την τροποποίηση των αρχείων δεδομένων κατά την πτήση ή τη χρήσηNCOνα τροποποιεί μόνιμα τα αρχεία δεδομένων.
- Μπορείτε να γράψετε τα δεδομένα σε έναν τύπο πηγής δεδομένων πουERDDAP™υποστήριξη.NetCDF-3.ncαρχεία είναι μια καλή, γενική σύσταση επειδή είναι δυαδικά αρχεία πουERDDAP™μπορεί να διαβάσει πολύ γρήγορα. Για τα δεδομένα πίνακα, εξετάστε την αποθήκευση των δεδομένων σε μια συλλογή.ncαρχεία που χρησιμοποιούν τοΚΦ Διακριτές γεωμετρίες δειγματοληψίας (DSG) Contigoul Ragged δομές δεδομένων Array και έτσι μπορεί να αντιμετωπιστεί μεERDDAPΣΠίνακας EDDFromNcCFΑρχεία). Αν είναι λογικά οργανωμένοι (το καθένα με δεδομένα για ένα κομμάτι χώρου και χρόνου) ,ERDDAP™μπορεί να εξάγει δεδομένα από αυτά πολύ γρήγορα.
- Μπορείτε να ζητήσετε την υποστήριξη για την εν λόγω πηγή δεδομένων να προστεθεί σεERDDAP™στέλνοντας email στον Κρις. Τζον στο Νόαγκοβ.
- Μπορείτε να προσθέσετε υποστήριξη για αυτή την πηγή δεδομένων γράφοντας τον κώδικα για να το χειριστείτε μόνοι σας. Βλέπεις;τοERDDAP™Οδηγός προγραμματιστή
- Ταχύτητα...ERDDAP™μπορεί να διαβάσει δεδομένα από ορισμένες πηγές δεδομένων πολύ πιο γρήγορα από άλλες. Για παράδειγμα, ανάγνωσηNetCDFv3.ncτα αρχεία είναι γρήγορα και η ανάγνωση αρχείων ASCII είναι πιο αργή. Και αν υπάρχει ένα μεγάλο (> 1000) ή τεράστια (> 10.000) αριθμός αρχείων δεδομένων πηγής,ERDDAP™θα ανταποκριθεί σε κάποια αιτήματα δεδομένων αργά. Συνήθως, η διαφορά δεν είναι αισθητή στους ανθρώπους. Ωστόσο, αν νομίζετε ότιERDDAP™είναι αργή για ένα δεδομένο σύνολο δεδομένων, μπορείτε να επιλέξετε να λύσετε το πρόβλημα γράφοντας τα δεδομένα σε μια πιο αποτελεσματική ρύθμιση (συνήθως: μερικά, καλά δομημένα,NetCDFv3.ncαρχεία) . Για δεδομένα πίνακα, βλέπεαυτή τη συμβουλή.
Υπόδειξη
Συχνά είναι ευκολότερο να δημιουργηθεί το XML για ένα σύνολο δεδομένων κ άνοντας ένα αντίγραφο μιας περιγραφής συνόλου δεδομένων εργασίας στο dataset.xml και στη συνέχεια τροποποιώντας το.
Κωδικοποίηση ειδικών χαρακτήρων
Απόdatasets.xmlείναι ένα αρχείο XML, ΠΡΕΠΕΙ& Κωδικός"&", "<", και ">" σε οποιοδήποτε περιεχόμενο όπως " & amp;",<" και ">· Λάθος:<τίτλος> Χρόνος & Δεσμοί</τίτλος> Δεξιά:<τίτλος> Χρόνος & amp; Tides</τίτλος>
Το XML δεν ανέχεται τα συντακτικά λάθη
Αφού επεξεργαστείτε το αρχείο dataset.xml, είναι μια καλή ιδέα να επαληθεύσετε ότι το αποτέλεσμα είναικαλά διαμορφωμένο XMLεπικολλώντας το κείμενο XML σε έν αν έλεγχο XML όπωςΕπικύρωση xml.
Συμβουλές αντιμετώπισης προβλημάτων
- Άλλοι τρόποι για τη διάγνωση προβλημάτων με τα σύνολα δεδομένων
Εκτός από τα δύο κύριαΕργαλεία, - log.txtείναι ένα αρχείο καταγραφής με όλα ταERDDAPΔιαγνωστικά μηνύματα.
- ΗΗμερήσια έκθεσηέχει περισσότερες πληροφορίες από τη σελίδα κατάστασης, συμπεριλαμβανομένης μιας λίστας συνόλων δεδομένων που δεν φορτώθηκαν και τις εξαιρέσεις (σφάλματα) Παρήγαγαν.
- ΗΣελίδα κατάστασηςείναι ένας γρήγορος τρόπος για να ελέγξετεERDDAPΚατάσταση από οποιοδήποτε πρόγραμμα περιήγησης ιστού. Περιλαμβάνει μια λίστα συνόλων δεδομένων που δεν φορτώθηκαν (αν και όχι οι σχετικές εξαιρέσεις) και την εργασία (δείχνει την πρόοδο τηςEDDGridΑντιγραφήκαιEDDTableCopyσύνολα δεδομένων και τυχόνEDDGridΑπό αρχείαήΠίνακας EDD από αρχείασύνολα δεδομένων που χρησιμοποιούνλανθάνουσα μνήμηFromUrl (αλλά όχι cache Μέγεθος GB) ) .
- Αν κολλήσεις, δες μας.τμήμα για τη λήψη πρόσθετης υποστήριξης.
Ειδικές μεταβλητές
- Το γεωγραφικό μήκος, το γεωγραφικό πλάτος, το υψόμετρο (ή βάθος) , και ώρα (ΛΑΤ) μεταβλητή destinationNameΤα s είναι ξεχωριστά.
- Γενικά:
- Οι μεταβλητές LLAT γίνονται γνωστέςERDDAP™εάν η μεταβλητή άξονα (γιαEDDGridσύνολα δεδομένων) ή μεταβλητές δεδομένων (για σύνολα δεδομένων EDDTable) destinationNameείναι το μήκος", " το πλάτος", " το ύψος", " το βάθος", ή"time".
- Σας ενθαρρύνουμε να χρησιμοποιείτε αυτά τα τυποποιημένα ονόματα για αυτές τις μεταβλητές όποτε είναι δυνατόν. Κανένα από αυτά δεν απαιτείται. Αν δεν χρησιμοποιήσετε αυτά τα ειδικά μεταβλητά ονόματα,ERDDAP™Δεν θα αναγνωρίσουν τη σημασία τους. Για παράδειγμα, οι μεταβλητές LLAT αντιμετωπίζονται ειδικά από το Make A Graph ( datasetID . γράφημα) : εάν η μεταβλητή X Άξονας είναι " Γεωγραφικό μήκος" και η μεταβλητή Y Άξονας είναι " Πλάτος", θα πάρετε ένα χάρτη (χρήση τυποποιημένης προβολής, με μάσκα εδάφους, πολιτικά όρια κ.λπ.) αντί για ένα γράφημα.
- ERDDAP™θα προσθέσει αυτόματα πολλά μεταδεδομένα στις μεταβλητές LLAT (για παράδειγμα, "ioos\_category~, ~μονάδες", και πολλά χαρακτηριστικά που σχετίζονται με τα πρότυπα, όπως το συντεταγμένοAxisType) .
- ERDDAP™αυτόματα, on-the-fly, θα προσθέσετε πολλά παγκόσμια μεταδεδομένα που σχετίζονται με τις τιμές LLAT του επιλεγμένου υποσύνολο δεδομένων (Για παράδειγμα, "geospatial\_lon\_min") .
- Πελάτες που υποστηρίζουν αυτά τα πρότυπα μεταδεδομένων θα είναι σε θέση να επωφεληθούν από τα πρόσθετα μεταδεδομένα για να τοποθετήσουν τα δεδομένα στο χρόνο και στο χώρο.
- Οι πελάτες θα το βρουν ευκολότερο να δημιουργήσουν ερωτήματα που περιλαμβάνουν μεταβλητές LLAT επειδή τα ονόματα της μεταβλητής είναι τα ίδια σε όλα τα σχετικά σύνολα δεδομένων.
- Για τη μεταβλητ ή «μακρύ μήκος» και τη μεταβλητή «γεωγραφικό πλάτος»:
- Χρήση τουdestinationNames " Γεωγραφικό μήκος" και " Πλάτος" μόνο εάν τομονάδεςείναι μοίρες\_ανατολικά και μοίρες\_βόρεια, αντίστοιχα. Εάν τα δεδομένα σας δεν ταιριάζουν με αυτές τις απαιτήσεις, χρησιμοποιήστε διαφορετικά μεταβλητά ονόματα (Για παράδειγμα, x, y, lonRadians, latRadians) .
- Εάν έχετε δεδομένα γεωγραφικού μήκους και γεωγραφικού πλάτους εκφρασμένα σε διαφορετικές μονάδες και επομένως με διαφορετικέςdestinationNameS, για παράδειγμα, lonRadians και latRadians, Κάντε μια γραφική παράσταση ( datasetID . γράφημα) θα κάνει γραφήματα (για παράδειγμα, χρονοσειρές) αντί για χάρτες.
- Για τη μεταβλητή "ύψος" και τη "βάθος" μεταβλητή:
- Χρήση τουdestinationName" υψόμετρο" για τον προσδιορισμό της απόστασης των δεδομένων πάνω από την επιφάνεια της θάλασσας (Θετικές τιμές =" πάνω") . Προαιρετικά, μπορείτε να χρησιμοποιήσετε "υψόμετρο" για αποστάσεις κάτω από το επίπεδο της θάλασσας εάν οι τιμές είναι αρνητικές κάτω από τη θάλασσα (ή αν χρησιμοποιείτε, για παράδειγμα, [<att name="scale\factor" τ ύπος ="int">- 1</att>] (#κλίμακας συντελεστής) να μετατρέπουν τις τιμές βάθους σε τιμές υψομέτρου.
- Χρήση τουdestinationName" βάθος" προσδιορισμός της απόστασης των δεδομένων κάτω από την επιφάνεια της θάλασσας (Θετικές τιμές =" κατώτερες τιμές) .
- Ένα σύνολο δεδομένων μπορεί να μην έχει τόσο "υψόμετρο" όσο και " βάθος" μεταβλητές.
- Για αυτές τις μεταβλητές ονομασίες, ημονάδεςπρέπει να είναι "m", "metermeter ή "metersmetersmetersmetersmeters". Εάν οι μονάδες διαφέρουν (για παράδειγμα, οργιές) , μπορείτε να χρησιμοποιήσετε [<att name="scale\factor"> μερικά Τιμή </att>] (#κλίμακας συντελεστής) και [<att name="μονάδες">μέτρα</att>] (#μονάδες) για να μετατρέψει τις μονάδες σε μέτρα.
- Εάν τα δεδομένα σας δεν ταιριάζουν με αυτές τις απαιτήσεις, χρησιμοποιήστε ένα διαφορετικόdestinationName (για παράδειγμα, πάνω από το Ground, απόσταση ToBottom) .
- Εάν γνωρίζετε το κάθετο CRS παρακαλώ προσδιορίστε το στα μεταδεδομένα, π.χ., "EPSG:5829" (στιγμιαίο ύψος πάνω από την επιφάνεια της θάλασσας) , "EPSG:5831" (στιγμιαίο βάθος κάτω από την επιφάνεια της θάλασσας) , ή "EPSG:5703" (Ύψος NAVD88) .
- Για την"time"μεταβλητή:
- Χρήση τουdestinationName "time"μόνο για μεταβλητές που περιλαμβάνουν ολόκληρη την ημερομηνία+ώρα (ή ημερομηνία, εάν αυτό είναι το μόνο που υπάρχει) . Εάν, για παράδειγμα, υπάρχουν ξεχωριστές στήλες για την ημερομηνία και την ώραOfDay, μην χρησιμοποιήσετε το μεταβλητό όνομα"time".
- Βλέπεις;μονάδεςγια περισσότερες πληροφορίες σχετικά με τις μονάδες χαρακτηριστικό για το χρόνο και το χρόνοStamp μεταβλητές.
- Η χρονική μεταβλητή και συναφήςχρόνος Μεταβλητές γραμματοσήμωνείναι μοναδικοί στο ότι μετατρέπουν πάντα τις τιμές δεδομένων από τη μορφή του χρόνου της πηγής (Ό,τι κι αν είναι.) σε αριθμητική τιμή (δευτερόλεπτα από το 1970-01-01T00:00:00Z) ή τιμή συμβολοσειράς (ISO 8601:2004 (E) μορφή) , ανάλογα με την κατάσταση.
- Όταν ένας χρήστης ζητά δεδομένα χρόνου, μπορούν να το ζητήσουν προσδιορίζοντας το χρόνο ως αριθμητική τιμή (δευτερόλεπτα από το 1970-01-01T00:00:00Z) ή τιμή συμβολοσειράς (ISO 8601:2004 (E) μορφή) .
- ERDDAP™έχει ένα βοηθητικόΜετατροπή ενός αριθμητικού Χρόνος έως/από ώρα συμβολοσειράς.
- Βλέπεις;ΠώςERDDAPΑντιμετωπίζει το Χρόνο.
Γιατί μόνο δύο βασικές δομές δεδομένων;
- Δεδομένου ότι είναι δύσκολο για τους ανθρώπινους πελάτες και τους πελάτες υπολογιστών να αντιμετωπίσουν ένα σύνθετο σύνολο πιθανών δομών σύνολο δεδομένων,ERDDAP™χρησιμοποιεί μόνο δύο βασικές δομές δεδομένων:
- αδομή δεδομένων με πλέγμα (για παράδειγμα, για δορυφορικά δεδομένα και μοντέλα δεδομένων) και
- αδομή δεδομένων πίνακα (π.χ. για εσωτερικά δεδομένα σημαδούρας, σταθμού και τροχιάς) .
- Ασφαλώς, δεν μπορούν να εκφραστούν όλα τα δεδομένα σε αυτές τις δομές, αλλά πολλά από αυτά μπορούν. Ειδικότερα, οι πίνακες είναι πολύ ευέλικτες δομές δεδομένων (δείτε την επιτυχία των προγραμμάτων σχεσιακή βάση δεδομένων) .
- Αυτό κάνει τα ερωτήματα των δεδομένων ευκολότερα στην κατασκευή.
- Αυτό καθιστά τις απαντήσεις δεδομένων έχουν μια απλή δομή, η οποία καθιστά ευκολότερη την εξυπηρέτηση των δεδομένων σε μια ευρύτερη ποικιλία τυποποιημένων τύπων αρχείων (που συχνά υποστηρίζουν απλές δομές δεδομένων) . Αυτός είναι ο κύριος λόγος που δημιουργήσαμεERDDAP™Από εδώ.
- Αυτό, με τη σειρά του, καθιστά πολύ εύκολο για εμάς (ή οποιονδήποτε) για να γράψετε το λογισμικό πελάτη που λειτουργεί με όλαERDDAP™σύνολα δεδομένων.
- Αυτό καθιστά ευκολότερη τη σύγκριση δεδομένων από διαφορετικές πηγές.
- Γνωρίζουμε πολύ καλά ότι αν έχετε συνηθίσει να εργάζεστε με δεδομένα σε άλλες δομές δεδομένων μπορεί αρχικά να νομίζετε ότι αυτή η προσέγγιση είναι απλοϊκή ή ανεπαρκής. Αλλά όλες οι δομές δεδομένων έχουν ανταλλαγές. Κανένα δεν είναι τέλειο. Ακόμα και οι δομές do-it-all έχουν τα μειονεκτήματά τους: η συνεργασία μαζί τους είναι περίπλοκη και τα αρχεία μπορούν να γραφτούν ή να διαβαστούν μόνο με ειδικές βιβλιοθήκες λογισμικού. Εάν δεχτείτεERDDAPΗ προσέγγιση του αρκετά για να προσπαθή σουμε να συνεργαστούμε με αυτό, μπορεί να διαπιστώσουμε ότι έχει τα πλεονεκτήματά του (Ειδικότερα η υποστήριξη πολλαπλών τύπων αρχείων που μπορούν να κρατήσουν τις απαντήσεις δεδομένων) . ΗERDDAP™προβολή σλάιντ (ιδιαίτερα τοΣλάιντ δομών δεδομένων) μιλάει πολύ για αυτά τα θέματα.
- Ακόμα κι αν αυτή η προσέγγιση σου ακούγεται παράξενη, οι περισσότεροιERDDAP™Οι πελάτες δεν θα παρατηρήσουν ποτέ -- απλά θα δουν ότι όλα τα σύνολα δεδομένων έχουν μια ωραία απλή δομή και θα είναι ευγνώμονες που μπορούν να πάρουν δεδομένα από μια μεγάλη ποικιλία πηγών που επιστρέφονται σε μια μεγάλη ποικιλία μορφών αρχείων.
Διαστάσεις
- Κι αν οι μεταβλητές καννάβου στο σύνολο δεδομένων πηγής δεν μοιράζονται τις ίδιες μεταβλητές άξονα;
ΜέσαEDDGridσύνολα δεδομένων, όλες οι μεταβλητές δεδομένων ΠΡΕΠΕΙ να χρησιμοποιούν (μετοχή) όλες τις μεταβλητές του άξονα. Έτσι, αν ένα σύνολο δεδομένων πηγής έχει κάποιες μεταβλητές με ένα σύνολο διαστάσεων, και άλλες μεταβλητές με ένα διαφορετικό σύνολο διαστάσεων, θα πρέπει να κάνετε δύο σύνολα δεδομένων σεERDDAP. Για παράδειγμα, θα μπορούσατε να κάνετε έναERDDAP™σύνολο δεδομένων με τίτλο "Κάποιος τίτλος (στην επιφάνεια) " να κρατήσει μεταβλητές που χρησιμοποιούν μόνο\[χρόνος\]\[γεωγραφικό πλάτος\]\[γεωγραφικό μήκος\]διαστάσεις και να κάνει ένα άλλοERDDAP™σύνολο δεδομένων με τίτλο "Κάποιος τίτλος (σε βάθη) " να συγκρατούν τις μεταβλητές που χρησιμοποιούν\[χρόνος\]\[υψόμετρο\]\[γεωγραφικό πλάτος\]\[γεωγραφικό μήκος\]. Ή ίσως μπορείτε να αλλάξετε την πηγή δεδομένων για να προσθέσετε μια διάσταση με μια μόνο τιμή (για παράδειγμα, υψόμετρο=0) να κάνουν τις μεταβλητές συνεπείς.
ERDDAP™δεν χειρίζεται πιο περίπλοκα σύνολα δεδομένων (για παράδειγμα, μοντέλα που χρησιμοποιούν πλέγμα τριγώνων) Λοιπόν. Μπορείτε να εξυπηρετήσετε αυτά τα σύνολα δεδομένωνERDDAP™με τη δημιουργία δύο ή περισσότερων συνόλων δεδομένωνERDDAP™ (ώστε όλες οι μεταβλητές δεδομένων σε κάθε νέο σύνολο δεδομένων να μοιράζονται το ίδιο σύνολο μεταβλητών άξονα) , αλλά δεν είναι αυτό που θέλουν οι χρήστες. Για ορισμένα σύνολα δεδομένων, μπορείτε να σκεφτείτε να κάνετε μια κανονική έκδοση του συνόλου δεδομένων και να προσφέρει ότι εκτός από τα αρχικά δεδομένα. Κάποιο λογισμικό πελάτη μπορεί να ασχοληθεί μόνο με ένα κανονικό δίκτυο, έτσι, κάνοντας αυτό, μπορείτε να φτάσετε επιπλέον πελάτες.
Προβλεπόμενα ρυθμισμένα δεδομένα
Ορισμένα δεδομένα με πλέγμα έχουν πολύπλοκη δομή. Για παράδειγμα, επίπεδο δορυφόρου 2 ("μακριά διαδρομή") Τα δεδομένα δεν χρησιμοποιούν απλή προβολή. Μοντελοποιητές (και άλλοι) συχνά εργάζονται με τα δεδομένα πλέγμα σε διάφορες μη κυλινδρικές προβολές (για παράδειγμα, κωνική, πολική στερεογραφική, τριπολική) ή σε μη δομημένα πλέγματα (πιο σύνθετη δομή δεδομένων) . Μερικοί τελικοί χρήστες θέλουν αυτά τα δεδομένα όπως είναι, έτσι δεν υπάρχει απώλεια πληροφοριών. Για αυτούς τους πελάτες,ERDDAP™μπορεί να εξυπηρετήσει τα δεδομένα, όπως είναι, μόνο εάνERDDAP™Ο διαχειριστής διασπά το αρχικό σύνολο δεδομένων σε μερικά σύνολα δεδομένων, με κάθε μέρος να περιλαμβάνει μεταβλητές που μοιράζονται τις ίδιες μεταβλητές άξονα. Ναι, αυτό φαίνεται παράξενο σε ανθρώπους που εμπλέκονται και είναι διαφορετικό από τους περισσότερουςOPeNDAPΔιακομιστές. Αλλά...ERDDAP™τονίζει καθιστώντας τα δεδομένα διαθέσιμα σε πολλές μορφές. Αυτό είναι δυνατό επειδήERDDAP™χρησιμοποιεί/απαιτεί μια πιο ομοιόμορφη δομή δεδομένων. Αν και είναι λίγο περίεργο. (δηλαδή, διαφορετικό από το αναμενόμενο) ,ERDDAP™μπορεί να διανείμει τα προβλεπόμενα δεδομένα.
\[Ναι.ERDDAP™θα μπορούσαν να έχουν πιο χαλαρές απαιτήσεις για τη δομή των δεδομένων, αλλά να διατηρούν τις απαιτήσεις για τις μορφές εξόδου. Αλλά αυτό θα οδηγούσε σε σύγχυση μεταξύ πολλών χρηστών, ιδιαίτερα newbies, δεδομένου ότι πολλά φαινομενικά έγκυρα αιτήματα για δεδομένα με διαφορετικές δομές θα ήταν άκυρα επειδή τα δεδομένα δεν θα χωρούσαν στον τύπο αρχείου. Συνεχίζουμε να επιστρέφουμε στο σχεδιασμό του τρέχοντος συστήματος.\]
Μερικοί τελικοί χρήστες θέλουν δεδομένα σε ένα lat lon κυλινδρική προβολή όπως Equirectangular / πλάκα carrée ή Mercator) για ευκολία χρήσης σε διαφορετικές καταστάσεις. Για αυτές τις καταστάσεις, ενθαρρύνουμεERDDAP™διαχειριστής για να χρησιμοποιήσει κάποιο άλλο λογισμικό (NCO♪ ♪Matlab♪ ♪ Ρ; Αναγνώριση; ...;) για την επαναπροβολή των δεδομένων σε γεωγραφικό πεδίο (Equirectangular προβολή / πλάκα carrée) ή άλλη κυλινδρική προβολή και εξυπηρετούν τη μορφή αυτή των δεδομένωνERDDAP™ως διαφορετικό σύνολο δεδομένων. Αυτό είναι παρόμοιο με αυτό που κάνουν οι άνθρωποι όταν μετατρέπουν δεδομένα δορυφορικού επιπέδου 2 σε δεδομένα επιπέδου 3. Ένα τέτοιο εργαλείο είναιNCOη οποία προσφέρει επιλογές επέκτασης για την επαναδιατύπωση δεδομένων.
Δεδομένα GIS και αναπροβολής
Δεδομένου ότι ο κόσμος GIS είναι συχνά προσανατολισμένος στον χάρτη, τα προγράμματα GIS συνήθως προσφέρουν υποστήριξη για την αναπροβολή των δεδομένων, δηλαδή, σχεδιάζοντας τα δεδομένα σε έναν χάρτη με διαφορετική προβολή.
Αυτή τη στιγμή,ERDDAP™δεν διαθέτει εργαλεία για την επαναπροβολή δεδομένων. Αντίθετα, σας συνιστούμε να χρησιμοποιήσετε ένα εξωτερικό εργαλείο για να κάνετε μια παραλλαγή του συνόλου δεδομένων, όπου τα δεδομένα έχουν αναπροβληθεί από την αρχική του μορφή σε ένα ορθογώνιο (γεωγραφικό πλάτος) διάταξη κατάλληλη γιαERDDAP.
Κατά τη γνώμη μας, το CF/DAPΟ κόσμος είναι λίγο διαφορετικός από τον κόσμο του GIS και λειτουργεί σε ελαφρώς χαμηλότερο επίπεδο.ERDDAP™Το αντανακλά αυτό. Γενικά,ERDDAP™έχει σχεδιαστεί για να λειτουργεί κυρίως με δεδομένα (όχι χάρτες) και δεν θέλει να αλλάξει (π.χ., επαναπρόγραμμα) Αυτά τα δεδομένα. ΓιαERDDAP™, τα δεδομένα με πλέγμα συχνά/συνήθως/κατά προτίμηση σχετίζονται με τιμές lat lon και μια κυλινδρική προβολή, και όχι με τιμές x, y κάποια προβολή. Σε κάθε περίπτωση,ERDDAP™δεν κάνει τίποτα με την προβολή των δεδομένων; απλά περνά τα δεδομένα μέσα, όπως είναι, με την τρέχουσα προβολή του, στη θεωρία ότι μια αναπροβολή είναι μια σημαντική αλλαγή στα δεδομένα καιERDDAP™Δεν θέλει να εμπλακεί με σημαντικές αλλαγές. Επίσης, οι μεταγενέστεροι χρήστες μπορεί αφελώς να επαναπροβάλλουν τα δεδομένα και πάλι, τα οποία δεν θα ήταν τόσο καλά όσο να κάνουν απλώς μια αναπροβολή. (Έτσι, αν τοERDDAP™Ο διαχειριστής θέλει να προσφέρει τα δεδομένα σε μια διαφορετική προβολή, πρόστιμο? απλά ανασχεδίασε τα δεδομένα offline και να προσφέρει ότι ως ένα διαφορετικό σύνολο δεδομένων σεERDDAP. Πολλά δορυφορικά σύνολα δεδομένων προσφέρονται ως αυτό που η NASA αποκαλεί Επίπεδο 2 (οβθ) και ως επίπεδο 3 (Ισορροπημένη προβολή) εκδόσεις.) ΠότεERDDAP™κάνει χάρτες (απευθείας ή μέσωWMSή KML) ,ERDDAP™Αυτή τη στιγμή προσφέρει μόνο για να κάνει χάρτες με την Equirectangular / πλάκα carrée προβολή η οποία, ευτυχώς, είναι αποδεκτή από τα περισσότερα προγράμματα χαρτογράφησης.
ΕνθαρρύνουμεERDDAP™διαχειριστές για να χρησιμοποιήσουν κάποιο άλλο λογισμικό (NCO♪ ♪Matlab♪ ♪ Ρ; Αναγνώριση; ...;) για την επαναπροβολή των δεδομένων σε γεωγραφικό πεδίο (Equirectangular προβολή / πλάκα carrée) ή άλλη κυλινδρική προβολή και εξυπηρετούν τη μορφή αυτή των δεδομένωνERDDAP™ως διαφορετικό σύνολο δεδομένων. Αυτό είναι παρόμοιο με αυτό που κάνουν οι άνθρωποι όταν μετατρέπουν δεδομένα δορυφορικού επιπέδου 2 σε δεδομένα επιπέδου 3. Ένα τέτοιο εργαλείο είναιNCOη οποία προσφέρει επιλογές επέκτασης για την επαναδιατύπωση δεδομένων.
Ελπίζουμε ότιERDDAP™θα έχουν ενσωματωμένα εργαλεία για να προσφέρουν χάρτες με άλλες προβολές στο μέλλον. Ελπίζουμε επίσης να έχουμε καλύτερες συνδέσεις με τον κόσμο των GIS στο μέλλον (εκτός του ρεύματοςWMSυπηρεσία) . Είναι τρομερό ότι σε αυτόν τον "μοντέρνο" κόσμο, οι δεσμοί μεταξύ της ΚΙ/DAPΟ κόσμος και το GIS είναι ακόμα τόσο αδύναμοι. Και τα δύο είναι στη λίστα. (Αν θέλετε να βοηθήσετε, ιδιαίτερα με τη σύνδεσηERDDAP™στο MapServer, παρακαλώ στείλτε email στον Chris. Ο Τζον στο Νόαγκοβ.)
Τύποι δεδομένων
ERDDAP™υποστηρίζει τους ακόλουθους τύπους δεδομένων (τα ονόματα είναι ευαίσθητα στην περίπτωση·'u'το πρόθεμα αντιπροσωπεύει "χωρίς υπογραφή"· ο αριθμός πολλών από τα ονόματα σε άλλα συστήματα είναι ο αριθμός των bits) :
byte (αντίγραφο)
- byte (αντίγραφο) έχει υπογράψει ακέραιες τιμές με εύρος -128 έως 127. Σε άλλα συστήματα, αυτό ονομάζεται μερικές φορές int8. Αυτό ονομάζεται "tinyint" από τον SQL και την Κασσάνδρα. ERDDAP™μετατρέπειβουλεάνηαπό ορισμένες πηγές (π.χ. SQL και Κασσάνδρα) σε bytes inERDDAP™με τιμή 0=ψευδής, 1=αληθινό, και 127=missing\_value.
ουμπάιτ
- ουμπάιτ έχει ανυπόγραφες ακέραιες τιμές με εύρος από 0 έως 255. Σε άλλα συστήματα, αυτό μερικές φορές ονομάζεται uint8.
σύντομο
- σύντομο έχει υπογράψει ακέραιες τιμές με εύρος -32768 έως 32767. Σε άλλα συστήματα, αυτό μερικές φορές ονομάζεται int16. Αυτό ονομάζεται "μικρότητα" από τον SQL και την Κασσάνδρα.
βραχυκύκλωμα
- βραχυκύκλωμα έχει ανυπόγραφες ακέραιες τιμές με εύρος από 0 έως 65535. Σε άλλα συστήματα, αυτό μερικές φορές ονομάζεται uint16.
int
- int έχει υπογράψει ακέραιες τιμές με εύρος -2147483648 έως 2147483647. Σε άλλα συστήματα, αυτό μερικές φορές ονομάζεται int32. Αυτό ονομάζεται " ακέραιος|αριθμητικό (♪ ♪) " by SQL and "int" by Κασσάνδρα.
ί ας
- ί ας έχει ανυπόγραφες ακέραιες τιμές με εύρος από 0 έως 4294967295. Σε άλλα συστήματα, αυτό μερικές φορές ονομάζεται uint32.
μακρύ
- μακρύ έχει υπογράψει ακέραιες τιμές με εύρος -9223372036854775808 έως 9223372036854775807. Σε άλλα συστήματα, αυτό μερικές φορές ονομάζεται int64. Αυτό ονομάζεται "bigint|αριθμητικό (♪ ♪) " από την SQL και "Bigint" από την Κασσάνδρα. Επειδή πολλοί τύποι αρχείων δεν υποστηρίζουν μεγάλα δεδομένα, η χρήση τους αποθαρρύνεται. Όταν είναι δυνατόν, χρησιμοποιήστε διπλά αντί (Βλέπε παρακάτω) .
ουλόνγκ
- ουλόνγκ έχει ανυπόγραφες ακέραιες τιμές με εύρος 0 έως 18446744073709551615 Σε άλλα συστήματα, αυτό μερικές φορές ονομάζεται uint64. Επειδή πολλοί τύποι αρχείων δεν υποστηρίζουν τα δεδομένα ulong, η χρήση τους αποθαρρύνεται. Όταν είναι δυνατόν, χρησιμοποιήστε διπλά αντί (Βλέπε παρακάτω) .
πλωτήρας
- πλωτήρας είναι άρμα IEEE 754 με εύρος περίπου +/- 3.4028234666e+38. Σ ε άλλα συστήματα, αυτό μερικές φορές ονομάζεται float32. Αυτό ονομάζεται "πραγματικό|πλωτήρας (♪ ♪) |δεκαδικό (♪ ♪) |αριθμητικό (♪ ♪) " από τον SQL και "flofloflofloflo"" από την Κασσάνδρα. Η ειδική τιμή NaN σημαίνει όχι-a-αριθμό. ERDDAP™μετατρέπει θετικές και αρνητικές τιμές του άπειρου σε NaN.
διπλό
- διπλό είναι ένα διπλό IEEE 754 με εύρος περίπου +/- 1.7976931348623157E+308. Σε άλλα συστήματα, αυτό μερικές φορές ονομάζεται float64. Αυτό ονομάζεται "διπλή ακρίβεια|πλωτήρας (♪ ♪) |δεκαδικό (♪ ♪) |αριθμητικό (♪ ♪) " από την SQL και "διπλό" από την Κασσάνδρα. Η ειδική τιμή NaN σημαίνει όχι-a-αριθμό. ERDDAP™μετατρέπει θετικές και αρνητικές τιμές του άπειρου σε NaN.
Χαρ
- Χαρ είναι ένα ενιαίο, 2-byte (16-bit) χαρακτήρας Unicode UCS-2κυμαίνονται από\u0000 (#0) μέσω\uffff (#65535) . \uffffΟ ορισμός του δεν είναι ένας Χαρακτήρας, ανάλογος με μια διπλή τιμή του NaN. Η χρήση του char αποθαρρύνεται επειδή πολλοί τύποι αρχείων είτε δεν υποστηρίζουν chars είτε μόνο υποστηρίζουν chars 1-byte (Βλέπε παρακάτω) . Σκεφτείτε τη χρήση String αντ 'αυτού. Οι χρήστες μπορούν να χρησιμοποιήσουν μεταβλητές χαρακτήρων για να κάνουν γραφήματα.ERDDAP™θα μετατρέψει τους χαρακτήρες στον κωδικό αριθμό σημείου Unicode τους, ο οποίος μπορεί να χρησιμοποιηθεί ως αριθμητικά δεδομένα.
Στρινγκ
- Στρινγκ είναι ακολουθία 0 ή μεγαλύτερη, 2-byte (16-bit) χαρακτήρες UCS-2 Unicode. ERDDAP™χρησιμοποιεί/ερμηνεύει μια συμβολοσειρά μήκους 0 ως ελλείπουσα τιμή.ERDDAP™δεν υποστηρίζει μια πραγματική άκυρη συμβολοσειρά. Το θεωρητικό μέγιστο μήκος εγχόρδων είναι 2147483647 χαρακτήρες, αλλά πιθανότατα υπάρχουν διάφορα προβλήματα σε διάφορα μέρη ακόμα και με κάπως μικρότερους συμβολοσειρές. ΧρήσηERDDAPσυμβολοσειρά για το χαρακτήρα του SQL, varchar, χαρακτήρα που ποικίλλει, δυαδικό, varbinary, διάστημα, συστοιχία, multiset, xml, και κάθε άλλο τύπο δεδομένων που δεν ταιριάζει καθαρά με οποιοδήποτε άλλοERDDAP™τύπος δεδομένων. ΧρήσηERDDAP's String για το "κείμενο της Κασσάνδρας" και κάθε άλλο τύπο δεδομένων Κασσάνδρα που δεν ταιριάζει καθαρά με οποιοδήποτε άλλοERDDAP™τύπος δεδομένων.
ΠρινERDDAP™v2.10,ERDDAP™δεν υποστήριξε ανυπόγραφους ακέραιους τύπους εσωτερικά και προσέφερε περιορισμένη υποστήριξη στους αναγνώστες και συγγραφείς δεδομένων της.
Περιορισμοί τύπου δεδομένων
Μπορείτε να σκεφτείτεERDDAP™ως σύστημα που διαθέτει εικονικά σύνολα δεδομένων και λειτουργεί διαβάζοντας δεδομένα από την πηγή ενός συνόλου δεδομένων σε ένα εσωτερικό μοντέλο δεδομένων και γράφοντας δεδομένα σε διάφορες υπηρεσίες (π.χ.,(OPeN)DAP,WMS) και τους τύπους αρχείων που ανταποκρίνονται στα αιτήματα των χρηστών.
- Κάθε αναγνώστης εισόδου υποστηρίζει ένα υποσύνολο των τύπων δεδομένων πουERDDAP™υποστήριξη. Έτσι ανάγνωση δεδομένωνERDDAPΟι εσωτερικές δομές δεδομένων δεν είναι πρόβλημα.
- Κάθε συγγραφέας εξόδου υποστηρίζει επίσης ένα υποσύνολο τύπων δεδομένων. Αυτό είναι πρόβλημα γιατί...ERDDAPπρέπει να συμπιέσει, για παράδειγμα, μακρά δεδομένα σε τύπους αρχείων που δεν υποστηρίζουν μακρά δεδομένα.
Παρακάτω δίνονται εξηγήσεις για τους περιορισμούς (ή κανένα) από διάφορους συγγραφείς εξόδου και πώςERDDAP™ασχολείται με τα προβλήματα. Τέτοιες επιπλοκές είναι ένα εγγενές μέρος τηςERDDAPΣτόχος του να κάνει διαλειτουργικά συστήματα.
ASCII
- ASCII (ΚΣΒ,.tsv, κ.λπ.) αρχεία κειμένου -
- Όλα τα αριθμητικά δεδομένα γράφονται μέσω της αναπαράστασης συμβολοσειρών (με ελλείπουσες τιμές δεδομένων που εμφανίζονται ως συμβολοσειρές μήκους 0) .
- Αν καιERDDAP™γράφει τις μεγάλες και τις πολύχρωμες τιμές σωστά στα αρχεία κειμένου ASCII, πολλοί αναγνώστες (π.χ. προγράμματα υπολογιστικών φύλλων) δεν μπορεί να ασχοληθεί σωστά με μακριές και μακριές τιμές και αντίθετα να τις μετατρέψει σε διπλάσιες τιμές (με απώλεια ακρίβειας σε ορισμένες περιπτώσεις) .
- Τα δεδομένα Char και String γράφονται μέσω του JSON Strings, το οποίο χειρίζεται όλους τους χαρακτήρες Unicode (Ειδικότερα, οι "ασυνήθεις" χαρακτήρες πέραν του ASCII #127, π.χ., ο χαρακτήρας του ευρώ εμφανίζεται ως "\u20ac") .
JSON
- JSON (.json,.jsonlCSV, κ.λπ.) αρχεία κειμένου -
- Όλα τα αριθμητικά δεδομένα γράφονται μέσω της αναπαράστασης συμβολοσειρών.
- Τα δεδομένα Char και String γράφονται ως συμβολοσειρές JSON, οι οποίες χειρίζονται όλους τους χαρακτήρες Unicode (Ειδικότερα, οι "ασυνήθεις" χαρακτήρες πέραν του ASCII #127, π.χ., ο χαρακτήρας του ευρώ εμφανίζεται ως "\u20ac") .
- Οι τιμές που λείπουν για όλους τους τύπους αριθμητικών δεδομένων εμφανίζονται ως μηδενικές.
.nc3 αρχεία
- .nc3 αρχεία δεν υποστηρίζουν εγγενώς κανέναν ανώνυμο ακέραιο τύπο δεδομένων. Πριν από το CF v1.9, η CF δεν υποστήριζε ανυπόγραφους ακέραιους τύπους. Για να ασχοληθεί με αυτό,ERDDAP™2.10+ ακολουθεί το πρότυπο NUG και προσθέτει πάντα ένα "\_Unsigned" χαρακτηριστικό με τιμή " true" ή "false" για να δείξει αν τα δεδομένα είναι από μια ανυπόγραφη ή υπογεγραμμένη μεταβλητή. Όλα τα ακέραια χαρακτηριστικά γράφονται ως υπογεγραμμένα χαρακτηριστικά (π.χ. byte) με υπογεγραμμένες τιμές (π.χ. ubyte)actual\_rangeχαρακτηριστικό με τιμές 0 έως 255, εμφανίζεται ως χαρακτηριστικό byte με τιμές 0 έως -1 (το αντίστροφο της τιμής συμπληρώματος των δύο της τιμής εκτός εμβέλειας). Δεν υπάρχει εύκολος τρόπος να γνωρίζουμε ποια (υπογεγραμμένα) ακέραια χαρακτηριστικά πρέπει να διαβάζονται ως ανυπόγραφα χαρακτηριστικά.ERDDAP™υποστηρίζει το "\_Ανυπόγραφο" χαρακτηριστικό όταν διαβάζει.nc3 αρχεία.
- .nc3 αρχεία δεν υποστηρίζουν τους τύπους δεδομένων μακρά ή ulong.ERDDAP™ασχολείται με αυτό με την προσωρινή μετατροπή τους σε διπλές μεταβλητές. Τα διπλά μπορεί να αντιπροσωπεύουν ακριβώς όλες τις τιμές μέχρι +/- 9,07,199,254,740,992 που είναι 2^53. Αυτή είναι μια ατελής λύση.Unidataαρνείται να κάνει μια μικρή αναβάθμιση σε.nc3 να αντιμετωπίσει αυτό και τα συναφή προβλήματα, επικαλούμενη.nc4 (μια σημαντική αλλαγή) ως λύση.
- Προδιαγραφές ΚΙ (πριν από v1.9) είπε ότι υποστηρίζει έναν τύπο char δεδομένων, αλλά είναι ασαφές αν char προορίζεται μόνο ως τα δομικά στοιχεία των συστοιχιών char, τα οποία είναι αποτελεσματικά Strings. Οι ερωτήσεις στη λίστα αλληλογραφίας τους απέδωσαν μόνο συγκεχυμένες απαντήσεις. Λόγω αυτών των επιπλοκών, είναι καλύτερο να αποφευχθεί char μεταβλητέςERDDAP™και να χρησιμοποιείτε μεταβλητές συμβολοσειρών όποτε είναι δυνατόν.
- Παραδοσιακά,.nc3 αρχεία που υποστηρίζονται μόνο συμβολοσειρές με κωδικοποίηση ASCII (7-bit, #0 - #127) χαρακτήρες. NUG (καιERDDAP) να επεκτείνει ότι (έναρξη ~2017) συμπεριλαμβανομένου του χαρακτηριστικού "\_Encoding" με τιμή "ISO-8859-1" (επέκταση του ASCII που ορίζει όλες τις 256 τιμές κάθε 8-bit χαρακτήρα) ή "UTF-8" για να δείξει πώς κωδικοποιούνται τα δεδομένα συμβολοσειρών. Άλλες κωδικοποιήσεις μπορεί να είναι νόμιμες αλλά αποθαρρύνονται.
.nc4 αρχεία
- .nc4 αρχεία υποστηρίζουν όλαERDDAPΕίναι τύποι δεδομένων.
Αρχεία NCCSV
Τα αρχεία NCCSV 1.0 δεν υποστηρίζουν μη υπογεγραμμένους ακέραιους τύπους δεδομένων. Αρχεία NCCSV 1.1+υποστηρίζουν όλους τους ανώνυμους τύπους ακεραίων δεδομένων.
DAP
- (OPeN)DAP (.das, .dds, .asc αρχεία ASCII, και .dods δυαδικά αρχεία) - Ναι.
- (OPeN)DAPχειρίζεται κοντές, βραχείες, int, uint, πλωτήρα και διπλές τιμές σωστά.
- (OPeN)DAPέχει ένα "byte" τύπος δεδομένων που ορίζει ως ανυπόγραφη, ενώ ιστορικά, thresedds καιERDDAP™έχουν υποστεί επεξεργασία "byte" όπως έχουν υπογράψει(OPeN)DAPυπηρεσίες. Για να το αντιμετωπίσουμε καλύτερα,ERDDAP™2.10+ ακολουθεί το πρότυπο NUG και προσθέτει πάντα ένα "\_Unsigned" χαρακτηριστικό με τιμή " true" ή "false" για να δείξει αν τα δεδομένα είναι αυτό πουERDDAP™καλεί byte ή ubyte. Όλα τα χαρακτηριστικά byte και ubyte γράφονται ως χαρακτηριστικά "byte" με υπογεγραμμένες τιμές (π.χ., ένα ubyte)actual\_rangeχαρακτηριστικό με τιμές 0 έως 255, εμφανίζεται ως χαρακτηριστικό byte με τιμές 0 έως -1 (το αντίστροφο της τιμής συμπληρώματος των δύο της τιμής εκτός εμβέλειας). Δεν υπάρχει εύκολος τρόπος να γνωρίζουμε ποια χαρακτηριστικά "byte" θα πρέπει να διαβάζονται ως χαρακτηριστικά ubyte.
- (OPeN)DAPδεν υποστηρίζει υπογεγραμμένα ή ανυπόγραφα επιμήκη ποσά.ERDDAP™ασχολείται με αυτό μετατρέποντάς τους προσωρινά σε διπλές μεταβλητές και χαρακτηριστικά. Τα διπλά μπορεί να αντιπροσωπεύουν ακριβώς όλες τις τιμές έως και 9,07,199,254,740,992 που είναι 2^53. Αυτή είναι μια ατελής λύση.OPeNDAP (την οργάνωση) αρνείται να κάνει μια μικρή αναβάθμιση σεDAP2.0 να ασχοληθεί με αυτό και τα συναφή προβλήματα, επικαλούμενηDAP4 (μια σημαντική αλλαγή) ως λύση.
- Γιατί;(OPeN)DAPδεν έχει ξεχωριστό τύπο δεδομένων χαρακτήρων και τεχνικά υποστηρίζει μόνο χαρακτήρες ASCII 1 byte (#0 - #127) Στις συμβολοσειρές, οι μεταβλητές δεδομένων χαρακτήρων θα εμφανίζονται ως συμβολοσειρές μήκους 1 χαρακτήρων σε(OPeN)DAP.das, .dds, και .dods απαντήσεις.
- Τεχνικά, η(OPeN)DAPΗ προδιαγραφή υποστηρίζει μόνο συμβολοσειρές με κωδικοποιημένους χαρακτήρες ASCII (#0 - #127) . NUG (καιERDDAP) να επεκτείνει ότι (έναρξη ~2017) συμπεριλαμβανομένου του χαρακτηριστικού "\_Encoding" με τιμή "ISO-8859-1" (επέκταση του ASCII που ορίζει όλες τις 256 τιμές κάθε 8-bit χαρακτήρα) ή "UTF-8" για να δείξει πώς κωδικοποιούνται τα δεδομένα συμβολοσειρών. Άλλες κωδικοποιήσεις μπορεί να είναι νόμιμες αλλά αποθαρρύνονται.
Σχόλια τύπου δεδομένων
- Λόγω της κακής υποστήριξης για μακρά, ulong, και char δεδομένα σε πολλούς τύπους αρχείων, αποθαρρύνουμε τη χρήση αυτών των τύπων δεδομένων σεERDDAP. Όταν είναι δυνατόν, χρησιμοποιήστε διπλό αντί για μακρύ και ulong, και χρησιμοποιήστε String αντί για char.
- Μεταδεδομένα - Επειδή(OPeN)DAPΟι απαντήσεις . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . (και αντ 'αυτού να τους δείξει ως διπλά) , μπορεί να θέλετε να χρησιμοποιήσετεERDDAPΠίνακας αναπαράστασης μεταδεδομένων όπως φαίνεται στοhttp.../εφαρμογή/ Πληροφορίες / datasetID Ιστοσελίδα .html (για παράδειγμα, https://coastwatch.pfeg.noaa.gov/erddap/info/cwwcNDBCMet/index.html ) (το οποίο μπορείτε επίσης να πάρετε σε άλλους τύπους αρχείων, π.χ., .csv,.htmlTable,.itx,.json,.jsonlCSV1,.jsonlCSV,.jsonlKVP,.mat,.nc,.nccsv,.tsv,.xhtml) ή το.nccsvΑνταπόκριση μεταδεδομένων (για παράδειγμα, https://coastwatch.pfeg.noaa.gov/erddap/tabledap/cwwcNDBCMet.nccsvMetadata Αν και.nccsvΤα μεταδεδομένα είναι διαθέσιμα μόνο για σύνολα δεδομένων πίνακα) , και οι δύο υποστηρίζουν όλους τους τύπους δεδομένων (κυρίως, μακρύ, ulong, και char) .
Αρχεία πολυμέσων
Δεν είναι όλα τα δεδομένα σειρές αριθμών ή κειμένου. Μερικά σύνολα δεδομένων αποτελούνται από ή περιλαμβάνουν αρχεία πολυμέσων, όπως αρχεία εικόνας, ήχου και βίντεο.ERDDAP™έχει κάποια ειδικά χαρακτηριστικά για να διευκολύνει τους χρήστες να αποκτήσουν πρόσβαση σε αρχεία πολυμέσων. Είναι διαδικασία δύο βημάτων:
- Κάντε κάθε αρχείο προσβάσιμο μέσω της δικής του διεύθυνσης URL, μέσω ενός συστήματος που υποστηρίζει τα αιτήματα εύρους byte. Ο ευκολότερος τρόπος για να το κάνετε αυτό είναι να βάλετε τα αρχεία σε έναν κατάλογο πουERDDAP™έχει πρόσβαση σε. (Εάν βρίσκονται σε ένα δοχείο όπως ένα.zipαρχείο, unzip τους, αν και μπορεί να θέλετε να προσφέρετε το.zipαρχείο και στους χρήστες.) Τότε, κάνε έναΠίνακας EDD από αρχείοNamesσύνολο δεδομένων για την πρόσβαση αυτών τω ν αρχείων μέσωERDDAP™, ιδίως μέσωERDDAPΣ"files"σύστημα.
Όλα τα αρχεία που γίνονται προσβάσιμα μέσω του EDDTableFromFileNames καιERDDAPΣ"files"υποστήριξη συστήματοςαιτήματα εύρους byte. Κανονικά, όταν ένας πελάτης (π.χ. περιηγητής) κάνει μια αίτηση σε ένα URL, παίρνει ολόκληρο το αρχείο ως απάντηση. Αλλά με μια αίτηση εύρους byte, η αίτηση καθορίζει μια σειρά bytes από το αρχείο, και ο διακομιστής επιστρέφει μόνο αυτά τα bytes. Αυτό είναι σχετικό εδώ επειδή οι συσκευές αναπαραγωγής ήχου και βίντεο σε προγράμματα περιήγησης λειτουργούν μόνο αν το αρχείο μπορεί να προσπελαστεί μέσω των αιτημάτων εμβέλειας byte.
Προαιρετικό: Εάν έχετε περισσότερα από ένα σύνολα δεδομένων με συσχετιζόμενα αρχεία πολυμέσων, μπορείτε να φτιάξετε μόνο ένα EDDTableFromFileNames που έχει έναν υποφάκελο για κάθε ομάδα αρχείων. Το πλεονέκτημα είναι ότι όταν θέλετε να προσθέσετε νέα αρχεία πολυμέσων για ένα νέο σύνολο δεδομένων, το μόνο που έχετε να κάνετε είναι να δημιουργήσετε ένα νέο φάκελο και να βάλετε τα αρχεία σε αυτό το φάκελο. Ο φάκελος και τα αρχεία θα προστεθούν αυτόματα στο σύνολο δεδομένων EDDTableFromFileNames.
- Προαιρετικό: Εάν έχετε ένα σύνολο δεδομένων που περιλαμβάνει αναφορές σε αρχεία πολυμέσων, προσθέστε το στοERDDAP. Για παράδειγμα, μπορεί να έχετε ένα αρχείο .csv με μια σειρά για κάθε φορά που κάποιος είδε μια φάλαινα και μια στήλη που περιλαμβάνει το όνομα ενός αρχείου εικόνας που σχετίζονται με αυτή την παρατήρηση. Εάν το όνομα του αρχείου εικόνας είναι μόνο το όνομα αρχείου, π.χ., Img20141024T192403Z, όχι ένα πλήρες URL, τότε θα πρέπει να προσθέσετεΒάση πρόσβασης αρχείων Url ή/και αρχείο AccessSuffixχαρακτηριστικά στα μεταδεδομένα για αυτόdataVariableτο οποίο προσδιορίζει το βασικό αρχείο και το επίθεμα για τα εν λόγω ονόματα αρχείων. Αν κάνατε τα αρχεία προσβάσιμα μέσω του EDDTableFromFileNames, το URL θα είναι στη μορφή ΒάσηUrl /erddap/αρχεία/ datasetID / Για παράδειγμα,
<att name="fileAccessBaseUrl">*someBaseURL*</a>
<att name="fileAccessSuffix">.png</a>
Εάν υπάρχει.zipή άλλο αρχείο εμπορευματοκιβωτίων με όλα τα αρχεία πολυμέσων που σχετίζονται με μια μεταβλητή δεδομένων, σας συνιστούμε να κάνετε επίσης αυτό το αρχείο προσβάσιμο στους χρήστες (βλέπε βήμα 1 ανωτέρω) και στη συνέχεια να ταυτιστεί με έναΑρχείο AccessArchive Ουρλχαρακτηριστικό γνώρισμα.
\[ΈναρξηERDDAP™v1.82\]Αν κάνεις το πρώτο βήμα πάνω (ή και τα δύο στάδια) , στη συνέχεια, όταν ένας χρήστης βλέπει τοERDDAP™ "files"σύστημα για το εν λόγω σύνολο δεδομένων (ή ζητά να δει ένα υποσύνολο του συνόλου δεδομένων μέσω ενός.htmlTableαίτηση, εάν κάνατε το δεύτερο βήμα) ,ERDDAP™θα δείξει ένα '?' εικονίδιο στα αριστερά του ονόματος αρχείου. Εάν ο χρήστης αιωρείται πάνω από αυτό το εικονίδιο, θα δουν ένα αναδυόμενο εικονίδιο που δείχνει την εικόνα, ή ένα audio player, ή ένα video player. Περιηγητές υποστηρίζουν μόνο έναν περιορισμένο αριθμό τύπων
- εικόνα (Συνήθως .gif, .jpg, και .png) ,
- ήχου (Συνήθως .mp3, .ogg, και .wav) , και
- αρχεία βίντεο (Συνήθως .mp4, .ogv, και . Webm) .
Η υποστήριξη ποικίλλει με διαφορετικές εκδόσεις διαφορετικών φυλλομετρητών σε διαφορετικά λειτουργικά συστήματα. Έτσι, αν έχετε μια επιλογή του ποιος τύπος αρχείου να προσφέρει, είναι λογικό να προσφέρει αυτούς τους τύπους.
Ή, αν ένας χρήστης κάνει κλικ στο όνομα αρχείου που εμφανίζεται σε έναERDDAP™ιστοσελίδα, ο περιηγητής τους θα δείξει την εικόνα, τον ήχο ή το αρχείο βίντεο ως ξεχωριστή ιστοσελίδα. Αυτό είναι ως επί το πλείστον χρήσιμο να δείτε μια πολύ μεγάλη εικόνα ή βίντεο κλιμακώνονται σε πλήρη οθόνη, αντί σε ένα αναδυόμενο.
Εργασία με αρχεία AWS S3
Διαδικτυακή Υπηρεσία Amazon (AWS) είναι ένας πωλητή ςυπολογιστικό σύννεφουπηρεσίες.S3είναι ένα σύστημα αποθήκευσης αντικειμένων που προσφέρεται από το AWS. Αντί του ιεραρχικού συστήματος καταλόγων και αρχείων ενός παραδοσιακού συστήματος αρχείων (σαν ένα σκληρό δίσκο στον υπολογιστή σας) , S3 προσφέρει just "buckets" που κατέχουν "αντικείμενα" (Θα τους τηλεφωνήσουμε."files") .
Για αρχεία ASCII (π.χ., .csv.) ,ERDDAP™μπορεί να λειτουργήσει με τα αρχεία στους κουβάδες άμεσα. Το μόνο πράγμα που πρέπει να κάνετε είναι να καθορίσετε το<αρχείοDir> για το σύνολο δεδομένων χρησιμοποιώντας μια συγκεκριμένη μορφή για τον κουβά AWS, π.χ. https://bucketName.s3.aws-region.amazonaws.com/subdirectory/ . Δεν πρέπει να χρησιμοποιήσετε<cacheFromUrl> . Δείτε παρακάτω για λεπτομέρειες.
Αλλά για δυαδικά αρχεία (π.χ.,.nc, .grib, .bufr, και.hdfαρχεία) , θα πρέπει να χρησιμοποιήσετε το<σύστημα cacheFromUrl> που περιγράφεται παρακάτω.ERDDAP, netcdf-java (το οποίοERDDAP™χρήση για την ανάγνωση δεδομένων από αυτά τα αρχεία) , και άλλα επιστημονικά λογισμικό δεδομένων έχουν σχεδιαστεί για να εργαστούν με αρχεία σε ένα παραδοσ ιακό σύστημα αρχείων που προσφέρειεπίπεδο μπλοκπρόσβαση σε αρχεία (που επιτρέπει την ανάγνωση κομματιών ενός αρχείου) , αλλά S3 προσφέρει μόνοεπίπεδο αρχείου (αντικείμενο) πρόσβαση σε αρχεία (που επιτρέπει μόνο την ανάγνωση ολόκληρου του αρχείου) . Το AWS προσφέρει εναλλακτική λύση έναντι του S3,Ελαστικό κατάστημα μπλοκ (EBS) ), η οποία υποστηρίζει την πρόσβαση στο επίπεδο μπλοκ σε αρχεία, αλλά είναι ακριβότερη από S3, έτσι σπάνια χρησιμοποιείται για τη μαζική αποθήκευση μεγάλων ποσοτήτων αρχείων δεδομένων. (Έτσι, όταν οι άνθρωποι λένε αποθήκευση δεδομένων στο σύννεφο (S3) είναι φθηνό, είναι συνήθως ένα μήλο με πορτοκάλια σύγκριση.)
S3 Κουμπιά
Το περιεχόμενο ενός κουβά. Κλειδιά. Αντικείμενα.
Τεχνικά, οι κουβάδες S3 δεν είναι οργανωμένοι σε μια ιεραρχική δομή αρχείων όπως ένα σύστημα αρχείων σε έναν υπολογιστή. Α ντίθετα, οι κουβάδες περιέχουν μόνο " αντικείμενα" (αρχεία) , καθένα από τα οποία έχει ένα κλειδί (όνομα) . Ένα παράδειγμα ενός κλειδιού στον κουβά Noaa-goes17 είναι
ABI-L1b-RadC/2019/235/22/OR\\_ABI-L1b-RadC-M6C01\\_G17\\_s20192352201196\\_e20192352203569\\_c20192352204013.nc
Το αντίστοιχο URl για το αντικείμενο αυτό είναι
Το AWS υποστηρίζει μια μικρή παραλλαγή του τρόπου κατασκευής του URL, αλλάERDDAP™απαιτεί αυτή τη συγκεκριμένη μορφή:
https://bucketName.s3.region.amazonaws.com/key
Είναι κοινή πρακτική, όπως και με αυτό το παράδειγμα, να κάνει τα ονόματα κλειδιών να μοιάζουν με ιεραρχική διαδρομή συν ένα όνομα αρχείου, αλλά τεχνικά δεν είναι. Δεδομένου ότι είναι κοινό και χρήσιμο,ERDDAP™αντιμετωπίζει τα πλήκτρα με /'s σαν να είναι μια ιεραρχική διαδρομή συν το όνομα αρχείου, και αυτή η τεκμηρίωση θα αναφέρεται σε αυτά ως τέτοια. Αν τα κλειδιά ενός κουβά δεν χρησιμοποιούν /'s (π.χ., ένα κλειδί όπως
ABI-Lib.2018.052.22.22.OR\_ABI-L1b-RadM2-M3C10\_G16\_s20180522247575), στη συνέχειαERDDAP™Απλά θα αντιμετωπίσει ολόκληρο το κλειδί ως ένα μακρύ όνομα αρχείου.
Ιδιωτικό εναντίον δημόσιων αγκίστρων -- Ο διαχειριστής του κάδου S3 μπορεί να κάνει τον κουβά και το περιεχόμενό του δημόσιο ή ιδιωτικό. Αν το κοινό, οποιοδήποτε αρχείο στον κουβά μπορεί να μεταφορτωθεί από οποιονδήποτε χρησιμοποιεί το URL για το αρχείο. Η Amazon έχει έναΆνοιγμα δεδομένωνπρόγραμμα που φιλοξενεί σύνολα δημόσιων δεδομένων (συμπεριλαμβανομένων των δεδομένων απόNOAA, NASA και USGS) δωρεάν και δεν χρεώνει για κανέναν να κατεβάσει τα αρχεία από αυτούς τους κουβάδες. Εάν ένας κουβάς είναι ιδιωτικός, τα αρχεία στον κουβά είναι προσβάσιμα μόνο σε εξουσιοδοτημένους χρήστες και AWS χρεώνει ένα τέλος (συνήθως πληρώνεται από τον ιδιοκτήτη του κουβά) για τη λήψη αρχείων σε μη AWS S3 υπολογιστή.ERDDAP™μπορεί να λειτουργήσει με δεδομένα σε δημόσιους και ιδιωτικούς κουβάδες.
ΠΛΗΡΟΦΟΡΗΣΗ
Για να το κάνω έτσιERDDAP™μπορεί να διαβάσει το περιεχόμενο των ιδιωτικών κουβάδες, χρειάζεστε AWS διαπιστευτήρια και θα πρέπει να αποθηκεύσετε ένα αρχείο διαπιστευτηρίων στο πρότυπο μέρος έτσιERDDAP™μπορεί να βρει τις πληροφορίες. Δείτε το AWS SDK γιαJava2.x τεκμηρίωση:Ορισμός προκαθορισμένων διαπιστευτηρίων. (Η επιλογή αποθήκευσης των τιμών ωςJavaπαράμετροι γραμμής εντολών\[τομκάτ\]/bin/setenv.sh μπορεί να είναι μια καλή επιλογή.)
AWS /αρχεία/
- /αρχεία/ σύστημα -- ΗERDDAP™ /Αρχεία/ σύστημαεπιτρέπει στους χρήστες να κατεβάζουν τα πηγαία αρχεία για ένα σύνολο δεδομένων. Σας συνιστούμε να ενεργοποιήσετε αυτό για όλα τα σύνολα δεδομένων με τα αρχεία πηγαίου κώδικα, επειδή πολλοί χρήστες θέλουν να κατεβάσετε τα αρχικά αρχεία πηγής.
- Εάν τα αρχεία είναι σε έναν ιδιωτικό κουβά S3, το αίτημα του χρήστη για να κατεβάσετε ένα αρχείο θα χειριστεί απόERDDAP™, η οποία θα διαβάσει τα δεδομένα από το αρχείο και στη συνέχεια να τα διαβιβάσει στο χρήστη, αυξάνοντας έτσι το φορτίο για σαςERDDAP™, χρησιμοποιώντας εισερχόμενο και εξερχόμενο εύρος ζώνης, και να σας κάνει (τοERDDAP™διαχειριστής) να καταβάλει το τέλος εξόδου δεδομένων στην AWS.
- Εάν τα αρχεία είναι σε ένα δημόσιο S3 κουβά, το αίτημα του χρήστη να κατεβάσετε ένα αρχείο θα ανακατευθύνεται στο AWS S3 URL για αυτό το αρχείο, έτσι ώστε τα δεδομένα δεν θα ρέει μέσωERDDAP™, μειώνοντας έτσι το φορτίοERDDAP. Και αν τα αρχεία είναι σε ένα Amazon Open Data (δωρεάν) Ο δημόσιος κουβάς, τότε εσύ (τοERDDAP™διαχειριστής) Δεν θα χρειαστεί να πληρώσει καμία αμοιβή εξόδου δεδομένων στο AWS. Έτσι, υπάρχει ένα μ εγάλο πλεονέκτημα που εξυπηρετεί τα δεδομένα από το κοινό (όχι ιδιωτικά) S3 κουβάδες, και ένα τεράστιο πλεονέκτημα για την εξυπηρέτηση δεδομένων από την Amazon Open Data (δωρεάν) κουβάδες.
ERDDAP™και AWS S3 Μπάκετς
ERDDAP™και AWS S3 Μπάκετς
Ευτυχώς, μετά από πολλή προσπάθεια,ERDDAP™έχει μια σειρά από χαρακτηριστικά που της επιτρέπουν να αντιμετωπίσει τα εγγενή προβλήματα της συνεργασίας με το επίπεδο μπλοκ S3 πρόσβαση σε αρχεία με ευλόγως αποτελεσματικό τρόπο:
- \[Αποποίηση ευθύνης: Το να δουλεύεις με κουβάδες AWS S3 είναι πολύ επιπλέον δουλειά. Το AWS είναι ένα τεράστιο οικοσύστημα υπηρεσιών και χαρακτηριστικών. Υπάρχουν πολλά να μάθεις. Χρειάζεται χρόνος και προσπάθεια, αλλά είναι εφικτό. Κάνε υπομονή και θα τα καταφέρεις. Αναζήτηση/ζήτηση βοήθειας
(Τεκμηρίωση AWS, ιστοσελίδες όπωςΣτοίβα υπερχείλισης, κα ι ο τακτικός
ERDDAP™επιλογές υποστήριξηςΑν/όταν κολλήσεις.\]
- Μπορεί να είναι δύσκολο να μάθετε ακόμη και τη δομή καταλόγου και τα ονόματα αρχείων των αρχείων σε έναν κουβά S3.ERDDAP™έχει μια λύση για αυτό το πρόβλημα: EDDTableFromFileNames έχει μια ειδική\\\*από το OnTheFlyεπιλογή που σας επιτρέπει να φτιάξετε ένα EDDTableFromFileNames dataset που επιτρέπει στους χρήστες να περιηγηθούν στα περιεχόμενα ενός κάδου S3 (και λήψη αρχείων) μέσω του συνόλου δεδομένων"files"Επιλογή. Υπάρχει έναπαράδειγμα αυτού παρακάτω.
- ERDDAP™μπορεί να διαβάσει τα δεδομένα απόεξωτερικά συμπιεσμένα αρχεία δεδομένων, έτσι είναι εντάξει αν τα αρχεία για S3 αποθηκεύονται ως.gz,.gzip,.bz2, .Z, ή άλλους τύπους εξωτερικών συμπιεσμένων αρχείων δεδομένων, η οποία μπορεί να δραματικά (2 - 20X) μείωση του κόστους αποθήκευσης αρχείων. Συχνά δεν υπάρχει ποινή χρόνου για τη χρήση εξωτερικών συμπιεσμένων αρχείων, δεδομένου ότι ο χρόνος που αποθηκεύεται με τη μεταφορά ενός μικρότερου αρχείου από S3 σεERDDAPπερίπου ισορροπεί τον επιπλέον χρόνο που απαιτείται γιαERDDAP™Για να αποσυμπιέσετε το αρχείο. Για να χρησιμοποιήσετε αυτό το χαρακτηριστικό, απλά πρέπει να βεβαιωθείτε ότι το σύνολο δεδομένων<αρχείοNameRegex> επιτρέπει τον συμπιεσμένο τύπο αρχείου (π.χ. με προσθήκη (|.gz) έως το τέλος του regex) .
- Για την πιο κοινή περίπτωση, όπου έχετε έναERDDAP™εγκατεστημένο στον υπολογιστή σας για δοκιμή / ανάπτυξη και όπου το σύνολο δεδομένων έχει δυαδικά αρχεία δεδομένων που αποθηκεύονται ως αντικείμενα σε έναν κουβά S3, μια προσέγγιση για να πάρει το σύνολο δεδομένων σεERDDAP™είναι:
-
Δημιουργήστε έναν κατάλογο στον υπολογιστή σας για να κρατήσει μερικά αρχεία δεδομένων δοκιμής.
-
Κατεβάστε δύο αρχεία δεδομένων από την πηγή στον κατάλογο που μόλις δημιουργήσατε.
-
ΧρήσηΔημιουργία συνόλων δεδομένωνXmlγια την παραγωγή του κομματιούdatasets.xmlγια το σύνολο δεδομένων με βάση τα δύο τοπικά αρχεία δεδομένων.
-
Ελέγξτε ότι το σύνολο δεδομένων λειτουργεί όπως επιθυμείτεΔΑΠή/και το τοπικό σαςERDDAP.
Τα ακόλουθα βήματα κάνουν ένα αντίγραφο του συνόλου δεδομένων (που θα πάρει δεδομένα από τον κουβά S3) σε κοινόERDDAP.
-
Αντιγραφή του κομματιού τουdatasets.xmlγια το σύνολο δεδομένων στοdatasets.xmlγια το κοινόERDDAP™Αυτό θα εξυπηρετήσει τα δεδομένα.
-
Δημιουργία καταλόγου στο κοινόERDDAPΕίναι τοπικός σκληρός δίσκος για να κρατήσει μια κρύπτη προσωρινών αρχείων. Ο κατάλογος δεν θα χρησιμοποιήσει πολύ χώρο στο δίσκο. (δείτε cacheSizeGB παρακάτω) .
-
Αλλαγή της τιμής του συνόλου δεδομένων<αρχείοDir> ετικέτα έτσι ώστε να δείχνει τον κατάλογο που μόλις δημιουργήσατε (παρόλο που ο κατάλογος είναι κενός) .
-
Προσθήκη αλανθάνουσα μνήμηFromUrlετικέτα που καθορίζει το όνομα του συνόλου δεδομένων και το προαιρετικό πρόθεμα (Δηλαδή, κατάλογος) στο συγκεκριμένοAws S3 URL Μορφή πουERDDAP™απαιτεί.
-
Προσθήκη α [<λανθάνον μέγεθοςGB>] (#Cachefromurl Από τον ουρανό) ετικέτα στο xml του συνόλου δεδομένων (π.χ. το 10 είναι καλή τιμή για τα περισσότερα σύνολα δεδομένων) για να πωERDDAP™για τον περιορισμό του μεγέθους της τοπικής cache (Δηλαδή, μην προσπαθήσεις να κρύψεις όλα τα απομακρυσμένα αρχεία.) .
-
Δες αν αυτό λειτουργεί στο κοινό.ERDDAP. Σημειώστε ότι την πρώτη φοράERDDAP™φορτώνει το σύνολο δεδομένων, θα πάρει πολύ χρόνο για να φορτώσει, επειδήERDDAP™χρειάζεται να κατεβάσετε και να διαβάσετε όλα τα αρχεία δεδομένων.
-
Εάν το σύνολο δεδομένων είναι μια τεράστια συλλογή από τεράστια πλέγμα αρχεία δεδομένων, αυτό θα πάρει πολύ καιρό και δεν είναι πρακτικό. Σε ορισμένες περιπτώσεις, για τα ηλεκτρονικά αρχεία δεδομένων,ERDDAP™μπορεί να αποσπάσει τις απαραίτητες πληροφορίες (π.χ. το χρονικό σημείο για τα δεδομένα σε ένα αρχείο δεδομένων σε πλέγμα) από το όνομα αρχείου και να αποφευχθεί αυτό το πρόβλημα. Βλέπεις;Συγκέντρωση μέσω Ονόματα αρχείων.
- Προαιρετικά (αλλά ειδικά για τα σύνολα δεδομένων EDDTableFromFiles) , μπορείτε να προσθέσετε έναnThreadsετικέτα στο σύνολο δεδομένων για να πειERDDAPνα χρησιμοποιεί περισσότερο από 1 νήμα όταν ανταποκρίνεται στο αίτημα του χρήστη για δεδομένα. Αυτό ελαχιστοποιεί τα αποτελέσματα της καθυστέρησης που συμβαίνει ότανERDDAP™διαβάζει αρχεία δεδομένων από (απομακρυσμένο) AWS S3 κουβάδες στην τοπική cache και (Ίσως) Τους αποσυμπιέζουμε.
Άνοιγμα δεδομένων AWS S3
Ως μέρος τηςNOAAΣΜεγάλο πρόγραμμα δεδομένων,NOAAέχει συνεργασίες με πέντε οργανισμούς, συμπεριλαμβανομένης της AWS, "να διερευνήσει τα πιθανά οφέλη της αποθήκευσης αντιγράφων των βασικών παρατηρήσεων και εξόδους μοντέλων στο Cloud για να επιτρέψει την απευθείας υπολογιστική στα δεδομένα χωρίς να απαιτεί περαιτέρω διανομή. AWS περιλαμβάνει τα σύνολα δεδομένων που παίρνει απόNOAAως μέρος του προγράμματος της για να προσφέρει δημόσια πρόσβαση σε μια μεγάλη συλλογήΆνοιγμα δεδομένων για το AWS S3από οποιονδήποτε υπολογιστή, είτε πρόκειται για ένα παράδειγμα υπολογισμού Amazon (νοικιασμένο υπολογιστή) στο δίκτυο AWS ή στο δικό σας υπολογιστή σε οποιοδήποτε δίκτυο. Το παρακάτω παράδειγμα υποθέτει ότι εργάζεστε με ένα δημοσίως προσβάσιμο σύνολο δεδομένων.
Πρόσβαση αρχείων σε έναν κάδο AWS S3
Για έναν ιδιωτικό κουβά δεδομένων S3, ο ιδιοκτήτης του κουβά πρέπει να σας δώσει πρόσβαση στον κουβά. (Βλέπε τα έγγραφα AWS.)
Σε όλες τις περιπτώσεις, θα χρειαστείτε ένα λογαριασμό AWS επειδή το AWS SDK γιαJava (το οποίοERDDAP™χρησιμοποιεί για να ανακτήσει πληροφορίες σχετικά με το περιεχόμενο ενός κουβά) απαιτεί πιστοποιητικά λογαριασμού AWS. (περισσότερα για αυτό παρακάτω)
ERDDAP™μπορεί να έχει πρόσβαση σε κουβάδες AWS S3 μόνο αν καθορίσετε το [<cacheFromUrl>] (#Cachefromurl Από τον ουρανό) (ή<αρχείοDir>) σε συγκεκριμένη μορφή:
https://bucketName.s3.aws-region.amazonaws.com/prefix/
όπου
- Ο κουβάςName είναι η σύντομη μορφή του ονόματος κουβά, π.χ. noaa-goes17 .
- Η aws-περιοχή, π.χ., us-east-1, είναι από τη στήλη "Περιφέρεια" σε έναν από τους πίνακες τηςΤέλος σημείων υπηρεσίας AWSόπου βρίσκεται ο κουβάς.
- Το πρόθεμα είναι προαιρετικό. Αν είναι παρών, πρέπει να τελειώσει με'/'.
Για παράδειγμα, https://noaa-goes17.s3.us-east-1.amazonaws.com/ABI-L1b-RadC/
Αυτή η μορφή URL είναι μια από τις συστάσεις AWS S3: δείτεΠρόσβαση σε έναν Κουβάκαιαυτή η περιγραφή προθέσεων.ERDDAP™απαιτεί να συνδυάσετε το URL του κουβά και το προαιρετικό πρόθεμα σε ένα URL προκειμένου να καθορίσετε το<cacheFromUrl> (ή<αρχείοDir>) όπου βρίσκονται τα αρχεία.
Δοκιμή δημόσιων βαλβίδων AWS S3
Για τους δημόσιους κουβάδες, μπορείτε και θα πρέπει να δοκιμάσετε το URL κουβά του καταλόγου AWS S3 στον browser σας, π.χ., https://noaa-goes17.s3.us-east-1.amazonaws.com Εάν το URL του κουβά είναι σωστό και κατάλληλο γιαERDDAP, θα επιστρέψει ένα έγγραφο XML που έχει (μερική) κατάλογο των περιεχομένων του εν λόγω κουβά. Δυστυχώς, το πλήρες URL (Δηλαδή, URL κουβά συν πρόθεμα) ότιERDDAP™θέλει ένα δεδομένο σύνολο δεδομένων δεν λειτουργεί σε ένα πρόγραμμα περιήγησης. Το AWS δεν προσφέρει ένα σύστημα για να περιηγηθείτε στην ιεραρχία ενός κουβά εύκολα στον browser σας. (Αν αυτό είναι λάθος, παρακαλώ στείλτε email στον Κρις. Τζον στο Νόαγκοβ. Διαφορετικά, Amazon, παρακαλώ προσθέστε υποστήριξη για αυτό!)
Βλέπει τα Περιεχόμενα ενός Κουβά
S3 κουβάδες συχνά περιέχουν μια-δυο κατηγορίες αρχείων, σε μια-δυο ψευδο-υποκαταλόγους, η οποία θα μπορούσε να γίνει ένα-δυο απόERDDAP™σύνολα δεδομένων. Για να κάνει τοERDDAP™σύνολα δεδομένων, θα πρέπει να γνωρίζετε τον κατάλογο έναρξης για<cacheFromUrl> (ή<fileDir>) και τη μορφή των ονομάτων αρχείων που προσδιορίζουν αυτό το υποσύνολο αρχείων. Αν προσπαθήσετε να δείτε ολόκληρο το περιεχόμενο ενός κουβά σε ένα πρόγραμμα περιήγησης, το S3 θα σας δείξει μόνο τα πρώτα 1000 αρχεία, τα οποία είναι ανεπαρκή. Επί του παρόντος, ο καλύτερος τρόπος για να δείτε όλα τα περιεχόμενα ενός κουβά είναι να κάνει έναΠίνακας EDD από αρχείοNamesσύνολο δεδομένων (στο PC σαςERDDAP™ή/και στο κοινό σαςERDDAP) , το οποίο σας δίνει επίσης έναν εύκολο τρόπο να περιηγηθείτε στη δομή καταλόγου και να κατεβάσετε αρχεία. Η<αρχείοDir> για αυτό θα είναι το URL που κάνατε παραπάνω, π.χ., https://noaa-goes17.s3.us-east-1.amazonaws.com .\[Γιατί το AWS S3 δεν προσφέρει ένα γρήγορο και εύκολο τρόπο για οποιονδήποτε να το κάνει αυτό χωρίς λογαριασμό AWS;\]Σημειώστε ότι όταν το κάνω αυτό στον υπολογιστή μου σε ένα μη-Αμαζόνιο δίκτυο, φαίνεται ότι η Amazon επιβραδύνει την απόκριση σε μια trickπή (περίπου 100 (♪ ♪) αρχεία ανά κομμάτι) μετά τα πρώτα κομμάτια (1000 αρχείων ανά τεμάχιο) κατεβάζονται. Δεδομένου ότι οι κουβάδες μπορεί να έχουν ένα τεράστιο αριθμό αρχείων (Η Noaa-goes17 έχει 26 εκατομμύρια) , να πάρει όλα τα περιεχόμενα ενός κουβά μπορεί να λάβει EDDTableFromFileNames αρκετές ώρες (π.χ., 12!) να τελειώσει.\[Αμαζόνιο, σωστά;!\]
Δημιουργία ενός πίνακα EDD ΑπόΑρχείοNames Dataset με έναν κάδο AWS S3
Εάν έχετε ένα όνομα κουβά, αλλά δεν έχετε ήδη μια λίστα αρχείων στον κουβά S3 ή το πρόθεμα που προσδιορίζει τη θέση των σχετικών αρχείων στον κουβά, χρησιμοποιήστε τις παρακάτω οδ ηγίες για να φτιάξετε ένα σύνολο δεδομένων EDDTableFromFileNames ώστε να μπορείτε να περιηγηθείτε στην ιεραρχία καταλόγου του κουβά S3 μέσωERDDAPΣ"files"σύστημα.
- Άνοιγμα λογαριασμού AWS ERDDAP™χρησιμοποιεί τοAWS SDK γιαJavaγια να πάρετε πληροφορίες κουβά από AWS, έτσι θα πρέπει ναδημιουργία και ενεργοποίηση λογαριασμού AWS. Πολύ μεγάλη δουλειά, με πολλά πράγματα να μάθεις.
- Βάλτε την εντολή AWS σας όπουERDDAP™Μπορεί να τους βρει. Ακολουθήστε τις οδηγίεςSet της εντολής AWS και της περιοχής ανάπτυξηςΟπότε...ERDDAP™ (Συγκεκριμένα, το AWS SDK γιαJava) θα είναι σε θέση να βρει και να χρησιμοποιήσει τα διαπιστευτήριά σας AWS. ΕάνERDDAP™Δεν μπορείτε να βρείτε τα διαπιστευτήρια, θα δείτε Τζάβα. Λανγκ. ΠαράνομοΕπιχειρήματαException: το αρχείο προφίλ δεν μπορεί να είναι κενό σφάλμα στοERDDAPΤο αρχείο καταγραφής.
Υπόδειξη για το Linux και το Mac OS: το αρχείο διαπιστευτηρίων πρέπει να βρίσκεται στον αρχικό κατάλογο του χρήστη που εκτελεί το Tomcat (καιERDDAP) (Για αυτή την παράγραφο, θα υποθέσουμε user=tomcat) σε ένα αρχείο που ονομάζεται ~/.aws / credentials . Μην υποθέτεις ότι το ~ είναι /home/tomcat -- στην πραγματικότητα χρησιμοποιεί το cd ~ για να ανακαλύψει που πιστεύει το λειτουργικό σύστημα ~ για το user=tomcat είναι. Δημιουργήστε τον κατάλογο αν δεν υπάρχει. Επίσης, αφού βάλετε το αρχείο διαπιστευτηρίων στη θέση του, βεβαιωθείτε ότι ο χρήστης και η ομάδα για το αρχείο είναι tomcat και στη συνέχεια χρησιμοποιήστε chmod 400 διαπιστευτήρια για να βεβαιωθείτε ότι το αρχείο είναι μόνο ανάγνωσης για το χρήστη=tomcat.
- Δημιουργία του URL κουβά στομορφή πουERDDAP™απαιτεί, π.χ., https://noaa-goes17.s3.us-east-1.amazonaws.com , και (για δημόσιους κουβάδες) δοκιμάστε το σε ένα πρόγραμμα περιήγησης για να βεβαιωθείτε ότι επιστρέφει ένα έγγραφο XML το οποίο έχει μια μερική λίστα των περιεχομένων του εν λόγω κουβά.
- ΧρήσηΔημιουργία συνόλων δεδομένωνXmlγια τη δημιουργία ενόςΠίνακας EDD από αρχείοNamesσύνολο δεδομένων:
-
Για τον αρχικό κατάλογο, χρησιμοποιήστε αυτή τη σύνταξη: \\\ Από το OnTheFly, BucketUrl σας* για παράδειγμα, \\\Από το OnTheFly, https://noaa-goes17.s3.us-east-1.amazonaws.com/
-
Όνομα αρχείου regex; .\*
-
Αναδρομική; αλήθεια
-
επαναφόρτωση Κάθε λεπτό; 10080
-
infoUrl♪ ♪ https://registry.opendata.aws/noaa-goes/
-
Ίδρυμα;NOAA
-
Περίληψη; τίποτα (ERDDAP™θα δημιουργήσει μια αξιοπρεπή περίληψη αυτόματα.)
-
Τίτλος; τίποτα (ERDDAP™θα δημιουργήσει έναν αξιοπρεπή τίτλο αυτόματα.) Ως συνήθως, θα πρέπει να επεξεργαστείτε το αποτέλεσμα XML για να επαληθεύσετε την ορθότητα και να κάνετε βελτιώσεις πριν από το κομμάτι των συνόλων δεδομένων χρησιμοποιώντας τοdatasets.xml.
-
- Εάν ακολουθήσετε τις παραπάνω οδηγίες και φορτώσετε το σύνολο δεδομένωνERDDAP, έχετε δημιουργήσει ένα σύνολο δεδομένων EDDTableFromFiles. Για παράδειγμα, και για να είναι ευκολότερο για οποιονδήποτε να περιηγηθεί και να κατεβάσει αρχεία από τους AWS Open Data κουβάδες, δημιουργήσαμε το EDDTableFromFileNames datasets (δείτε τη λίστα στο
https://upwell.pfeg.noaa.gov/erddap/search/index.html?searchFor=awsS3Files\_ ) για σχεδόν όλα ταAWS S3 Ανοιχτοί κουβάδες δεδομένων.
\[Οι λίγοι κουβάδες που δεν συμπεριλάβαμε είτε έχουν ένα μεγάλο αριθμό αρχείων στον ριζικό κατάλογο (περισσότερα από όσα μπορείτε να κατεβάσετε σε εύλογο χρονικό διάστημα) , ή δεν επιτρέπουν την πρόσβαση του κοινού (Δεν υποτίθεται ότι είναι όλοι δημόσιοι;) , ή είναι ο αιτών πληρώνει κουβάδες (π.χ., Sentinel) .\]
Εάν κάνετε κλικ στο"files"σύνδεση για ένα από αυτά τα σύνολα δεδομένων, μπορείτε να περιηγηθείτε στο δέντρο καταλόγου και τα αρχεία σε αυτόν τον κουβά S3. Λόγω του τρόπου\\\* από το OnTheFly EDDTableFromFiles λειτουργεί, αυτές οι λίστες καταλόγου είναι πάντα απόλυτα ενημερωμένες επειδήERDDAP™Τους παίρνει στην πτήση. Αν κάνετε κλικ στο δέντρο καταλόγου σε ένα πραγματικό όνομα αρχείου και κάνετε κλικ στο όνομα αρχείου,ERDDAP™θα ανακατευθύνει το αίτημά σας σε AWS S3 έτσι ώστε να μπορείτε να κατεβάσετε το αρχείο απευθείας από AWS. Μπορείτε τότε να επιθεωρήσετε αυτό το αρχείο.
Πρόβλημα; Αν ο πίνακας EDDFromFiles σας δεν φορτώσειERDDAP™ (ή DasDds) , δείτε στο αρχείο log.txt για ένα μήνυμα σφάλματος. Εάν δείτε ένα Τζάβα. Λανγκ. ΠαράνομοΕπιχειρήματαΕξαίρεση: το αρχείο προφίλ δεν μπορεί να είναι κενό σφάλμα, το πρόβλημα είναι ότι το AWS SDK γιαJava (χρησιμοποιείται απόERDDAP) Δεν βρίσκει το αρχείο διαπιστευτηρίων. Δείτε τις παραπάνω οδηγίες πιστοποίησης.
Είναι ατυχές που το AWS δεν επιτρέπει απλά στους ανθρώπους να χρησιμοποιούν ένα πρόγραμμα περιήγησης για να δουν το περιεχόμενο ενός δημόσιου κουβά.
Τότε μπορείς να κάνειςERDDAP™σύνολα δεδομένων που δίνουν στους χρήστες πρόσβαση στα δεδομένα των αρχείων.
Βλέπε τις οδηγίεςERDDAP™και S3 Μπάκετς (ανωτέρω) .
Για το δείγμα EDDTableFromFileNames dataset που κάνατε παραπάνω, αν κάνετε λίγο ψάξιμο με τον κατάλογο και τα ονόματα αρχείων στο δέντρο καταλόγου, γίνεται σαφές ότι τα ονόματα καταλόγου ανωτάτου επιπέδου (π.χ., ABI-L1b-RadC) αντιστοιχεί σε ό, τιERDDAP™θα καλούσε ξεχωριστά σύνολα δεδομένων. Ο κουβάς με τον οποίο δουλεύεις μπορεί να είναι παρόμοιος. Στη συνέχεια, θα μπορούσατε να επιδιώξετε τη δημιουργία ξεχωριστών συνόλων δεδομένωνERDDAP™για κάθε ένα από αυτά τα σύνολα δεδομένων, χρησιμοποιώντας, π.χ.,
https://noaa-goes17.s3.us-east-1.amazonaws.com/ABI-L1b-RadC/
ως η<cacheFromUrl>. Δυστυχώς, για το συγκεκριμένο παράδειγμα, τα σύνολα δεδομένων στον κουβά όλα φαίνονται να είναι επίπεδο 1 ή επίπεδο 2 σύνολα δεδομένων, το οποίοERDDAP™ δεν είναι ιδιαίτερα καλή στο, επειδή το σύνολο δεδομένων είναι μια πιο περίπλοκη συλλογή μεταβλητών που χρησιμοποιούν διαφορετικές διαστάσεις.
Αρχεία NcML
NcML αρχεία σας επιτρέπο υν να ορίσετε τις αλλαγές on-the-fly σε μία ή περισσότερες αρχικές πηγέςNetCDF (v3 ή v4) .nc, .grib, .bufr, ή.hdf (v4 ή v5) αρχεία, και στη συνέχεια έχουνERDDAP™θεραπεία.ncαρχεία ml ως πηγαία αρχεία.ERDDAP™Τα σύνολα δεδομένων θα δεχτούν.ncαρχεία ml όποτε.ncΤα αρχεία αναμένονται. Τα αρχεία NcML ΠΡΕΠΕΙ να έχουν την επέκταση.ncml. Δείτε τοUnidataΤεκμηρίωση NcML. NcML είναι χρήσιμο γιατί μπορείτε να κάνετε κάποια πράγματα με αυτό (για παράδειγμα, κάνοντας διαφορετικές αλλαγές σε διαφορετικά αρχεία σε μια συλλογή, συμπεριλαμβανομένης της προσθήκης διάστασης με συγκεκριμένη τιμή σε ένα αρχείο) , ότι δεν μπορείτε να κάνετε μεERDDAPΣdatasets.xml.
- Αλλαγές σε.ncΗ τελευταία τροποποιημένη ώρα του αρχείου ml θα προκαλέσει την επαναφόρτωση του αρχείου όταν επαναφορτωθεί το σύνολο δεδομένων, αλλά αλλαγές στο υποκείμενο.ncΤα αρχεία δεδομένων δεν θα παρατηρηθούν άμεσα.
- Υπόδειξη: NcML είναι\*πολύ\*ευαίσθητο στη σειρά ορισμένων αντικειμένων στο αρχείο NcML. Σκεφτείτε το NcML ως καθορισμό μιας σειράς οδηγιών στην καθορισμένη σειρά, με την πρόθεση να αλλάξετε τα αρχεία πηγής (η κατάσταση στην αρχή/πά νω του αρχείου NcML) στα αρχεία προορισμού (η κατάσταση στο τέλος/κάτω μέρος του αρχείου NcML) .
Μια εναλλακτική λύση για NcML είναι ηNetCDFΦορείς εκμετάλλευσης (NCO) . Η μεγάλη διαφορά είναι ότι η NcML είναι ένα σύστημα για τις αλλαγές στην-the-fly (Οπότε τα αρχεία πηγής δεν έχουν αλλάξει.) , ότιNCOμπορεί να χρησιμοποιηθεί για να κάνει αλλαγές σε (ή νέες εκδόσεις του) Τα αρχεία. Και τα δύοNCOκαι NcML είναι πολύ, πολύ ευέλικτο και σας επιτρέπει να κάνετε σχεδόν οποιαδήποτε αλλαγή μπορείτε να σκεφτείτε στα αρχεία. Και για τους δύο, μπορεί να είναι δύσκολο να καταλάβουμε ακριβώς πώς να κάνουμε αυτό που θέλετε να κάνετε -- ελέγξτε το διαδίκτυο για παρόμοια παραδείγματα. Και τα δύο είναι χρήσιμα εργαλεία για την προετοιμασία του netCDF καιHDFαρχεία για χρήση μεERDDAP, ιδίως για να γίνουν αλλαγές πέρα από τιςERDDAPΤο σύστημα χειραγώγησης μπορεί να κάνει.
Παράδειγμα #1: Προσθήκη μιας χρονικής διάστασης με μια ενιαία τιμή Ορίστε..ncml αρχείο που δημιουργεί μια νέα εξωτερική διάσταση (χρόνος, με 1 τιμή: 1041379200) και προσθέτει αυτή τη διάσταση στη μεταβλητή pic στο αρχείο με το όνομα A2003001.L3m\_DAY\_PIC\_pic\_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>
Παράδειγμα #2: Αλλαγή μιας υπάρχουσας τιμής χρόνου Μερικές φορές η πηγή.ncαρχείο έχει ήδη μια χρονική διάσταση και τιμή χρόνου, αλλά η τιμή είναι λανθασμένη (για τους σκοπούς σας) . Αυτό.ncΑρχείο ml λέει: για το αρχείο δεδομένων που ονομάζεται "198119810825230030-NCEI...", για τη μεταβλητή διάσταση"time", set the units account to be 'seconds from 1970-01-01T00:00:00Z' και set the time value to be 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>
NetCDFΦορείς εκμετάλλευσης (NCO)
"Οι φορείς εκμετάλλευσης του δικτύουCDF (NCO) περιλαμβάνουν μια ντουζίνα ανεξάρτητα, προγράμματα γραμμής εντολών που λαμβάνουν netCDF\[v3 ή v4\],HDF \[v4 ή v5\],\[.Grib, .bufr,\]ή/καιDAPαρχεία ως είσοδο, στη συνέχεια, λειτουργούν (π.χ., να αντλούν νέα δεδομένα, να υπολογίσουν στατιστικά στοιχεία, εκτύπωση, hyperslab, να χειρίζονται μεταδεδομένα) και την έξοδο των αποτελεσμάτων στην οθόνη ή τα αρχεία σε κείμενο, δυαδικό, ή netCDF μορφές.NCOΒοηθά στην ανάλυση των δικτυωμένων επιστημονικών δεδομένων. Το στυλ του κελύφους-χειρισμούNCOεπιτρέπει στους χρήστες να χειραγωγούν και να αναλύουν αρχεία διαδραστικά, ή με εκφραστικά σενάρια που αποφεύγουν κάποια πάνω από τα ανώτερα επίπεδα περιβάλλοντα προγραμματισμού. (από τηνNCOΑρχική σελίδα) .
Μια εναλλακτική λύσηNCOλέNcML. Η μεγάλη διαφορά είναι ότι η NcML είναι ένα σύστημα για τις αλλαγές στην-the-fly (Οπότε τα αρχεία πηγής δεν έχουν αλλάξει.) , ότιNCOμπορεί να χρησιμοποιηθεί για να κάνει αλλαγές σε (ή νέες εκδόσεις του) Τα αρχεία. Και τα δύοNCOκαι NcML είναι πολύ, πολύ ευέλικτο και σας επιτρέπει να κάνετε σχεδόν οποιαδήποτε αλλαγή μπορείτε να σκεφτείτε στα αρχεία. Και για τους δύο, μπορεί να είναι δύσκολο να καταλάβουμε ακριβώς πώς να κάνουμε αυτό που θέλετε να κάνετε -- ελέγξτε το διαδίκτυο για παρόμοια παραδείγματα. Και τα δύο είναι χρήσιμα εργαλεία για την προετοιμασία του netCDF καιHDFαρχεία για χρήση μεERDDAP, ιδίως για να γίνουν αλλαγές πέρα από τιςERDDAPΤο σύστημα χειραγώγησης μπορεί να κάνει.
Για παράδειγμα, μπορείτε να χρησιμοποιήσετεNCOνα κάνουν τις μονάδες του χρόνου μεταβλητή συνεπή σε μια ομάδα αρχείων όπου δεν ήταν συνεπή αρχικά. Ή, μπορείτε να χρησιμοποιήσετεNCOγια εφαρμογήscale\_factorκαιadd\_offsetσε μια ομάδα αρχείων όπουscale\_factorκαιadd\_offsetέχουν διαφορετικές τιμές σε διαφορετικά πηγαία αρχεία. (Ή μπορείς τώρα να αντιμετωπίσεις αυτά τα προβλήματαERDDAP™μέσωEDDGridΑπό αρχείαNcUnpacked, η οποία είναι μια παραλλαγή τουEDDGridFromNcFiles που αποσυσκευάζει τα συσκευασμένα δεδομένα και τυποποιεί τις τιμές χρόνου σε χαμηλό επίπεδο προκειμένου να ασχοληθεί με μια συλλογή αρχείων που έχουν διαφορετικέςscale\_factors καιadd\_offset, ή διαφορετικές χρονικές μονάδες.)
NCOείναι Ελεύθερο και Open Source Software που χρησιμοποιεί τοGPL 3.0Δίπλωμα.
Παράδειγμα #1: Κάνοντας τις μονάδες συνεπείς
EDDGridΑπό αρχεία και πίνακα EDD Από τα Αρχεία επιμένει ότι οι μονάδες για μια δεδομένη μεταβλητή είναι πανομοιότυπες σε όλα τα αρχεία. Αν μερικά αρχεία είναι ασήμαντα (μη λειτουργικά) διαφορετικές από τις άλλες (π.χ. μονάδες χρόνου
"δευτερόλεπτα από το 1970-01-01 00:00:00 UTC" έναντι
"seconds since 1970-01-01T00:00:00Z", θα μπορούσατε να χρησιμοποιήσετεNCOΣncatted. να αλλάξει τις μονάδες σε όλα τα αρχεία να είναι πανομοιότυπα με
nco/ncatted -μια μονάδα, χρόνο, o,c,' δευτερόλεπτα από το 1970-01-01T00:00:00Z' \*.nc
\[Για πολλά προβλήματα όπως αυτό στο EDDTableFrom... Σειρά δεδομένων αρχείων, μπορείτε τώρα να χρησιμοποιήσετεΤυποποίηση Τι;για να πωERDDAPγια την τυποποίηση των πηγαίων αρχείων καθώς διαβάζονταιERDDAP.\]
Όρια στο μέγεθος ενός συνόλου δεδομένων
Θα δείτε πολλές αναφορές στα "2 δισεκατομμύρια" παρακάτω. Ακριβέστερα, αυτή είναι μια αναφορά στο 2.147.483.647 (2^31-1) , η οποία είναι η μέγιστη τιμή ενός 32-bit υπογεγραμμένου ακέραιου. Σε μερικές γλώσσες υπολογιστών, για παράδειγμαJava (το οποίοERDDAP™γράφεται στο) , αυτός είναι ο μεγαλύτερος τύπος δεδομένων που μπορεί να χρησιμοποιηθεί για πολλές δομές δεδομένων (για παράδειγμα, το μέγεθος μιας συστοιχίας) .
Για τιμές συμβολοσειράς (για παράδειγμα, για τα ονόματα μεταβλητών, τα ονόματα χαρακτηριστικών, τις τιμές χαρακτηριστικών συμβολοσειρών και τις τιμές δεδομένων συμβολοσειρών) , ο μέγιστος αριθμός χαρακτήρων ανά συμβολοσειράERDDAP™είναι ~2 δισεκατομμύρια. Αλλά σχεδόν σε όλες τις περιπτώσεις, θα υπάρξουν μικρά ή μεγάλα προβλήματα αν ένα String υπερβαίνει ένα λογικό μέγεθος (π.χ. 80 χαρακτήρες για μεταβλητά ονόματα και ονόματα χαρακτηριστικών, και 255 χαρακτήρες για τις περισσότερες τιμές χαρακτηριστικών συμβολοσειρών και τιμές δεδομένων) . Για παράδειγμα, οι ιστοσελίδες που εμφανίζουν μακρά μεταβλητά ονόματα θα είναι αμήχανα ευρύ και μακρά μεταβλητά ονόματα θα περικοπούν αν υπερβαίνουν το όριο του τύπου αρχείου απόκρισης.
Για δέσμες δεδομένων με πλέγμα:
- Ο μέγιστος αριθμόςaxisVariableΤο s είναι ~2 δισεκατομμύρια. Ο μέγιστος αριθμόςdataVariableΤο s είναι ~2 δισεκατομμύρια. Αλλά αν ένα σύνολο δεδομένων έχει > 100 μεταβλητές, θα είναι δυσκίνητο για τους χρήστες να χρησιμοποιούν. Και αν ένα σύνολο δεδομένων έχει > 1 εκατομμύριο μεταβλητές, ο διακομιστής σας θα χρειαστεί πολλή φυσική μνήμη και θα υπάρξουν άλλα προβλήματα.
- Το μέγιστο μέγεθος κάθε διάστασης (axisVariable) είναι ~2 δισεκατομμύρια τιμές.
- Νομίζω ότι ο μέγιστος συνολικός αριθμός κυττάρων (το προϊόν όλων των μεγεθών διαστάσεων) είναι απεριόριστη, αλλά μπορεί να είναι ~9e18.
Για σύνολα δεδομένων πίνακα:
- Ο μέγιστος αριθμόςdataVariableΤο s είναι ~2 δισεκατομμύρια. Αλλά αν ένα σύνολο δεδομένων έχει > 100 μεταβλητές, θα είναι δυσκίνητο για τους χρήστες να χρησιμοποιούν. Και αν ένα σύνολο δεδομένων έχει > 1 εκατομμύριο μεταβλητές, ο διακομιστής σας θα χρειαστεί πολλή φυσική μνήμη και θα υπάρξουν άλλα προβλήματα.
- Ο μέγιστος αριθμός πηγών (για παράδειγμα, αρχεία) Αυτό μπορεί να συγκεντρωθεί είναι ~2 δισεκατομμύρια.
- Σε ορισμένες περιπτώσεις, ο μέγιστος αριθμός σε ιρών από μια μεμονωμένη πηγή (για παράδειγμα, ένα αρχείο, αλλά όχι μια βάση δεδομένων) είναι ~2 δισεκατομμύρια σειρές.
- Δεν νομίζω ότι υπάρχουν άλλα όρια.
Για τα σύνολα δεδομένων με κάνναβο και πίνακα, υπάρχουν κάποια εσωτερικά όρια στο μέγεθος του υποσύνολου που μπορεί να ζητηθεί από ένα χρήστη σε ένα μόνο αίτημα (συχνά σχετίζονται με > 2 δισεκατομμύρια κάτι ή ~9e18 κάτι) , αλλά είναι πολύ πιο πιθανό ότι ένας χρήστης θα χτυπήσει τα όρια τύπου αρχείου.
- NetCDFέκδοση 3.ncτα αρχεία περιορίζονται σε bytes 2GB. (Αν αυτό είναι πρόβλημα για κάποιον, ενημέρωσέ με: (Χειροκροτήματα)NetCDFέκδοση 3.ncΕπέκταση 64- bit ήNetCDFΈκδοση 4, η οποία θα αυξήσει σημαντικά το όριο, αλλά όχι απείρως.)
- Περιηγητές συντρίβονται μετά από μόνο ~500MB των δεδομένων, έτσιERDDAP™περιορίζει την απόκριση σε.htmlTableζητεί να ~400MB των δεδομένων.
- Πολλά προγράμματα ανάλυσης δεδομένων έχουν παρόμοια όρια (για παράδειγμα, το μέγιστο μέγεθος μιας διάστασης είναι συχνά ~2 δισεκατομμύρια τιμές) , έτσι δεν υπάρχει λόγος να εργαστεί σκληρά για να πάρει γύρω από το αρχείο-τύπο-συγκεκριμένα όρια.
- Τα ειδικά για το αρχείο όρια είναι χρήσιμα επειδή εμποδίζουν αφελείς αιτήσεις για πραγματικά τεράστιες ποσότητες δεδομένων (Για παράδειγμα, "δώσε μου όλο αυτό το σύνολο δεδομένων" όταν το σύνολο δεδομένων έχει 20TB δεδομένων) , η οποία θα πάρει εβδομάδες ή μήνες για να κατεβάσετε. Όσο περισσότερο το κατέβασμα, τόσο πιο πιθανό θα αποτύχει για διάφορους λόγους.
- Τα ειδικά για τον τύπο του αρχείου όρια είναι χρήσιμα στο ότι αναγκάζουν τον χρήστη να αντιμετωπίσει υποσύνολα ευλόγως μεγέθους (για παράδειγμα, η αντιμετώπιση ενός μεγάλου πλέγματος δεδομένων μέσω αρχείων με δεδομένα από ένα χρονικό σημείο το καθένα) .
Εναλλαγή σε ACDD-1,3
Εμείς (κυρίωςΔημιουργία συνόλων δεδομένωνXml) προς το παρόν συνιστάταιΈκδοση ACDD 1.3, η οποία επικυρώθηκε στις αρχές του 2015 και η οποία αναφέρεται ως "ACDD-1,3" στις παγκόσμιες Συμβάσεις χαρακτηριστικό. Πριν απόERDDAP™έκδοση 1.62 (κυκλοφόρησε τον Ιούνιο του 2015) ,ERDDAP™χρησιμοποιείται/συνιστά το πρωτότ υπο, έκδοση 1.0, τηςNetCDFΣύμβαση χαρακτηριστικών για την ανακάλυψη συνόλου δεδομένωνπου αναφέρεται ως "UnidataDataset Discovery v1.0" στις παγκόσμιες συμβάσεις καιMetadata\_ConventionsΧαρακτηριστικά.
Εάν τα σύνολα δεδομένων σας χρησιμοποιούν προηγούμενες εκδόσεις του ACDD, σας συνιστούμε να μεταβείτε στο ACDD-1.3. Δεν είναι δύσκολο. Το ACDD-1,3 είναι συμβατό με την έκδοση 1.0. Εναλλαγή, για όλα τα σύνολα δεδομένων (εκτόςEDDGridΑπό το Erddap και τον πίνακα EDD Συστήματα δεδομένων FromErddap) :
- Αφαίρεση του νέου υποτιμημένου παγκόσμιουMetadata\_Conventionsχαρακτηριστικό με την προσθήκη (ή με την αλλαγή των υφιστάμενωνMetadata\_Conventionsχαρακτηριστικό)
<att name="Metadata\\_Conventions">null</att>
στο παγκόσμιο σύνολο δεδομένων<addAttributes>. 2. Εάν το σύνολο δεδομένων έχει χαρακτηριστικό των συμβάσεων στο παγκόσμιο<addAttributes>, αλλαγή όλων "UnidataDataset Discovery v1.0" αναφορές στο "ACDD-1.3". Εάν το σύνολο δεδομένων δεν έχει ένα χαρακτηριστικό Συμβάσεων στο παγκόσμιο<addAttributes>, στη συνέχεια, προσθέστε ένα που αναφέρεται στο ACDD-1.3. Για παράδειγμα,
<att name="Conventions">COARDS, CF-1.6, ACDD-1.3</att>
3. Αν το σύνολο δεδομένων έχει ένα παγκόσμιοstandard\_name\_vocabularyχαρακτηριστικό, παρακαλώ να αλλάξετε τη μορφή της τιμής σε, για παράδειγμα,
<att name="standard\\_name\\_vocabulary">CF Standard Name Table v65</att>
Εάν η αναφορά αφορά παλαιότερη έκδοση τηςΠίνακας τυποποιημένων ονομάτων CF. είναι πιθανώς μια καλή ιδέα να μεταβείτε στην τρέχουσα έκδοση (65, όπως γράφουμε αυτό) , δεδομένου ότι τα νέα τυποποιημένα ονόματα προστίθενται σε αυτόν τον πίνακα με τ ις επόμενες εκδόσεις, αλλά παλιά τυποποιημένα ονόματα σπάνια υποτιμούνται και δεν αφαιρούνται ποτέ. 4. Αν και το ACDD-1.0 περιελάμβανε καθολικά χαρακτηριστικά γιαcreator\_name,creator\_email,creator\_url,Δημιουργία συνόλων δεδομένωνXmlΔεν τα πρόσθεσα αυτόματα μέχρι που κάποια στιγμή γύρωERDDAP™v1,50. Αυτές είναι σημαντικές πληροφορίες:
- creator\_nameενημερώνει τους χρήστες/παρακινεί τον δημιουργό του συνόλου δεδομένων.
- creator\_emailλέει στους χρήστες την προτιμώμενη διεύθυνση ηλεκτρονικού ταχυδρομείου για την επικοινωνία με τον δημιουργό του συνόλου δεδομένων, για παράδειγμα αν έχουν ερωτήσεις σχετικά με το σύνολο δεδομένων.
- creator\_urlδίνει στους χρήστες έναν τρόπο να μάθουν περισσότερα για τον δημιουργό.
- ERDDAP™χρησιμοποιεί όλες αυτές τις πληροφορίες κατά την παραγωγή εγγράφων μεταδεδομένων FGDC και ISO 19115-2/19139 για κάθε σύνολο δεδομένων. Τα έγγραφα αυτά χρησιμοποιούνται συχνά από εξωτερικές υπηρεσίες αναζήτησης.
Παρακαλώ προσθέστε αυτές τις ιδιότητες στο παγκόσμιο σύνολο δεδομένων<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>
Αυτό είναι. Ελπίζω να μην ήταν πολύ δύσκολο.
Ζαρ
Από την έκδοση 2.25ERDDAP™μπορεί να διαβάσει τοπικά Αρχεία Zarr που χρησιμοποιούνΠίνακας EDD από αρχείαNcκαιEDDGridΑπό αρχείαNc.
(Από τον Αύγουστο του 2019) Θα μπορούσαμε εύκολα να κάνουμε λάθος, αλλά δεν είμαστ ε ακόμα πεπεισμένοι ότιΖαρ, ή παρόμοια συστήματα που διασπούν αρχεία δεδομένων σε μικρότερα κομμάτια, είναι μεγάλες λύσεις στο πρόβλημα τηςERDDAP™ανάγνωση δεδομένων αποθηκευμένων σε υπηρεσίες cloud όπως το Amazon AWS S3. Ο Zarr είναι μια μεγάλη τεχνολογία που έχει δείξει τη χρησιμότητά της σε διάφορες καταστάσεις, απλά δεν είμαστε σίγουροι ότιERDDAP+S3 θα είναι μια από αυτές τις καταστάσεις. Κυρίως λέμε: πριν βιαστούμε να κάνουμε την προσπάθεια να αποθηκεύσουμε όλα τα δεδομένα μας στο Zarr, ας κάνουμε κάποιες εξετάσεις για να δούμε αν είναι στην πραγματικότητα μια καλύτερη λύση.
Τα προβλήματα με την πρόσβαση δεδομένων στο σύννεφο είναι λανθάνουσα (η καθυστέρηση για την πρώτη λήψη δεδομένων) και πρόσβαση σε επίπεδο αρχείων (αντί για πρόσβαση σε επίπεδο μπλοκ) . Ο Zarr λύνει το πρόβλημα πρόσβασης σε επίπεδο αρχείου, αλλά δεν κάνει τίποτα για την καθυστέρηση. Σε σύγκριση με τη λήψη του αρχείου (ώστε να μπορεί να διαβαστεί ως τοπικό αρχείο με πρόσβαση block-level) , Zarr μπορεί ακόμη και να επιδεινώσει το πρόβλημα λανθάνουσας ισχύος, επειδή, με Zarr, ανάγνωση ενός αρχείου περιλαμβάνει τώρα μια σειρά από πολλές κλήσεις για να διαβάσετε διαφορετικά μέρη του αρχείου (το καθένα με δική του καθυστέρηση) . Το πρόβλημα της καθυστέρησης μπορεί να λυθεί παραλληλίζοντας τα αιτήματα, αλλά αυτή είναι μια λύση υψηλότερου επιπέδου, όχι εξαρτώμενη από τον Ζαρρ.
Και με τον Ζαρρ. (όπως και με τις σχετικές βάσεις δεδομένων) , χάνουμε την ευκολία να έχουμε ένα αρχείο δεδομένων είναι ένα απλό, ενιαίο αρχείο που μπορείτε εύκολα να επαληθεύσετε την ακεραιότητα του, ή make/download ένα αντίγραφο του.
ERDDAP™ (από v2) έχει ένα σύστημα για τη διατήρηση μιας τοπικής κρύπτης αρχείων από μια πηγή URL (π.χ. S3) (βλέπε [<cacheFromUrl> και<cacheMaxGB>] (#Cachefromurl Από τον ουρανό) ). Και το νέο [<nThreads>] (#nthreads (στα Αγγλικά)) θα πρέπει να ελαχιστοποιούν το πρόβλημα της λανθάνουσας συχνότητας παραλληλίζοντας την ανάκτηση δεδομένων σε υψηλό επίπεδο.<cacheFromUrl> φαίνεται να λειτουργεί πολύ καλά για πολλά σενάρια. (Δεν είμαστε σίγουροι πόσο ωφέλιμοι<nThreads> είναι χωρίς περαιτέρω δοκιμές.) Παραδεχόμαστε ότι δεν έχουμε κάνει δοκιμές συγχρονισμού σε μια περίπτωση AWS με μια καλή σύνδεση δικτύου, αλλά έχουμε δοκιμαστεί επιτυχώς με διάφορες απομακρυσμένες πηγές URL αρχείων. Και...ERDDAPΣ<λανθάνουσα μνήμηFromUrl> λειτουργεί με οποιοδήποτε τύπο αρχείου δεδομένων (π.χ.,.nc,.hdf.csv,.jsonlCSV) , ακόμη και αν εξωτερικά συμπιεσμένα (π.χ.,.gz) , χωρίς αλλαγές στα αρχεία (π.χ., επαναγραφή τους ως συλλογές Zarr) .
Είναι πιθανό ότι διαφορετικά σενάρια θα ευνοήσουν διαφορετικές λύσεις, π.χ., μόνο που χρειάζεται να διαβάσετε μέρος ενός αρχείου μία φορά (Ο Ζαρ θα νικήσει.) , vs. πρέπει να διαβάσετε όλα τα αρχεία μία φορά, vs. πρέπει να διαβάσετε μέρος ή όλο το αρχείο επανειλημμένα (<cheapFromUrl> θα κερδίσει).
Κυρίως λέμε: πριν βιαστούμε να κάνουμε την προσπάθεια να αποθηκεύσουμε όλα τα δεδομένα μας στο Zarr, ας κάνουμε κάποιες εξετάσεις για να δούμε αν είναι στην πραγματικότητα μια καλύτερη λύση.
-
- Ναι.
Κατάλογος συνόλων δεδομένων τύπων
Εάν χρειάζεστε βοήθεια για την επιλογή του σωστού τύπου συνόλου δεδομένων, δείτεΕπιλογή του τύπου συνόλου δεδομένων.
Οι τύποι συνόλων δεδομένων εμπίπτουν σε δύο κατηγορίες. (Γιατί;)
EDDGrid
- EDDGrid Τα σύνολα δεδομένων χειρίζονται δεδομένα με πλέγμα.
- ΜέσαEDDGridΤα σύνολα δεδομένων, οι μεταβλητές δεδομένων είναι πολυδιάστατες συστοιχίες δεδομένων.
- Πρέπει να υπάρχει μια μεταβλητή άξονα για κάθε διάσταση. Οι μεταβλητές του άξονα ΠΡΕΠΕΙ να προσδιορίζονται με τη σειρά που τις χρησιμοποιούν οι μεταβλητές δεδομένων.
- ΜέσαEDDGridσύνολα δεδομένων, όλες οι μεταβλητές δεδομένων ΠΡΕΠΕΙ να χρησιμοποιούν (μετοχή) όλες τις μεταβλητές του άξονα. (Γιατί; Κι αν δεν το κάνουν;)
- Ταξινόμηση τιμών διάστασης - Σε όλαEDDGridσύνολα δεδομένων, κάθε διάσταση πρέπει να είναι ταξινομημένη σειρά (αύξουσα ή φθίνουσα) . Το καθένα μπορεί να είναι ακανόνιστα τοποθετημένο. Δεν μπορεί να υπάρχουν δεσμοί. Αυτή είναι η απαίτηση τηςΠρότυπο μεταδεδομένων CF. Αν οι τιμές οποιασδήποτε διάστασης δεν είναι ταξινομημένες, το σύνολο δεδομένων δεν θα φορτωθεί καιERDDAP™θα προσδιορίσει την πρώτη μη ταξινομημένη τιμή στο αρχείο καταγραφής, bigParentΚατάλογος /logs/log.txt .
Μερικές υποκατηγορίες έχουν πρόσθετους περιορισμούς (κυρίως,EDDGridΣυγκέντρωσηΗ υπάρχουσα διάσταση απαιτεί η εξωτερική (αριστερότερη, πρώτη) διάσταση να ανεβαίνει.
Οι μη ταξινομημένες τιμές διάστασης σχεδόν πάντα δείχνουν ένα πρόβλημα με το σύνολο δεδομένων πηγής. Αυτό συμβαίνει συνηθέστερα όταν ένα λανθασμένο ή ακατάλληλο αρχείο περιλαμβάνεται στη συγκέντρωση, η οποία οδηγεί σε μια μη ταξινομημένη χρονική διάσταση. Για την επίλυση αυτού του προβλήματος, δείτε το μήνυμα σφάλματος στοERDDAP™αρχείο log.txt για να βρείτε την τιμή ώρας που προσβάλλει. Στη συνέχεια, κοιτάξτε στα πηγαία αρχεία για να βρείτε το αντίστοιχο αρχείο (ή μία πριν ή μία μετά) Αυτό δεν ανήκει στη συγκέντρωση.
- Δείτε την πληρέστερη περιγραφή τουEDDGridμοντέλο δεδομένων.
- ΗEDDGridΟι τύποι συνόλου δεδομένων είναι:
- EDDGridΑπό AudioFilesσυγκεντρωτικά δεδομένα από μια ομάδα τοπικών αρχείων ήχου.
- EDDGridΑπό το Νταπχειρίζεται δεδομένα με πλέγμα απόDAPΔιακομιστές.
- EDDGridΑπό τον πίνακα EDDσας επιτρέπει να μετατρέψετε ένα σύνολο δεδομένων πί νακα σε ένα πλέγμα σύνολο δεδομένων.
- EDDGridΑπό τοErddapχειρίζεται δεδομένα με πλέγμα από ένα απομακρυσμένοERDDAP.
- EDDGridΑπό το EtopoΑπλά χειρίζεται τα ενσωματωμένα δεδομένα τοπογραφίας ETOPO.
- EDDGridΑπό αρχείαείναι η σούπερ τάξη όλωνEDDGridΑπό τα μαθήματα Αρχείων.
- EDDGridFromMergeIRΑρχείασυγκεντρωτικά δεδομένα από μια ομάδα τοπικών συνεργατών.gzαρχεία.
- EDDGridΑπό αρχείαNcσυγκεντρωτικά δεδομένα από μια ομάδα τοπικώνNetCDF (v3 ή v4) .ncκαι σχετικά αρχεία.
- EDDGridΑπό αρχείαNcUnpackedείναι μια παραλλαγή εάνEDDGridFromNcFiles που συγκεντρώνει επίσης δεδομένα από μια ομάδα τοπικώνNetCDF (v3 ή v4) .ncκαι σχετικά αρχεία, τα οποίαERDDAP™ξεπακετάρει σε χαμηλό επίπεδο.
- EDDGridLonPM180τροποποιεί τις τιμές γεωγραφικού μήκους ενός παιδιούEDDGridέτσι ώστε να βρίσκονται στο εύρος -180 έως 180.
- EDDGridΛον0360τροποποιεί τις τιμές γεωγραφικού μήκους ενός παιδιούEDDGridέτσι ώστε να είναι στην εμβέλεια 0 έως 360.
- EDDGridΠαράπλευροαθροίσματα δύο ή περισσότεραEDDGridDatasets δίπλα-δίπλα.
- EDDGridΣυγκέντρωσηΥπάρχουσας διάστασηςαθροίσματα δύο ή περισσότεραEDDGridσύνολα δεδομένων, καθένα από τα οποία έχει διαφορετικό φάσμα τιμών για την πρώτη διάσταση, αλλά πανομοιότυπες τιμές για τις άλλες διαστάσεις.
- EDDGridΑντιγραφήμπορεί να κάνει ένα τοπικό αντίγραφο ενός άλλουEDDGridΕίναι δεδομένα και εξυπηρετεί δεδομένα από το τοπικό αντίγραφο.
- ΌλαEDDGridσύνολα δεδομένων υποστηρίζουν μια ρύθμιση nThreads, η οποία λέειERDDAP™πόσα νήματα να χρησιμοποιήσετε όταν ανταποκρίνεται σε μια αίτηση. Δείτε τοnThreadsτεκμηρίωση για λεπτομέρειες.
Πίνακας EDD
- Πίνακας EDD Τα σύνολα δεδομένων χειρίζονται δεδομένα πίνακα.
- Τα δεδομένα πίνακα μπορούν να αναπαρασταθούν ως πίνακας βάσης δεδομένων με σειρές και στήλες. Κάθε στήλη (μεταβλητή δεδομένων) έχει ένα όνομα, ένα σύνολο χαρακτηριστικών, και αποθηκεύει μόνο έναν τύπο δεδομένων. Κάθε γραμμή έχει μια παρατήρηση (ή ομάδα συναφών τιμών) . Η πηγή δεδομένων μπορεί να έχει τα δεδομένα σε μια διαφορετική δομή δεδομένων, μια πιο περίπλοκη δομή δεδομένων, ή/και πολλαπλά αρχεία δεδομένων, αλλάERDDAP™πρέπει να είναι σε θέση να ισοπεδώσει τα δεδομένα πηγής σε έναν πίνακα που μοιάζει με βάση δεδομένων, προκειμένου να παρουσιάσει τα δεδομένα ως σύνολο δεδομένων πίνακα στους χρήστες τηςERDDAP.
- Δείτε την πληρέστερη περιγραφή τουΠρότυπο δεδομένων EDDTable.
- Οι τύποι συνόλου δεδομένων EDDTable είναι:
- Πίνακας EDD από όλα τα σύνολα δεδομένωνείναι ένα σύνολο δεδομένων υψηλότερου επιπέδου το οποίο έχει πληροφορίες σχετικά με όλα τα άλλα σύνολα δεδομένων στο σαςERDDAP.
- Πίνακας EDD από αρχεία Asciiαθροίζει τα δεδομένα από τα αρχεία δεδομένων ASCII που έχουν χωριστεί από κόμμα, καρτέλα, ημικολόν ή χώρο.
- Πίνακας EDD από την υπηρεσία Asciiείναι η σούπερ τάξη όλων των τάξεων EDDTableFromAsciiService.
- Πίνακας EDD από AsciiServiceNOSχειρίζεται τα δεδομένα από μερικά από ταNOAAΥπηρεσίες διαδικτύου NOS.
- Πίνακας EDD από αρχεία Audioσυγκεντρωτικά δεδομένα από μια ομάδα τοπικών αρχείων ήχου.
- Πίνακας EDD από AwsXmlΑρχείασυγκεντρωτικά δεδομένα από ένα σύνολο Αυτόματων Μετεωρολογικών Σταθμών (AWS) Αρχεία XML.
- Πίνακας EDD από την Κασάνδραχειρίζεται τα στοιχεία πίνακα από έναν πίνακα Κασσάνδρα.
- Πίνακας EDD από αρχεία ColumnarAsciiσυγκεντρωτικά δεδομένα από αρχεία δεδομένων ASCII πίνακα με στήλες δεδομένων σταθερού πλάτους.
- Πίνακας EDD από το DapSequenceχειρίζεται τα στοιχεία πίνακα απόDAPΔιακομιστές ακολουθίας.
- Πίνακας EDD από τη βάση δεδομένωνχειρίζεται τα στοιχεία πίνακα από έναν πίνακα βάσης δεδομένων.
- Πίνακας EDD απόEDDGridσας επιτρέπει να δημιουργήσετε ένα σύνολο δεδομένων EDDTable από έναEDDGridΣύστημα δεδομένων.
- EDD TableFromErddapχειρίζεται δεδομένα πίνακα από ένα απομακρυσμένοERDDAP.
- Πίνακας EDD από αρχείοNamesδημιουργεί ένα σύνολο δεδομένων από πληροφορίες σχετικά με μια ομάδα αρχείων στο σύστημα αρχείων του διακομιστή, αλλά δεν εξυπηρετεί δεδομένα από μέσα από τα αρχεία.
- Πίνακας EDD από αρχείαείναι η σούπερ τάξη όλων των τάξεων EDDTableFrom...Files.
- Πίνακας EDDFromHttpGetλέERDDAPΜόνο το σύστημα εισαγωγής δεδομένων καθώς και η εξαγωγή δεδομένων.
- Πίνακας EDD απόHyraxΑρχεία (ΙΔΙΑΙΤΕΡΟ) συγκεντρωτικά δεδομένα από αρχεία με διάφορες μεταβλητές με κοινές διαστάσεις εξυπηρετούνται από έναHyrax OPeNDAPεξυπηρετητής.
- Πίνακας EDD από αρχεία InvalidCRAσυγκεντρωτικά δεδομένα απόNetCDF (v3 ή v4) .ncαρχεία που χρησιμοποιούν μια συγκεκριμένη, άκυρη, παραλλαγή του CF DSG Contigoul Ragged Array (ΟΜΑΔΑ) αρχεία. Αν καιERDDAP™υποστηρίζει αυτόν τον τύπο αρχείου, είναι ένας μη έγκυρος τύπος αρχείου που κανείς δεν πρέπει να αρχίσει να χρησιμοποιεί. Ομάδες που χρησιμοποιούν αυτόν τον τύπο αρχείου ενθαρρύνονται έντονα να χρησιμοποιούνERDDAP™να δημιουργήσει έγκυρα αρχεία CF DSG CRA και να σταματήσει τη χρήση αυτών των αρχείων.
- Πίνακας EDD από αρχεία JsonlCSVσυγκεντρωτικά δεδομένα απόJSON Γραμμές αρχείων CSV.
- Πίνακα ς EDD από αρχεία MultidimNcσυγκεντρωτικά δεδομένα απόNetCDF (v3 ή v4) .ncαρχεία με διάφορες μεταβλητές με κοινές διαστάσεις.
- Πίνακας EDD από αρχείαNcσυγκεντρωτικά δεδομένα απόNetCDF (v3 ή v4) .ncαρχεία με διάφορες μεταβλητές με κοινές διαστάσεις. Είναι καλό να συνεχίσετε να χρησιμοποιείτε αυτόν τον τύπο συνόλου δεδομένων για τα υπάρχοντα σύνολα δεδομένων, αλλά για τα νέα σύνολα δεδομένων συνιστούμε τη χρήση του EDDTableFromMultidimNcFiles αντί.
- Πίνακας EDDFromNcCFΑρχείασυγκεντρωτικά δεδομένα απόNetCDF (v3 ή v4) .ncαρχεία που χρησιμοποιούν μία από τις μορφές αρχείων που καθορίζονται από τηνΚΦ Διακριτές γεωμετρίες δειγματοληψίας (DSG) Συμβάσεις. Αλλά για αρχεία που χρησιμοποιούν μια από τις πολυδιάστατες παραλλαγές CF DSG, χρήσηΠίνακας EDD από αρχεία MultidimNcΑντ' αυτού.
- Πίνακας EDDFromNccsvFilesσυγκεντρωτικά δεδομένα απόNCCSVΑρχεία ASCII .csv.
- Πίνακας EDDFromNOS (ΙΔΙΑΙΤΕΡΟ) χειρίζεται τα στοιχεία πίνακα από τους διακομιστές NOS XML.
- Πίνακας EDDFromOBISχειρίζεται τα στοιχεία πίνακα από τους διακομιστές OBIS.
- Πίνακας EDDFromParquetFilesχειρίζεται τα δεδομένα απόΠαρκέ.
- Πίνακας EDD απόSOSχειρίζεται τα στοιχεία πίνακα απόSOSΔιακομιστές.
- Πίνακας EDD από τα αρχεία Thredds (ΙΔΙΑΙΤΕΡΟ) συγκεντρωτικά δεδομένα από αρχεία με διάφορες μεταβλητές με κοινές διαστάσεις εξυπηρετούνται από έναΤΡΙΤΕΣOPeNDAPεξυπηρετητής.
- Πίνακας EDD απόWFSΑρχεία (ΙΔΙΑΙΤΕΡΟ) κάνει ένα τοπικό αντίγραφο όλων των δεδομένων από έναArcGISΕξυπηρετητής χαρτώνWFSδιακομιστής έτσι ώστε τα δεδομένα να μπορούν στη συνέχεια να διατηρούνται γρήγοραERDDAP™χρήστες.
- Πίνακας EDDAggregateRowsμπορεί να δημιουργήσει ένα σύνολο δεδομένων EDDTable από μια ομάδα συνόλων δεδομένων EDDTable.
- EDDTableCopyμπορεί να κάνει ένα τοπικό αντίγραφο πολλών τύπων συνόλων δεδομένων EDDTable και στη συνέχεια να διατηρήσει τα δεδομένα γρήγορα από το τοπικό αντίγραφο.
-
- Ναι.
Λεπτομερείς περιγραφές τύπων συνόλου δεδομένων
EDDGridΑπό το Νταπ
EDDGridΑπό το Νταπ χειρίζεται μεταβλητές καννάβου απόDAPΔιακομιστές.
- Σας συνιστούμε να χρησιμοποιήσετε τοΔημιουργία συνόλων δεδομένων Πρόγραμμα Xmlνα κάνει ένα πρόχειρο σχέδιο τουdatasets.xmlκομμάτι για αυτό το σύνολο δεδομένων. Μπορείτε να συγκεντρώσετε τις πληροφορίες που χρειάζεστε για να τροποποιήσετε αυτό ή να δημιουργήσετε το δικό σας XML για έναEDDGridFromDap dataset κοιτάζοντας τα αρχεία DDS και DAS του συνόλου δεδομένων πηγής στον browser σας (με την προσθήκη .das και .dds στοsourceUrl, για παράδειγμα, https://thredds1.pfeg.noaa.gov/thredds/dodsC/satellite/BA/ssta/5day.dds ) .
- EDDGridΑπό Dap μπορεί να πάρει τα δεδομένα από οποιαδήποτε πολυδιάστατη μεταβλητή από έναDAPΔιακομιστής δεδομένων. (Προηγουμένως,EDDGridΤο FromDap περιορίστηκε στις μεταβλητές που έχουν οριστεί ως "grid", αλλά αυτό δεν είναι πλέον απαίτηση.)
- Ταξινόμηση τιμών διάστασης - Οι τιμές για κάθε διάσταση ΠΡΕΠΕΙ να είναι ταξινομημένες (αύξουσα ή φθίνουσα) . Οι τιμές μπορούν να είναι ακανόνιστα διαχωρισμένες. Δεν μπορεί να υπάρχουν δεσμοί. Αυτή είναι η απαίτηση τηςΠρότυπο μεταδεδομένων CF. Αν οι τιμές οποιασδήποτε διάστασης δεν είναι ταξινομημένες, το σύνολο δεδομένων δεν θα φορτωθεί καιERDDAP™θα προσδιορίσει την πρώτη μη ταξινομημένη τιμή στο αρχείο καταγραφής, bigParentΚατάλογος /logs/log.txt .
Οι μη ταξινομημένες τιμές διάστασης σχεδόν πάντα δείχνουν ένα πρόβλημα με το σύνολο δεδομένων πηγής. Αυτό συμβαίνει συνηθέστερα όταν ένα λανθασμένο ή ακατάλληλο αρχείο περιλαμβάνεται στη συγκέντρωση, η οποία οδηγεί σε μια μη ταξινομημένη χρονική διάσταση. Για την επίλυση αυτού του προβλήματος, δείτε το μήνυμα σφάλματος στοERDDAP™αρχείο log.txt για να βρείτε την τιμή ώρας που προσβάλλει. Στη συνέχεια, κοιτάξτε στα πηγαία αρχεία για να βρείτε το αντίστοιχο αρχείο (ή μία πριν ή μία μετά) Αυτό δεν ανήκει στη συγκέντρωση.
EDDGridΑπό σκελετό Dap 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>
EDDGridΑπό τον πίνακα EDD
EDDGridΑπό τον πίνακα EDD σας επιτρέπει να μετατρέψετε ένα σύνολο δεδομένων πίνακα EDDTable σε έναEDDGridδικτυωμένο σύνολο δεδομένων. Να το θυμάσαι αυτό.ERDDAP™αντιμετωπίζει τα σύνολα δεδομένων όπως είτεσύνολα δεδομένων με πλέγμα (υποκλάσειςEDDGrid) ή σύνολα δεδομένων πίνακα (υποκλάσεις του πίνακα EDD) .
- Κανονικά, αν έχετε grided δεδομένα, μπορείτε απλά να ρυθμίσετε έναEDDGridσύνολο δεδομένων άμεσα. Μερικές φορές αυτό δεν είναι δυνατόν, για παράδειγμα, όταν έχετε τα δεδομένα αποθηκευμένα σε μια σχεσιακή βάση δεδομένων πουERDDAP™μπορεί να έχει πρόσβαση μόνο μέσω EDDTableFromDatabase.EDDGridΑπό την τάξη EDDTable σας επιτρέπει να διορθώσετε την κατάσταση.
- Προφανώς, τα δεδομένα στο υποκείμενο σύνολο δεδομένων EDDTable πρέπει να είναι (Βασικά) δικτυωμένα δεδομένα, αλλά σε μορφή πίνακα. Για παράδειγμα, το σύνολο δεδομένων EDDTable μπορεί να έχει δεδομένα CTD: μετρήσεις του ρεύματος προς ανατολάς και προς βορρά, σε διάφορα βάθη, αρκετές φορές. Δεδομένου ότι τα βάθη είναι τα ίδια σε κάθε σημείο του χρόνου,EDDGridFromEDDTable μπορεί να δημιουργήσει ένα πλέγμα σύνολο δεδομένων με ένα χρόνο και μια διάσταση βάθους που έχει πρόσβαση στα δεδομένα μέσω του υποκείμενου συνόλου δεδομένων EDDTable.
- Δημιουργία συνόλων δεδομένων Xml -- Σας συνιστούμε να χρησιμοποιήσετε τοΔημιουργία συνόλων δεδομένων Πρόγραμμα Xmlνα κάνει ένα πρόχειρο σχέδιο τουdatasets.xmlκομμάτι για αυτό το σύνολο δεδομένων. Μπορείτε να συγκεντρώσετε τις πληροφορίες που χρειάζεστε για να βελτιώσετε το πρόχειρο σχέδιο.
- Χαρακτηριστικά πηγής -- Όπως συμβαίνει με όλους τους άλλους τύπους συνόλων δεδομένων,EDDGridFromTable έχει την ιδέα ότι υπάρχουν παγκόσμια πηγή Χαρακτηριστικά καιπαγκόσμιοaddAttributes (προσδιορίζονται στοdatasets.xml) , που συνδυάζονται για να κάνουν το παγκόσμιο συνδυασμένο Χαρακτηριστικά, που είναι αυτά που βλέπουν οι χρήστες. Για παγκόσμια πηγή Χαρακτηριστικά,EDDGridFromEDDTable χρησιμοποιεί το παγκόσμιο συνδυασμένο Χαρακτηριστικά του υποκείμενου συνόλου δεδομένων EDDTable. (Αν το σκεφτείς για ένα λεπτό, είναι λογικό.)
Ομοίως, για κάθεaxisVariable"καιdataVariableΣaddAttributes,EDDGridFromEDDTable χρησιμοποιεί το συνδυασμό της μεταβλητής Χαρακτηριστικά του υποκείμενου συνόλου δεδομένων EDDTable ωςEDDGridΑπό την πηγή της μεταβλητής EDDTable Χαρακτηριστικά. (Αν το σκεφτείς για ένα λεπτό, είναι λογικό.)
Κατά συνέπεια, εάν ο πίνακας EDD έχει καλά μεταδεδομένα, ηEDDGridFromEDDTable συχνά χρειάζεται πολύ λίγαaddAttributesμεταδεδομένα -- μόνο μερικές αλλαγές εδώ και εκεί.
-
dataVariableέναντιaxisVariableΣ... Ο υποκείμενος πίνακας EDD έχει μόνοdataVariableΣ. ΑEDDGridΤο σύνολο δεδομένων FromEDDTable θα έχει κάποιαaxisVariableα (δημιουργήθηκε από κάποιο από τον πίνακα EDDdataVariableα) και μερικάdataVariableα (δημιουργήθηκε από τον υπόλοιπο πίνακα EDDdataVariableα) .Δημιουργία συνόλων δεδομένωνXmlθα κάνει μια εικασία ως προς το ποιος πίνακας EDDdataVariableθα πρέπει να γίνειEDDGridΑπό τον πίνακα EDDaxisVariableΑλλά είναι απλά μια εικασία. Πρέπει να τροποποιήσετε την έξοδο του GenerateDatasetsXml για να καθορίσετε ποιαdataVariableθα γίνειaxisVariables, και με ποια σειρά.
-
ΆξοναςValues-- Δεν υπάρχει τίποτα σχετικά με το υποκείμενο EDDTable να πειEDDGridΑπό τον πίνακα EDDaxisVariables στην grided έκδοση του συνόλου δεδομένων, έτσι ΠΡΕΠΕΙ ΝΑ παρέχετε αυτές τις πληροφορίες για κάθεaxisVariableμέσω ενός από αυτά τα χαρακτηριστικά:
- axelValues -- σας επιτρέπει να καθορίσετε μια λίστα των τιμών. Για παράδειγμα, <att name="axisValues"τύπος="διπλή λίστα"\>2, 2,5, 3, 3,5, 4</att> Σημείωση:Τύπος δεδομένωνσυν τη λέξη Λίστα. Επίσης, ο τύπος της λίστας (για παράδειγμα, διπλό) , ΠΡΕΠΕΙ να ταιριάζει με τα δεδομένα Τύπος της μεταβλητής στον πίνακα EDD καιEDDGridΑπό τα σύνολα δεδομένων του πίνακα EDD.
- axelValuesStartStrideStop -- σας επιτρέπει να καθορίσετε μια ακολουθία των τιμών τα κτικής απόστασης προσδιορίζοντας τις τιμές έναρξης, διασκελισμού και διακοπής. Εδώ είναι ένα παράδειγμα που ισοδυναμεί με το παράδειγμα axisValues παραπάνω: <att name="axisValuesStartStrideStop"τύπος="διπλή λίστα"\>2, 0,5, 4</att> Και πάλι, σημειώστε τη χρήση ενός τύπου δεδομένων λίστας. Επίσης, ο τύπος της λίστας (για παράδειγμα, διπλό) , ΠΡΕΠΕΙ να ταιριάζει με τα δεδομένα Τύπος της μεταβλητής στον πίνακα EDD καιEDDGridΑπό τα σύνολα δεδομένων του πίνακα EDD.
Ενημέρωση -- Ακριβώς όπως δεν υπάρχει τρόπος γιαEDDGridΑπό τον πίνακα EDD για τον καθορισμό των τιμών άξονα από τον πίνακα EDD αρχικά, δεν υπάρχει επίσης αξιόπιστος τρόπος γιαEDDGridΑπό τον πίνακα EDD για τον καθορισμό από τον πίνακα EDD όταν οι τιμές άξονα έχουν αλλάξει (Ειδικότερα, όταν υπάρχουν νέες τιμές για τη χρονική μεταβλητή) . Επί του παρόντος, η μόνη λύση είναι να αλλάξει το χαρακτηριστικό άξοναValuesdatasets.xmlκαι επαναφόρτωσε το σύνολο δεδομένων. Για παράδειγμα, θα μπορούσατε να γράψετε ένα σενάριο
- Αναζήτησηdatasets.xmlγια datasetID=" το σύνολο δεδομένωνID " Οπότε δουλεύεις με το σωστό σύνολο δεδομένων.
- Αναζήτησηdatasets.xmlγια την επόμενη εμφάνιση
η πηγή των μεταβλητώνName
Έτσι, εργάζεστε με τη σωστή μεταβλητή. - Αναζήτησηdatasets.xmlγια την επόμενη εμφάνιση
<att name="axisValuesStartStrideStop" type="doubleList">
Οπότε ξέρεις τη θέση εκκίνησης της ετικέτας. 4. Αναζήτησηdatasets.xmlγια την επόμενη εμφάνιση
</att>
ώστε να γνωρίζετε την τελική θέση των τιμών του άξονα. 5. Αντικατάσταση της παλιάς αρχής, διασκελισμός, διακοπή τιμών με τις νέες τιμές. 6. Επικοινώνησε με τηνURL σημαίαςγια να πει το σύνολο δεδομένωνERDDAP™για να ξαναγεμίσει το σύνολο δεδομένων.
Αυτό δεν είναι ιδανικό, αλλά λειτουργεί.
- ακρίβεια -- ΠότεEDDGridFromEDDTable ανταποκρίνεται στο αίτημα ενός χρήστη για δεδομένα, μετακινεί μια σειρά δεδομένων από τον πίνακα απόκρισης EDDTable στοEDDGridΔίκτυο απόκρισης. Για να γίνει αυτό, πρέπει να υπολογίσει αν οι τιμές "άξονα" σε μια δεδομένη σειρά στον πίνακα ταιριάζουν με κάποιο συνδυασμό τιμών άξονα στο πλέγμα. Για τους ακέραιους τύπους δεδομένων, είναι εύκολο να προσδιοριστεί αν δύο τιμές είναι ίσες. Αλλά για πλωτήρες και διπλάσια, αυτό φέρ νει το τρομερό πρόβλημα των αριθμών κινητής υποδιαστολήςδεν ταιριάζουν ακριβώς. (Για παράδειγμα, 0,2 έναντι 0, 199999999999996) . Στο (Προσπάθησε.) Ασχολήσου με αυτό,EDDGridFromTable σας επιτρέπει να καθορίσετε ένα χαρακτηριστικό ακρίβειας για οποιοδήποτε από ταaxisVariables, που προσδιορίζει τον συνολικό αριθμό δεκαδικών ψηφίων που πρέπει να είναι πανομοιότυπα.
- Για παράδειγμα,<att name="Ακριβής" τύπος="int">5</att>
- Για διαφορετικούς τύπους μεταβλητών δεδομένων, υπάρχουν διαφορετικές προκαθορισμένες τιμές ακριβείας. Οι προεπιλεγμένες είναι συνήθως κατάλληλες. Αν δεν είναι, θα πρέπει να ορίσετε διαφορετικές τιμές.
- ΓιαaxisVariableίναχρόνος ή χρόνος Μεταβλητές γραμματοσήμων, η προεπιλογή είναι πλήρης ακρίβεια (ακριβή ταύτιση) .
- ΓιαaxisVariables που είναι πλωτήρες, η προκαθορισμένη ακρίβεια είναι 5.
- ΓιαaxisVariables που είναι διπλά, η προκαθορισμένη ακρίβεια είναι 9.
- ΓιαaxisVariables που έχουν ακέραιους τύπους δεδομένων,EDDGridFromEDDTable αγνοεί το χαρακτηριστικό ακρίβειας και χρησιμοποιεί πάντα πλήρη ακρίβεια (ακριβή ταύτιση) .
- ΠΡΟΕΙΔΟΠΟΙΗΣΗ! Κατά τη μετατροπή ενός κομματιού των δεδομένων πίνακα σε ένα κομμάτι των δεδομένων πλέγματος, εάνEDDGridFromEDDTable δεν μπορεί να ταιριάζει με ένα EDDTable "axis" τιμή σε ένα από τα αναμενόμεναEDDGridΤιμές άξονα του πίνακα απόEDD,EDDGridΑπό τον πίνακα EDD σιωπηλά (χωρίς σφάλμα) Πετά τα δεδομένα από τη σειρά του πίνακα. Για παράδειγμα, μπορεί να υπάρχουν και άλλα δεδομένα (όχι στο πλέγμα) στο σύνολο δεδομένων EDDTable. (Και αν το βήμα > 1, δεν είναι προφανές ναEDDGridΑπό τον πίνακα ποιες τιμές άξονα είναι επιθυμητές τιμές και ποιες είναι αυτές που πρέπει να παραλειφθούν λόγω του διασκελισμού.) Έτσι, αν οι τιμές ακρίβειας είναι πολύ υψηλές, ο χρήστης θα δει τις τιμές που λείπουν στην απόκριση δεδομένων όταν υπάρχουν πραγματικά έγκυρες τιμές δεδομένων.
Αντιστρόφως, εάν οι τιμές ακριβείας είναι πολύ χαμηλές, EDDTable "axis" τιμές που δεν πρέπει να ταιριάζουνEDDGridΑπό τις τιμές άξονα του πίνακα EDD θα (Εσφαλμένα) Ταιριάζουν.
Αυτά τα πιθανά προβλήματα είναι φρικτά, επειδή ο χρήστης παίρνει λάθος δεδομένα (ή ελλείπουσες τιμές) όταν θα πρέπει να πάρει τα σωστά δεδομένα (ή τουλάχιστον ένα μήνυμα σφάλματος) . Αυτό δεν είναι ελάττωμα.EDDGridΑπό τον πίνακα.EDDGridΟ πίνακας δεν μπορεί να λύσει αυτό το πρόβλημα. Το πρόβλημα είναι εγγενές στη μετατροπή των δεδομένων πίνακα σε δεδομένα πλέγματος (εκτός αν μπορούν να γίνουν άλλες υποθέσεις, αλλά δεν μπορούν να γίνουν εδώ.) . Από σένα εξαρτάται.ERDDAP™διαχειριστής, προς δοκιμή σαςEDDGridΠίνακας απόEDD να εξασφαλιστεί ότι οι τιμές ακριβείας καθορίζονται για την αποφυγή αυτών των δυνητικών προβλημάτων.
Διάφραγμα
- Διάφραγμα-- Αυτό είναι ένα πολύ ασυνήθιστο είδος συνόλου δεδομένων. Δεδομένου ότι τα είδη των ερωτήσεων που μπορούν να γίνουν (τον οποίο διαχειρίζεται η εταιρεία) αEDDGridσύνολο δεδομένων (που σχετίζονται με τις περιοχές και τα διασκελίσματα τουaxisVariableα) είναι πολύ διαφορετικές από τους τύπους των ερωτημάτων που μπορούν να γίνουν (τον οποίο διαχειρίζεται η εταιρεία) σύνολο δεδομένων του πίνακα EDD (μόνο που σχετίζονται με τα όρια ορισμένων μεταβλητών) , η απόδοση τηςEDDGridΑπό τα σύνολα δεδομένων του πίνακα EDD θα διαφέρουν σε μεγάλο βαθμό ανάλογα με την ακριβή αίτηση που γίνεται και την ταχύτητα του υποκείμενου συνόλου δεδομένων του πίνακα EDD. Για αιτήματα που έχουν τιμή διασκελισμού > 1,EDDGridΑπό τον πίνακα EDD μπορεί να ζητήσει από τον υποκείμενο πίνακα EDD για ένα σχετικά μεγάλο κομμάτι δεδομένων (σαν διασκελισμός=1) και στη συνέχεια να κοσκινίσει μέσα από τα αποτελέσματα, κρατώντας τα δεδομένα από ορισμένες σειρές και πετώντας τα δεδομένα από άλλους. Αν πρέπει να κοσκινίσει πολλά δεδομένα για να πάρει τα δεδομένα που χρειάζεται, το αίτημα θα πάρει περισσότερο χρόνο για να γεμίσει.
ΕάνEDDGridΑπό τον πίνακα EDD μπορεί να πει ότι θα υπάρχουν μεγάλα κενά (με σειρές ανεπιθύμητων δεδομένων) μεταξύ των γραμμών με τα επιθυμητά δεδομένα,EDDGridΟ πίνακας FromEDDTable μπορεί να επιλέξει να κάνει διάφορες υποζητήσεις στον υποκείμενο πίνακα EDD αντί για ένα μεγάλο αίτημα, παραλείποντας έτσι τις ανεπιθύμητες σειρές δεδομένων στα μεγάλα κενά. Η ευαισθησία για την απόφαση αυτή ελέγχεται από το κενό<κενόThreshold> tag (προεπιλογή=1000 σειρές δεδομένων πηγής) . Ο καθορισμός χάσματοςThreshold σε μικρότερο αριθμό θα οδηγήσει στη δημιουργία συνόλου δεδομένων (γενικά) Κι άλλες αιτήσεις. Ο καθορισμός χάσματοςThreshold σε μεγαλύτερο αριθμό θα οδηγήσει στη δημιουργία συνόλου δεδομένων (γενικά) λιγότερες αιτήσεις.
Αν το κενόThreshold είναι πολύ μικρό,EDDGridFromEDDTable θα λειτουργήσει πιο αργά, επειδή το πάνω μέρος των πολλαπλών αιτημάτων θα είναι μεγαλύτερη από το χρόνο που αποθηκεύεται με τη λήψη κάποιων υπερβολικών δεδομένων. Αν το κενόThreshold είναι πολύ μεγάλο,EDDGridΟ πίνακας FromEDDTable θα λειτουργεί πιο αργά επειδή τόσο πολλά επιπλέον δεδομένα θα ανακτηθούν από τον πίνακα EDD, μόνο για να απορριφθούν. (Όπως ανακάλυψε η Goldilocks, η μέση είναι " ακριβώς δεξιά.) Τα γενικά έξοδα για διαφορετικούς τύπους συνόλων δεδομένων EDDTable ποικίλουν πολύ, έτσι ο μόνος τρόπος για να γνωρίζετε την πραγματική καλύτερη ρύθμιση για το σύνολο δεδομένων σας είναι μέσω πειραματισμού. Αλλά δεν θα πάει πάρα πολύ λάθος κολλήσει στην προεπιλογή.
Ένα απλό παράδειγμα είναι: Φανταστείτε έναEDDGridΑπό τον πίνακα με μόνο έναaxisVariable (χρόνο, με μέγεθος 100000) , έναdataVariable (θερμοκρασία) , και το προεπιλεγμένο κενό
- Εάν ο χρήστης ζητήσει θερμοκρασία\[0💯5000\], ο διασκελισμός είναι 100 έτσι το μέγεθος του χάσματος είναι 99, το οποίο είναι λιγότερο από το κενόThreshold. Λοιπόν...EDDGridΤο FromTable θα υποβάλει μόνο ένα αίτημα στον EDDTable για όλα τα δεδομένα που απαιτούνται για το αίτημα (ισοδύναμο με τη θερμοκρασία\[0:5000\]) και πετάξτε όλες τις σειρές δεδομένων που δεν χρειάζονται.
- Εάν ο χρήστης ζητήσει θερμοκρασία\[0:2500:50000\], ότι ο διασκελισμός είναι 2500 έτσι ώστε το μέγεθος χάσμα είναι 2499, το οποίο είναι μεγαλύτερο από το κενόThreshold. Λοιπόν...EDDGridΟ πίνακας FromTable θα υποβάλει ξεχωριστά αιτήματα στον πίνακα EDD που είναι ισοδύναμα με τη θερμοκρασία\[0\], θερμοκρασία\[2500\], θερμοκρασία\[5000\].
Ο υπολογισμός του μεγέθους του κενού είναι πιο περίπλοκος όταν υπάρχουν πολλαπλοί άξονες.
Για κάθε αίτημα χρήστη,EDDGridΑπόEDDTable εκτυπώσεις διαγνωστικά μηνύματα που σχετίζονται με αυτό στοlog.txtΑρχείο.
- Εάν [<logLevel>] (#loglevel) μέσαdatasets.xmlέχει οριστεί για πληροφορίες, αυτό εκτυπώνει ένα μήνυμα όπως \* nOuterAxes=1 of 4 nOuterΑιτήσεις=22 Εάν nOuterAxes=0, το κενόThreshold δεν ξεπεράστηκε και μόνο ένα αίτημα θα υποβληθεί στον πίνακα EDD. Εάν nOuterAxes>0, ξεπεράστηκε το κενόThreshold και nOuterΑίτηση θα γίνει στο EDDTable, που αντιστοιχεί σε κάθε ζητούμενο συνδυασμό του αριστερού nOuterAxes. Για παράδειγμα, εάν το σύνολο δεδομένων έχει 4axisVariables καιdataVariables όπως ανατολικά\[χρόνος\]\[γεωγραφικό πλάτος\]\[γεωγραφικό μήκος\]\[βάθος\], το αριστερό (πρώτη) ο άξονας μεταβλητός είναι ο χρόνος.
- Εάν<logLevel> μέσαdatasets.xmlείναι ρυθμισμένο σε όλους, πρόσθετες πληροφορίες γράφεται στο αρχείο log.txt.
EDDGridΣκελετός πίνακα απόEDDD 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* απόERDDAP
EDDGridΑπό τοErddap χειρίζεται δεδομένα με πλέγμα από ένα απομακ ρυσμένοERDDAP™Διακομιστής. EDD TableFromErddap χειρίζεται δεδομένα πίνακα από ένα απομακρυσμένοERDDAP™Διακομιστής.
- EDDGridΑπόErddap και EDDTableFromErddap συμπεριφέρονται διαφορετικά από όλους τους άλλους τύπους συνόλων δεδομένων στοERDDAP.
- Όπως και άλλοι τύποι συνόλων δεδομένων, αυτά τα σύνολα δεδομένων παίρνουν πληροφορίες για το σύνολο δεδομένων από την πηγή και το κρατούν στη μνήμη.
- Όπως και άλλοι τύποι συνόλων δεδομένων, ότανERDDAP™αναζητήσεις για σύνολα δεδομένων, εμφανίζει τη φόρμα πρόσβασης δεδομένων ( datasetID .html) , ή εμφανίζει τη φόρμα Make A Graph ( datasetID . γράφημα) ,ERDDAP™χρησιμοποιεί τις πληροφορίες σχετικά με το σύνολο δεδομένων που βρίσκεται στη μνήμη.
- EDDGridΑπό το Erddap και τον πίνακα EDD FromErddap είναι η βάση γιαδίκτυα/συσκευές/ομοσπονδίεςτουERDDAPs, τα οποία διανέμουν αποτελεσματικά τη χρήση ΚΜΕ (κυρίως για την κατασκευή χαρτών) , χρήση μνήμης, αποθήκευση συνόλου δεδομένων, και χρήση εύρους ζώνης ενός μεγάλου κέντρου δεδομένων.