मुख्य सामग्री पर जाएं

EDDTableFromEML और EDDTableFromEMLBatch में विकल्प GenerateDatasets एक्सएमएल

\[ यह वेब पेज केवल ब्याज का ही होगा ERDDAP™ व्यवस्थापक जो EML फ़ाइलों के साथ काम करते हैं। यह दस्तावेज़ मूल रूप से 2016 में बनाया गया था। यह पिछले 2020-11-30 पर संपादित किया गया था। \]

** ERDDAP™ ** एक डेटा सर्वर है जो उपयोगकर्ताओं को सामान्य फ़ाइल प्रारूपों में ग्रिडड और सारणीबद्ध वैज्ञानिक डेटासेट के सबसेट डाउनलोड करने और ग्राफ और मैप बनाने का एक सरल, सुसंगत तरीका देता है। ERDDAP™ किसी दिए गए डेटासेट के साथ या तो बहुआयामी ग्रिड चर के एक समूह के रूप में काम करता है (उदाहरण के लिए, उपग्रह या मॉडल डेटा) या डेटाबेस जैसी तालिका के रूप में (प्रत्येक प्रकार की जानकारी के लिए एक कॉलम और प्रत्येक अवलोकन के लिए एक पंक्ति के साथ) । ERDDAP™ मुफ्त और ओपन सोर्स सॉफ्टवेयर है, इसलिए कोई भी कर सकता है डाउनलोड करें ERDDAP™ अपने डेटा की सेवा करने के लिए।

एक डेटासेट को जोड़ने के लिए ERDDAP™ स्थापना, स्थापना ERDDAP™ व्यवस्थापक को XML का एक हिस्सा जोड़ना होगा जिसे डेटासेट को एक फ़ाइल में वर्णित करना चाहिए जिसे बुलाया जाता है datasets.xml । (वहाँ है प्रलेखन datasets.xml ।) हालांकि, XML का हिस्सा बनाना संभव है datasets.xml पूरी तरह से हाथ से ERDDAP™ कहा जाता है एक उपकरण के साथ आता है जनरेट DatasetXml जो डेटासेट के बारे में जानकारी के कुछ स्रोत के आधार पर किसी दिए गए डेटासेट के लिए XML के हिस्से के मोटे ड्राफ्ट को तैयार कर सकता है।

पहली चीज GenDatasets Xml पूछता है कि आप किस प्रकार का डेटासेट बनाना चाहते हैं। जनगणना XML एक विशेष विकल्प है, EDDTableFromEML , जो जानकारी का उपयोग करता है पारिस्थितिक मेटाडाटा भाषा (EML) XML फ़ाइल के लिए XML का हिस्सा उत्पन्न करने के लिए datasets.xml बनाना EDDTableFromAsciiFiles प्रत्येक डेटा तालिका से एक EML फ़ाइल में डेटासेट। यह अधिकांश EML फ़ाइलों के लिए बहुत अच्छी तरह से काम करता है, क्योंकि ज्यादातर EML फाइलें एक आसान काम करने वाले प्रारूप में डेटासेट के लिए आवश्यक मेटाडाटा के सभी भंडारण का उत्कृष्ट काम करती हैं। उस जानकारी को उत्पन्न करने वालेDatasetsXml को डेटासेट बनाने की आवश्यकता होती है, जिसमें डेटा फ़ाइल के लिए यूआरएल शामिल है, जो उत्पन्न करता हैDatasetsXml डाउनलोड, parses, और EML फ़ाइल में विवरण की तुलना करता है। (कई समूह EML पर स्विच करने के लिए अच्छी तरह से करेंगे, जो किसी भी सारणीबद्ध वैज्ञानिक डेटासेट को दस्तावेज करने के लिए एक महान प्रणाली है, न केवल पारिस्थितिक डेटा। और XML स्कीमा बनाने वाले कई समूह EML का उपयोग XML स्कीमा के लिए एक केस स्टडी के रूप में करने के लिए अच्छी तरह से करेंगे, जो स्पष्ट हैं, बिंदु पर, अत्यधिक गहरी नहीं (यानी, बहुत सारे स्तर) मानव और कंप्यूटर के साथ काम करने के लिए आसान है।)

प्रश्न

यहाँ सभी प्रश्न हैं GenerateDatasets Xml पूछेंगे, इस बारे में टिप्पणियां के साथ कि आपको कैसे जवाब देना चाहिए यदि आप सिर्फ एक EML फ़ाइल या EML फ़ाइलों का बैच संसाधित करना चाहते हैं:

  • कौन सा EDDtype? यदि आप केवल एक फ़ाइल संसाधित करना चाहते हैं, तो उत्तर दें: EDDTableFromEML यदि आप फ़ाइलों के एक समूह को संसाधित करना चाहते हैं, तो उत्तर दें: EDDTableFromEMLBatch
  • फ़ाइलों को स्टोर करने के लिए निर्देशिका? उस निर्देशिका का नाम दर्ज करें जिसका उपयोग डाउनलोड EML और/या डेटा फ़ाइलों को स्टोर करने के लिए किया जाएगा। यदि निर्देशिका मौजूद नहीं है, तो इसे बनाया जाएगा।
  • (EDDTableFromEML के लिए केवल) EML यूआरएल या स्थानीय fileName? एक EML फ़ाइल का URL या स्थानीय फ़ाइल नाम दर्ज करें।
  • (केवल EDDTableFromEMLBatch के लिए) EML dir (यूआरएल या स्थानीय) ? EML फ़ाइलों के साथ निर्देशिका का नाम दर्ज करें (यूआरएल या एक स्थानीय dir) । उदाहरण के लिए:http://sbc.lternet.edu/data/eml/files/
  • (केवल EDDTableFromEMLBatch के लिए) फ़ाइल नाम regex? नियमित अभिव्यक्ति दर्ज करें जिसका उपयोग EML डायरेक्टरी में वांछित EML फ़ाइलों की पहचान करने के लिए किया जाएगा। उदाहरण के लिए: knb-lter-sbc \\d+
  • यदि मौजूद हो तो स्थानीय फ़ाइलों का उपयोग करें (सच | झूठ) ? यदि वे मौजूद हैं तो मौजूदा स्थानीय EML फ़ाइलों और डेटा फ़ाइलों का उपयोग करने के लिए सही दर्ज करें। हमेशा EML फ़ाइलों और/या डेटा फ़ाइलों को फिर से डाउनलोड करने के लिए झूठी प्रवेश करें।
  • सुलभ क्या? यदि आप चाहते हैं कि नए डेटासेट निजी डेटासेट हों ERDDAP , समूह का नाम निर्दिष्ट करें (s) इसे अनुमति दी जाएगी। LTER समूहों के लिए सिफारिश की: गठबंधन "lter" प्लस समूह, उदाहरण के लिए, lटर एसबीसी यदि आप "null" में प्रवेश करते हैं, तो कोई नहीं होगा<सुलभ To> उत्पादन में टैग. देखें सुलभ करने के लिए
  • स्थानीय टाइमजोन (उदाहरण के लिए, US/Pacific) ? यदि एक समय परिवर्तनीय इंगित करता है कि इसमें स्थानीय समय मान हैं, तो इस समय क्षेत्र को सौंपा जाएगा। इससे मूल्य होना चाहिए टाइम जोन नामों की TZ कॉलम सूची । सूची के अंत में सभी आसान उपयोग "यूएस / ..." नामों को नोट करें। यदि आपको बाद में पता चल जाता है कि गलत है, तो आप बदल सकते हैं time\_zone के हिस्से में datasets.xml ।

EML प्लस ERDDAP™ एक महान संयोजन है, क्योंकि ERDDAP™ उपयोगकर्ताओं को धन के लिए अधिक प्रत्यक्ष पहुंच प्रदान कर सकते हैं Biocomplexity के लिए ज्ञान नेटवर्क (KNB) और दीर्घकालिक पारिस्थितिक अनुसंधान (LTER) उन परियोजनाओं को अमेरिकी सरकार से मिलने में मदद करता है अनुसंधान परिणाम (PARR) आवश्यकताएं वेब सेवा के माध्यम से उपलब्ध डेटा बनाकर। इसके अलावा, EML प्लस ERDDAP™ संघीय एजेंसी में अकादमिक / एनएसएफ-फंडेड रियल्म और वैज्ञानिकों के बीच एक महान पुल की तरह लगता है ( NOAA नासा, USGS) Realm.

देखें अतिरिक्त समर्थन प्राप्त करने पर अनुभाग ।  

डिजाइन विवरण

यहां GENERDatasetsXml में EDDTableFromEML विकल्प का डिजाइन विवरण दिया गया है। कैसे EML में अंतर से संबंधित हैं और ERDDAP™ What is a word or how जेनरेटडेटासेट Xml इन समस्याओं से संबंधित है।

एक डाटाटेबल बन जाता है एक ERDDAP™ डेटासेट

एक EML फ़ाइल एकाधिक हो सकता है<डेटा तालिका>s. ERDDAP™ बनाना ERDDAP™ प्रति EML dataTable dataset। The The most of the datasetID डेटासेट के लिए है EMLName \_t तालिका (जब EMLname पाठ है) या प्रणाली \_EMLName \_t तालिका (जब EMLname एक नंबर है) । उदाहरण के लिए, फ़ाइल knb-lter-sbc.28 में टेबल #1, बन जाता है ERDDAP™ datasetID = knb \_lter \_sbc \_28 \_t1,  

EML बनाम CF+ACDD

लगभग सभी मेटाडाटा में EML फ़ाइलें हो जाता है ERDDAP लेकिन एक अलग प्रारूप में। ERDDAP™ उपयोग CF और एसीडी मेटाडाटा मानकों। वे पूरक मेटाडाटा सिस्टम हैं जो वैश्विक मेटाडाटा के लिए और प्रत्येक परिवर्तनीय मेटाडाटा के लिए key=value जोड़े का उपयोग करते हैं। हां, मेटाडाटा का EML प्रतिनिधित्व CF + ACDD प्रतिनिधित्व की तुलना में अच्छा है। मैं EML के प्रतिस्थापन के रूप में CF+ACDD प्रतिनिधित्व का उपयोग करने का सुझाव नहीं दे रहा हूं। कृपया EML दुनिया से EML दुनिया के पुल के हिस्से के रूप में CF+ACDD के बारे में सोचें OPeNDAP /CF / ACDD दुनिया।  

छोटे बदलाव

ERDDAP™ कई छोटे बदलाव करता है। उदाहरण के लिए, ERDDAP™ EML का उपयोग करना DOI वैकल्पिक पहचानकर्ता प्लस डेटाTable संख्या के रूप में ERDDAP™ datasetID लेकिन थोड़ा बदलाव वैकल्पिक पहचानकर्ता इसे अधिकांश कंप्यूटर भाषाओं में एक वैध परिवर्तनीय नाम बनाने के लिए, उदाहरण के लिए, knb-lter-sbc.33 डेटा तालिका #1 \_lter \_sbc \_33 \_t1 हो जाता है।  

DocBook

EML EML फ़ाइलों में पाठ के ब्लॉक के लिए संरचना प्रदान करने के लिए डॉकबुक की मार्कअप प्रणाली का उपयोग करता है। CF और ACDD की आवश्यकता है कि मेटाडाटा सादे पाठ है। So GenerateDataset Xml पाठ को सादे पाठ में परिवर्तित करता है जो पाठ के स्वरूपित संस्करण की तरह दिखता है। इनलाइन टैग को वर्ग कोष्ठक के साथ पवित्र किया जाता है, उदाहरण के लिए, \[ जोर देना \] , और सादे पाठ में छोड़ दिया।  

डेटा फ़ाइल

चूंकि EML डेटाTable में वास्तविक डेटा फ़ाइल का URL, जेनरेटडाटासेट शामिल है Xml होगा:

  1. डेटा फ़ाइल डाउनलोड करें।
  2. इसे EML फाइल के समान डायरेक्टरी में स्टोर करें।
  3. डेटा पढ़ें।
  4. फ़ाइल में वास्तविक डेटा के साथ EML में डेटा के विवरण की तुलना करें।
  5. अगर GenerateDatasets Xml मतभेदों को ढूंढता है, यह उनके साथ सौदा करता है, या ऑपरेटर से पूछता है यदि अंतर ठीक है, या त्रुटि संदेश लौटाता है। विवरण नीचे विभिन्न वस्तुओं में हैं।  

.zip 'd Data Files'

यदि संदर्भित डेटा फ़ाइल एक है .zip इसमें सिर्फ एक फ़ाइल होना चाहिए। उस फ़ाइल का उपयोग करने के लिए किया जाएगा ERDDAP™ डेटासेट। यदि 1 से अधिक फ़ाइल हैं। ERDDAP™ उस डेटासेट को अस्वीकार करेगा। यदि आवश्यक हो तो इसे संशोधित किया जा सकता है। (अभ्यास में, सभी एसबीसी LTER ज़िप फ़ाइलों में सिर्फ एक डेटा फ़ाइल है।)
 

भंडारण प्रकार

यदि एक स्तंभ का भंडारण प्रकार निर्दिष्ट नहीं है, ERDDAP™ डेटा फ़ाइल में डेटा के आधार पर अपने सर्वश्रेष्ठ अनुमान का उपयोग करता है। यह अच्छी तरह से काम करता है।  

यूनिट

ERDDAP™ उपयोग UDUNITS इकाइयों के लिए स्वरूपण । जनगणना Xml EML इकाइयों को बदलने में सक्षम है UDUNITS स्वच्छ रूप से लगभग 95% समय। शेष 5% परिणाम इकाइयों के पठनीय विवरण में, उदाहरण के लिए, EML में "बायोमास घनत्व इकाई" बन जाती है। ERDDAP । तकनीकी रूप से यह अनुमति नहीं है। मुझे नहीं लगता कि यह परिस्थितियों में इतना बुरा है। \[ यदि आवश्यक हो, तो ऐसी इकाइयां जो नहीं की जा सकती हैं UDUNITS संगत को चर की टिप्पणी विशेषता में स्थानांतरित किया जा सकता है। \]
 

EML संस्करण 2.1.1

EML v2.1.1 फ़ाइलों के लिए यह समर्थन जनरेटडाटासेट में जोड़ा गया था 2016 में Xml आशा के साथ कि EML समुदाय में कुछ उतार-चढ़ाव होगा। 2020 तक ऐसा नहीं हुआ है। The The most of the ERDDAP™ डेवलपर्स को EML के हाल के संस्करणों के लिए समर्थन जोड़ने में खुशी होगी, लेकिन केवल तभी नई सुविधाओं का वास्तव में उपयोग किया जाएगा। ईमेल erd.data at noaa.gov यदि आप EML के हाल के संस्करणों के लिए समर्थन चाहते हैं और वास्तव में इस सुविधा का उपयोग करेंगे।  

EML फ़ाइल के साथ मुद्दे

EML फ़ाइलों के साथ कुछ मुद्दे / समस्याएं हैं जो सॉफ़्टवेयर क्लाइंट के दौरान समस्याओं का कारण बनती हैं (जैसे कि EDDTableFromEML विकल्प में GenerateDatasetsXML) EML फ़ाइलों की व्याख्या / संसाधित करने की कोशिश करता है।

  • हालांकि यहां कई मुद्दों को सूचीबद्ध किया गया है, वे ज्यादातर छोटे, ठंडे बस्ते में समस्याएं हैं। सामान्य तौर पर, EML एक महान प्रणाली है और इसके साथ काम करने में मेरी खुशी हुई है।
  • ये मोटे तौर पर खराब / सबसे आम से कम खराब / कम आम में क्रमबद्ध होते हैं।
  • अधिकांश विशिष्ट EML फ़ाइलों में छोटी समस्याओं से संबंधित हैं (जो EML की गलती नहीं है) ।
  • अधिकांश EML फ़ाइल या डेटा फ़ाइल में सरल परिवर्तनों द्वारा तय किया जा सकता है।
  • यह देखते हुए कि LTER लोग EML फ़ाइलों की वैधता का परीक्षण करने के लिए EML चेकर का निर्माण कर रहे हैं, मैंने उन विशेषताओं के बारे में कुछ सुझाव दिए हैं जिन्हें चेकर में जोड़ा जा सकता है।

यहाँ मुद्दे हैं:

अलग तारीख और समय कॉलम

कुछ डेटा फ़ाइलों में तारीख के लिए और समय के लिए अलग कॉलम हैं, लेकिन कोई एकीकृत तारीख + समय स्तंभ नहीं है। वर्तमान में, GenerateDatasets Xml इन अलग-अलग स्तंभों के साथ एक डेटासेट बनाता है, लेकिन यह आदर्श नहीं है क्योंकि:

  • यह सबसे अच्छा है अगर डेटासेट में ERDDAP™ एक संयुक्त तारीख + समय कॉलम कहा जाता है "time" ।
  • अक्सर डेटासेट में लोड नहीं होगा ERDDAP™ क्योंकि "time" कॉलम में डेट + टाइम डेटा नहीं है।

दो संभावित समाधान हैं:

  1. डेटाफ़ाइल में एक नया कॉलम जोड़ने के लिए स्रोत डेटा फ़ाइल को संपादित करें (इसे EML में वर्णित करें) जहां तारीख और समय स्तंभ एक स्तंभ में विलय कर रहे हैं। फिर Rerun GenerateDatasets Xml तो यह नया स्तंभ पाता है।
  2. उपयोग व्युत्पन्न चर सुविधा ERDDAP™ में एक नया चर परिभाषित करने के लिए datasets.xml जो तारीख और समय स्तंभों को ध्यान में रखते हुए बनाई गई है। उदाहरणों में से एक विशेष रूप से इस स्थिति से संबंधित है।  

असंगत स्तंभ नाम

EML फाइलें डेटा फ़ाइल के कॉलम और उनके नामों को सूचीबद्ध करती हैं। दुर्भाग्य से, वे अक्सर वास्तविक डेटा फ़ाइल में कॉलम नाम से अलग होते हैं। आम तौर पर, EML फ़ाइल में कॉलम ऑर्डर डेटा फ़ाइल में कॉलम ऑर्डर के समान होता है, भले ही नाम थोड़ा भिन्न हो, लेकिन हमेशा नहीं। जनगणना XML स्तंभ नामों से मिलान करने की कोशिश करता है। जब यह नहीं कर सकता (जो आम है) , यह बंद हो जाएगा, आपको दिखाएं EML/data फ़ाइल नाम जोड़े, और पूछते हैं कि क्या वे सही ढंग से गठबंधन कर रहे हैं। यदि आप एक टेबल को छोड़ने के लिए 's' में प्रवेश करते हैं, तो जनरेट्डडाटासेटएक्सएमएल एक त्रुटि संदेश प्रिंट करेगा और अगली टेबल पर जाएगा। समाधान डेटा फ़ाइल में कॉलम नामों से मिलान करने के लिए EML फ़ाइल में गलत कॉलम नामों को बदलना है।  

विभिन्न कॉलम ऑर्डर

कई मामले हैं जहां EML ने डेटा फ़ाइल में मौजूद होने की तुलना में स्तंभों को एक अलग क्रम में निर्दिष्ट किया। जनगणना एक्सएमएल ऑपरेटर को रोक देगा और पूछेगा यदि मैचअप ठीक है या अगर डेटासेट को छोड़ दिया जाना चाहिए। यदि इसे छोड़ दिया जाता है, तो परिणाम फ़ाइल में त्रुटि संदेश होगा, उदाहरण के लिए:

      &lt;-- SKIPPED (USUALLY BECAUSE THE COLUMN NAMES IN THE DATAFILE ARE IN
A DIFFERENT ORDER OR HAVE DIFFERENT UNITS THAN IN THE EML file):
datasetID=knb\\_lter\\_sbc\\_17\\_t1
dataFile=all\\_fish\\_all\\_years\\_20140903.csv
The data file and EML file have different column names.
ERDDAP™ would like to equate these pairs of names:
SURVEY\\_TIMING = notes
NOTES = survey\\_timing
--&gt;

समाधान इन EML फ़ाइलों में कॉलम ऑर्डर को ठीक करना है ताकि वे डेटा फ़ाइलों में ऑर्डर से मेल खा सकें।

यह अच्छा होगा यदि EML चेकर ने जांच की कि स्रोत फ़ाइल में कॉलम और कॉलम ऑर्डर EML फ़ाइल में कॉलम और कॉलम ऑर्डर से मेल खाते हैं।

Incorrect numHeaderLine

कई डेटा Incorrectly state numHeaderLines=1, उदाहरण के लिए, ...sbc.4011. इस कारण ERDDAP™ कॉलम नाम के रूप में डेटा की पहली पंक्ति पढ़ने के लिए। मैंने इन सभी डेटाटेबल्स को मैन्युअल रूप से SKIP करने की कोशिश की। वे स्पष्ट हैं क्योंकि बेजोड़ स्रोत कॉल नाम सभी डेटा मान हैं। और अगर वहाँ फ़ाइलें हैं कि गलत तरीके से numHeaderLine=0 है, तो मेरी प्रणाली इसे स्पष्ट नहीं बनाती है। यहाँ SBC LTER विफलताओं फ़ाइल का एक उदाहरण है:

      &lt;-- SKIPPED (USUALLY BECAUSE THE COLUMN NAMES IN THE DATAFILE ARE IN
A DIFFERENT ORDER OR HAVE DIFFERENT UNITS THAN IN THE EML file):
datasetID=knb\\_lter\\_sbc\\_3017\\_t1
dataFile=MC06\\_allyears\\_2012-03-03.txt
The data file and EML file have different column names.
ERDDAP™ would like to equate these pairs of names:
2008-10-01T00:00 = timestamp\\_local
2008-10-01T07:00 = timestamp\\_UTC
2.27 = discharge\\_lps
-999.0 = water\\_temperature\\_celsius
--&gt;

इसलिए त्रुटि तब प्रकट हो सकती है जब जेनरेटडाटासेट Xml सोचता है कि फ़ाइल में डेटा के साथ पहली पंक्ति (उदाहरण के लिए, 2008-10-01T00:00 आदि के साथ।) स्तंभ नाम के साथ लाइन है (जैसा कि 2008-10-01T00:00 एक स्तंभ नाम था) ।

अगर EML चेकर ने numHeaderLine मान की जांच की तो यह अच्छा होगा।

numHeaderLine = 0

कुछ स्रोत फ़ाइलों में कॉलम नाम नहीं हैं। ERDDAP™ स्वीकार करता है कि यदि EML स्तंभों की समान संख्या का वर्णन करता है।

मेरी राय में: यह बहुत खतरनाक लगता है। एक अलग क्रम में या विभिन्न इकाइयों के साथ स्तंभ हो सकता है (नीचे देखें) और उन समस्याओं को पकड़ने का कोई तरीका नहीं है। यदि सभी ASCII डेटा फ़ाइलों में स्तंभ नामों के साथ एक पंक्ति है तो यह बहुत बेहतर है।

डेटटाइम प्रारूप स्ट्रिंग

EML तारीख समय प्रारूपों का वर्णन करने का एक मानक तरीका है। लेकिन EML फ़ाइलों में इसके उपयोग में काफी भिन्नता है। (मैं पहले इस बारे में गलत था। मैं प्रारूपस्ट्रिंग के लिए EML प्रलेखन को देखता हूं जो मिलान करने के लिए दिखाई देता है Java DateTimeFormatter विनिर्देश लेकिन इसके उपयोग के बारे में महत्वपूर्ण दिशानिर्देशों की कमी है, जिसके परिणामस्वरूप प्रारूप स्ट्रिंग अक्सर / आमतौर पर अनुचित रूप से इस्तेमाल किया जाता है।) गलत मामले के साथ कई उदाहरण हैं, और / या एक पत्र के गलत दोहराव, और / या गैर मानक स्वरूपण। यह ग्राहकों पर अनुचित बोझ डालता है, विशेष रूप से सॉफ्टवेयर ग्राहकों जैसे जेनरेटडाटासेटएक्सएमएल। जनगणना Xml EML फ़ाइलों में गलत तरीके से परिभाषित प्रारूपों को परिवर्तित करने की कोशिश करता है तारीख/समय प्रारूप है कि ERDDAP™ आवश्यकता जो लगभग समान है Java /जोडा समय प्रारूप विनिर्देश, लेकिन थोड़ा अधिक क्षमाशील है।

अगर EML चेकर को सख्त पालन की आवश्यकता है तो यह अच्छा होगा Java / Joda/ ERDDAP समय इकाइयों विनिर्देशन और सत्यापित करें कि डेटा तालिका में तारीख समय मान निर्दिष्ट प्रारूप के साथ सही ढंग से पार किया जा सकता है।

डेटटाइम लेकिन नो टाइम जोन

जनगणना Xml तारीख के साथ एक स्तंभ के लिए लग रहा है समय और एक निर्दिष्ट समय क्षेत्र (या तो Zulu समय इकाइयों से 'Z' या एक स्तंभ नाम या विशेषता परिभाषा में समाप्त होता है जिसमें "gmt" या "utc", या स्थानीय शामिल हैं: कॉलम नाम या विशेषता परिभाषा में "स्थानीय" से) । इसके अलावा स्वीकार्य एक तारीख स्तंभ के साथ एक फ़ाइल है लेकिन कोई समय स्तंभ नहीं है। इसके अलावा स्वीकार्य कोई तारीख या समय की जानकारी के साथ एक फ़ाइल है।

जनगणना Xml समय क्षेत्र से होने के रूप में सभी "स्थानीय" समय का इलाज करता है जिसे आप SBC LTER के लिए फ़ाइलों के दिए गए बैच के लिए निर्दिष्ट कर सकते हैं, उदाहरण के लिए, US/Pacific का उपयोग करें। यह जानकारी कभी-कभी टिप्पणियों में होती है, लेकिन ऐसा नहीं है जो कंप्यूटर प्रोग्राम के लिए आसान है।

उन फ़ाइलों को जो इस मानदंडों को पूरा नहीं करते हैं उन्हें संदेश के साथ खारिज कर दिया जाता है "NO GOOD DATE" (टाइम) उपलब्ध। सामान्य समस्याएं हैं:

  • तिथियों के साथ एक स्तंभ और समय के साथ एक स्तंभ है, लेकिन तारीख नहीं टाइम कॉलम।
  • वहाँ समय इकाइयों हैं, लेकिन समय क्षेत्र निर्दिष्ट नहीं है।

अन्य टिप्पणियां: यदि समय क्षेत्र स्तंभ के साथ एक अच्छी तारीख + समय है, तो उस स्तंभ को नामित किया जाएगा। "time" में ERDDAP । ERDDAP™ उस समय के लिए कॉलम डेटा को समझने योग्य / परिवर्तनीय होना चाहिए Zulu /UTC/GMT समय क्षेत्र dateTimes। \[ मेरा विश्वास है: स्थानीय समय और विभिन्न तारीख / समय प्रारूपों का उपयोग करना (2-अंक वर्ष! मिमी / डीडी / वाई बनाम डीडी / मिमी / वाई बनाम ...) डेटा फ़ाइलों में अंतिम उपयोगकर्ता को जटिल रूपांतरण करने के लिए मजबूर करता है Zulu डेटा सेट से डेटा की तुलना करने के लिए समय-समय पर डेटा सेट करें। तो ERDDAP™ सभी समय डेटा को मानकीकृत करना: स्ट्रिंग समय के लिए, ERDDAP™ हमेशा ISO 8601:2004 का उपयोग करता है (E) मानक प्रारूप, उदाहरण के लिए, 1985-01-02T00:00Z. संख्यात्मक समय के लिए, ERDDAP™ हमेशा उपयोग "seconds since 1970-01-01T00:00:00Z" । ERDDAP™ हमेशा उपयोग करता है Zulu (GMT) समय क्षेत्र विभिन्न समय क्षेत्रों और मानक समय बनाम डेलाइट बचत समय के साथ काम करने की कठिनाइयों को दूर करने के लिए। So GenerateDataset Xml एक EML डेटाTable कॉलम की तलाश करता है जिसमें डेट + टाइम होता है Zulu । यह कठिन है क्योंकि EML एक औपचारिक शब्दावली / प्रणाली का उपयोग नहीं करता है (लाइक Java /जोडा समय प्रारूप ) डेटा निर्दिष्ट करने के लिए समय स्वरूप: यदि संख्यात्मक समय मान के साथ एक कॉल है (उदाहरण के लिए Matlab बार) और Zulu समयzone (या सिर्फ तारीखें, कोई समय कॉलम के साथ) इसका उपयोग किया जाता है "time" । यदि तारीख और समय डेटा के साथ एक कॉल है, तो इसका उपयोग करना Zulu समय क्षेत्र, यह रूप में प्रयोग किया जाता है "time" और किसी अन्य तारीख या समय स्तंभ को हटा दिया जाता है। यदि केवल तारीख की जानकारी के साथ एक कॉल पाया जाता है, तो इसका उपयोग किया जाता है "time" चर (कोई समय क्षेत्र नहीं) । यदि कोई डेटा कॉलम और टाइम कॉलम है और कोई संयुक्त तारीख नहीं है टाइम कॉलम, डेटासेट को REJECTED किया गया है - लेकिन डेटासेट को संयुक्त तारीख जोड़कर प्रयोग किया जा सकता है समय स्तंभ (विशेष रूप से, Zulu समय क्षेत्र) डेटाफ़ाइल में और EML फ़ाइल में अपना विवरण जोड़ने। एसबीसी LTER से EXAMPLE: https://sbclter.msi.ucsb.edu/external/InformationManagement/eml\_2018\_erddap/ DataTable #2.

यह अच्छा होगा अगर EML/LTER के साथ एक स्तंभ को शामिल करने की आवश्यकता है Zulu (GMT) सभी प्रासंगिक स्रोत डेटा फ़ाइलों में समय क्षेत्र समय। अगला सर्वश्रेष्ठ EML को एक प्रणाली को निर्दिष्ट करने के लिए जोड़ना है time\_zone मानक नामों का उपयोग करके विशेषता (से TZ कॉलम ) ।

मिसिंग missing\_value

कुछ स्तंभों का उपयोग करते हैं missing\_value लेकिन इसे EML मेटाडाटा में सूचीबद्ध नहीं करते हैं, उदाहरण के लिए, knb-lter-sbc.5011 में वर्षा \_mm -999 का उपयोग करता है। यदि EML में कोई लापता मान निर्दिष्ट नहीं है, तो GenerateDatasetsXml स्वचालित रूप से सामान्य लापता मानों की खोज करता है (उदाहरण के लिए, 99, -99, 999, -999, 9999,-9999, आदि) और उस मेटाडाटा बनाता है। लेकिन अन्य लापता missing\_value नहीं पकड़ा जाता है।

यह अच्छा होगा अगर EML चेकर लापता के लिए देखा missing\_value S.

छोटी समस्याएं

कई छोटी समस्याएं हैं (वर्तनी, punctuation) जो शायद केवल प्रत्येक डेटासेट का निरीक्षण करने वाले मानव द्वारा पाया जाएगा।

यह अच्छा होगा अगर EML चेकर वर्तनी और व्याकरणिक त्रुटियों के लिए देखा। यह एक कठिन समस्या है क्योंकि विज्ञान में शब्द अक्सर स्पेल चेकर्स द्वारा ध्वजांकित होते हैं। मानव संपादन की शायद जरूरत है।

Invalid Unicode वर्ण

कुछ EML सामग्री में अवैध यूनिकोड वर्ण शामिल हैं। ये शायद विंडोज charset के पात्र हैं जिन्हें गलत तरीके से कॉपी किया गया था और UTF-8 EML फ़ाइलों में चिपकाया गया था। जनगणना Xml इन पात्रों को ई.जी. में स्वीकार करता है, \[ #128 \] इसलिए उन्हें खोजना आसान है ERDDAP™ datasets.xml फ़ाइल

यह अच्छा होगा अगर EML चेकर इसके लिए जाँच की। इसे ढूंढना आसान है और इसे ठीक करना आसान है।

विभिन्न स्तंभ इकाइयों (#अलग-अलग कॉलम)

कुछ EML DataTables उन स्तंभों को परिभाषित करते हैं जो डेटा फ़ाइल में स्तंभों के साथ असंगत हैं, खासकर क्योंकि उनके पास अलग-अलग इकाइयां हैं। जनगणना Xml इन झंडे। यह तय करने के लिए ऑपरेटर तक है कि मतभेद ठीक हैं या नहीं। ये असफलता फ़ाइल में "SKIPPED" dataTables के रूप में दिखाई देते हैं। SBC LTER विफलताओं फ़ाइल में EXAMPLE:

      < SKIPPED (USUALLY BECAUSE THE COLUMN NAMES IN THE DATAFILE ARE IN
A DIFFERENT ORDER OR HAVE DIFFERENT UNITS THAN IN THE EML file):
datasetID=knb\\_lter\\_sbc\\_3\\_t1
dataFile=SBCFC\\_Precip\\_Daily\\_active\\_logger.csv
The data file and EML file have different column names.
ERDDAP™ would like to equate these pairs of names:
Daily\\_Precipitation\\_Total\\_mm = Daily\\_Precipitation\\_Total\\_inch
Flag\\_Daily\\_Precipitation\\_Total\\_mm = Flag\\_Daily\\_Precipitation\\_Total\\_inch
-->

यह अच्छा होगा अगर EML चेकर ने जांच की है कि इकाइयों मैच। दुर्भाग्य से, डेटासेट निर्माता से संपर्क किए बिना हल करने के लिए शायद असंभव है, यह देखते हुए कि स्रोत फ़ाइल में यूनिट शामिल नहीं है। उपरोक्त उदाहरण के लिए विसंगति केवल ध्यान देने योग्य थी क्योंकि इकाइयों को स्रोत कॉलम नाम और EML कॉलम नाम में शामिल किया गया था। कितने अन्य डेटाटेबल्स इस समस्या को देखते हैं, लेकिन यह undetecable है?

EML के विभिन्न संस्करण

जनगणना Xml को EML 2.1.1 के साथ काम करने के लिए डिज़ाइन किया गया है। EML के अन्य संस्करण इस हद तक काम करेंगे कि वे 2.1.1 से मेल खाते हैं या इससे निपटने के लिए GenerateDatasetsXml का विशेष कोड है। यह एक दुर्लभ समस्या है। जब यह होता है, तो समाधान आपकी फ़ाइलों को EML 2.1.1 में परिवर्तित करना है, या EML फाइल को EML फाइल को EML फाइल को EML फाइल को EML फाइल को EML 2.1.1 में भेजना है। erd.data at noaa.gov इसलिए मैं जेनरेटडाटासेट में बदलाव कर सकता हूं XML मतभेदों से निपटने के लिए।

बॉब EML फ़ाइलों के लिए समर्थन करने के लिए GenDatasets जोड़ा 2016 में Xml आशा के साथ कि EML समुदाय में कुछ उतार-चढ़ाव होगा। 2020 तक ऐसा नहीं हुआ है। बॉब EML के हाल के संस्करणों के लिए समर्थन जोड़ने के लिए खुश है, लेकिन केवल अगर नई सुविधाओं वास्तव में इस्तेमाल किया जाएगा। ईमेल erd.data at noaa.gov यदि आप EML के हाल के संस्करणों के लिए समर्थन चाहते हैं और वास्तव में इस सुविधा का उपयोग करेंगे।

ट्रबल डाटा फाइल पार्सिंग

शायद ही कभी, एक डेटाटेबल को त्रुटि के साथ खारिज कर दिया जा सकता है "लाइन # 120 पर वस्तुओं की अप्रत्याशित संख्या (देखा गया=52, उम्मीद=50) " इस तरह एक त्रुटि संदेश का मतलब है कि डेटाफ़ाइल में एक पंक्ति में अन्य लाइनों की तुलना में कई मान थे। यह समस्या हो सकती है ERDDAP™ (उदाहरण के लिए, फ़ाइल को सही ढंग से पार नहीं करना) या फ़ाइल में। एसबीसी LTER से EXAMPLE: https://sbclter.msi.ucsb.edu/external/InformationManagement/eml\_2018\_erddap/ DataTable #3, see datafile=LTER\_monthly\_bottledata\_registered\_stations\_20140429.txt