Головна

EDDTableЗ альбомуEML і EDDTableЗ альбомуEMLBatch Параметри в GenerateDatasets Хмл

\[ Цей веб-сторінок буде тільки цікавим ERDDAP™ адміністратори, які працюють з файлами EML. Цей документ був створений в 2016 році. Останнє редагування на 2020-11-30. \]

** ERDDAP™ ** є сервером даних, який дає користувачам простий, послідовний спосіб завантаження підсетів сітчастих і табличних наукових даних у спільних форматах файлів і зробити графіки і карти. ERDDAP™ працює з заданими даними, як або групою багатовимірних змінних сітки (наприклад, супутникові або моделі) або як база даних (з колонкою для кожного типу інформації та ряду для кожного спостереження) й ERDDAP™ є безкоштовним і відкритим програмним забезпеченням, тому кожен може завантажити і встановити ERDDAP™ подавати дані.

Щоб додати дані ERDDAP™ монтаж, ERDDAP™ Адміністратор повинен додати роз'єм XML, що описує дані, що зберігаються в файлі, що називається datasets.xml й (Є ретельна документація datasets.xml й) Незважаючи на те, що це можливо, для створення шматка XML для datasets.xml повністю вручну, ERDDAP™ поставляється з інструментом, який називається ГенераціяДатасетСмл який може генерувати грубий проект шматка XML, необхідний для заданих даних на основі деяких джерел інформації про дані.

Перше, що GenerateDatasets Xml просить - який тип даних, який ви хочете створити. ГенераціяДатасети Xml має особливий варіант, EDDTableЗ альбомуEML , яка використовує інформацію в Екологічна метадані (ЕМЛ) XML файл для створення шматка XML для datasets.xml створити EDDTableЗ альбомуAsciiFiles Dataset з кожного таблиці даних у файлі EML. Це дуже добре працює для більшості файлів EML, в основному тому, що файли EML роблять відмінну роботу зберігання всіх необхідних метаданих для метаданих для метаданих у форматі простий у роботі. Відомості, що GenerateDatasetsXml необхідно створити дані в файлі EML, включаючи URL для файлу даних, який GenerateDatasetsXml завантажує, парози та порівнює з описом у файлі EML. (Багато груп будуть добре переходити до EML, яка є чудовою системою для документування будь-якої табличної наукової інформації, не тільки екологічності дані. І багато груп, які створюють XML schemas, будуть добре використовувати EML як приклад дослідження для XML schema, які чіткі, до точки, не надмірно глибоко (i.e., занадто багато рівнів) , і легко працювати з людьми і комп'ютерами.)

Питання

Ось всі питання GenerateDatasets Xml запитати, з коментарями про те, як ви повинні відповісти, якщо ви хочете обробляти тільки один файл EML або пакет файлів EML:

  • Який EDDType? Якщо ви хочете обробляти лише один файл, відповідь: EDDTableFromEML Якщо ви хочете обробляти групу файлів, відповідь: EDDTableFromEMLBatch
  • Каталог для зберігання файлів? Введіть ім'я каталогу, який буде використаний для зберігання завантажених файлів EML та / або даних. Якщо каталог не існує, він буде створений.
  • (Для EDDTableЗ альбомуEML тільки) EML URL або локальний файлName? Введіть URL або локальне ім'я файлу EML.
  • (Для EDDTableЗ альбомуEMLBatch only) EML дир (URL-адреса або локальна) ? Введіть ім'я каталогу з файлами EML (URL-адреса або локальний реєстр) й Наприклад:http://sbc.lternet.edu/data/eml/files/
  • (Для EDDTableЗ альбомуEMLBatch only) Імя файла regex? Введіть формальне вираз, яке буде використано для визначення бажаних файлів EML у каталозі EML. Наприклад: knb-lter-sbc\\d+
  • Використовуйте локальні файли, якщо присутні (Справедливість | Логін) ? Щоб використовувати існуючі локальні файли та файли даних, якщо вони існують. Введіть false, щоб завжди перезавантажити файли EML та/або файли даних.
  • доступні Чи? Якщо ви хочете, щоб нові дані були приватними ERDDAP , вказати ім'я групи (й) це буде дозволено доступ. Рекомендовані для груп LTER: комбайн "lter" плюс група, наприклад, Lter Сбк . Якщо ви вводите "нуль", немає<доступні To> тег в виході. Про нас доступні до й
  • Українська часЗона (Наприклад, США) ? Якщо змінна часу вказує, що вона має значення місцевого часу, ця зона часу буде призначена. Це має бути значення від TZ список імен часових поясів й Зверніть увагу, що всі прості у використанні "US/..." імена в кінці списку. Якщо ви пізніше знаходите, що ви можете змінити time\_zone в горбочку datasets.xml й

EML плюс ERDDAP™ є відмінним поєднанням, так як ERDDAP™ може надати користувачам більш прямий доступ до багатства Мережа знань для біокомплексності (КНБ) і Довгий термін Екологічні дослідження (ПІСЛЯ) дані та допомога тим, хто відповідає уряду США Публічний доступ до результатів досліджень (ПАРР) Вимоги шляхом створення даних, доступних через веб-сервіс. Також, EML плюс ERDDAP™ Здавалося б, великий міст між науковцями в академічній / NSF-фундованої ріелтори і науковцями в федеральному агентстві ( NOAA , НАСОС, USGS) ріел.

Про нас розділ про отримання додаткової підтримки й  

Деталі дизайну

Ось деталі дизайну EDDTableЗ альбомуEML в GenerateDatasetsXml. Деякі пов'язані з відмінністю як EML і ERDDAP™ робити речі і як GenerateDatasets Xml працює з цими проблемами.

Одні даніТабні стати одним ERDDAP™ Дата

Один файл EML може мати кілька<дані Таблички ERDDAP™ Зроби один ERDDAP™ датасет на EML дані Про нас datasetID для збору даних Ім'я \_т Написати (коли EMLname є текстом) або система\_EMLName \_т Написати (коли EMLname є номером) й Наприклад, таблиця #1 в файл knb-lter-sbc.28, стає ERDDAP™ datasetID JavaScript licenses API Веб-сайт Go1.13.8  

EML проти CF+ACDDD

Практично всі метадані в файлах EML ERDDAP , але в іншому форматі. ERDDAP™ використання Панчохи і АКДД стандарти метаданих. Доповнюючі системи метаданих, які використовують ключові=значення пар для глобальних метаданих та для метаданих кожного змінного. Так, метаданих EML є приємним, ніж представлення CF + ACDD. Я не пропоную за допомогою представництва CF+ACD як заміну для EML. Будь ласка, подумайте про CF+ACD у складі мосту з світу EML OPeNDAP /CF / ACDD світ.  

Невеликі зміни

ERDDAP™ робить багато невеликих змін. Наприклад, ERDDAP™ використовує EML не- DOI Попередження Ідентифікатор плюс даніТабний номер як ERDDAP™ datasetID , але трохи зміни чергуються Визначальник, щоб зробити це вірним змінним ім'ям в більшості комп'ютерних мов, наприклад, knb-lter-sbc.33 дані Таблиця #1 стає knb\_lter\_sbc\_33\_t1.  

Докбук

EML використовує систему маркування DocBook для забезпечення структури блоків тексту в файлах EML. CF і ACDD вимагають, щоб метадані були простим текстом. Со GenerateDatasets Xml перетворює позначений текст у звичайний текст, який схожий на форматовану версію тексту. Внутрішня мітка сатизовані квадратними дужками, наприклад, \[ підкреслений \] і зліва в звичайний текст.  

Файли даних

Оскільки дані EML, що містять URL фактичного файлу даних, GenerateDatasets Xml буде:

  1. Завантажте файл даних.
  2. Зберігайте його в одному каталозі, як файл EML.
  3. Читати дані.
  4. Порівняти опис даних в EML з фактичними даними в файлі.
  5. Якщо GenerateDatasets Xml знаходить відмінності, він працює з ними, або попросить оператора, якщо відмінності є океї, або повертає повідомлення про помилку. Деталі в різних пунктах нижче.  

.zip 'd Файли даних

Якщо посилений файл даних є .zip файл, він повинен містити лише один файл. Цей файл буде використовуватися для ERDDAP™ датасет. Якщо є більше 1 файлу. ERDDAP™ відхилятиме дані. Якщо необхідно, це може бути змінено. (На практиці всі файли zip SBC LTER мають лише один файл даних.)
 

Тип зберігання

Якщо зберігання стовпця Тип не вказано, ERDDAP™ використовувати його краще вгадувати на основі даних у файлі даних. Це добре працює.  

Блоки

ERDDAP™ Зареєструватися UDUNITS форматування блоків й ГенераціяДатасети Xml здатний конвертувати EML одиниці до UDUNITS чисто близько 95% часу. Решта 5% призводить до читабельного опису одиниць, наприклад, «біомасаДенсністьUnitPerAbundanceUnit» в EML стає «біомазом щільність одиниці за одиницю кількості» в ERDDAP й Технічно це не допускається. Я не думаю, що це так погано під час обставин. \[ При необхідності агрегати, які не можуть бути зроблені UDUNITS сумісність може бути переміщена до атрибуту коментаря змінної. \]
 

EML версія 2.1.1

Ця підтримка файлів EML v2.1.1 додано до GenerateDatasets Xml у 2016 році з сподіванням, що було б деяке поглинання у спільноті EML. Станом на 2020 рік, що не відбулося. Про нас ERDDAP™ Розробники будуть щасливі додавати підтримку більш останніх версій EML, але тільки якщо нові можливості будуть дійсно використані. Будь ласка, зв'яжіться з нами erd.data at noaa.gov якщо ви хочете підтримувати більш останні версії EML і буде дійсно використовувати цю функцію.  

Проблеми з файлами EML

Є деякі проблеми / проблеми з файлами EML, які викликають проблеми, коли клієнт програмного забезпечення (такі як опція EDDTableЗ альбомуEML в GenerateDatasetsXML) намагається інтерпретувати / обробляти файли EML.

  • Хоча є кілька питань, перерахованих тут, вони є переважно невеликими, цілком прийнятними проблемами. В цілому EML є відмінною системою, і це було моє задоволення для роботи з ним.
  • Це грубо відсортовані від найгірших / найбільш поширених принаймні погано / рідше.
  • Більшість пов'язаних з невеликими проблемами в певних файлах EML (які не вини EML) й
  • Більшість можуть бути виправлені простими змінами до файлу EML або файлу даних.
  • З огляду на те, що LTER люди будують EML-реєстратор, щоб перевірити дійсність EML-файлів, я додав деякі пропозиції щодо особливостей, які можна додавати до перевірки.

Ось питання:

Окрема дата і часові колони

Деякі файли даних мають окремі стовпці на дату та час, але не позначений дата + часовий стовпчик. В даний час GenerateDatasets Xml створює дані з такими окремими стовпчиками, але це не ідеально, тому що:

  • Найкраще, якщо дані ERDDAP™ мають комбіновану дату + часовий стовпчик "time" й
  • Нерідко завантажувач не завантажується ERDDAP™ бо "time" стовпчик не має даних часу + часу.

Можливі рішення:

  1. Редагування файлу вихідних даних для додавання нового стовпця у файлі даних (і описати його в EML) де стовпці дати і часу об'єднуються в один стовпчик. Потім перебіг GenerateDatasets Xml так що він знаходить новий стовпчик.
  2. Використання Витратні матеріали в наявності ERDDAP™ визначити нову змінну в datasets.xml який створюється шляхом закріплення дати і часових стовпчиків. Однією з прикладів є конкретна ситуація.  

Непристойні імен стовпців

Файли EML перераховують стовпці файлів даних та їх імен. На жаль, вони часто відрізняються від назв стовпців у реальному файлі даних. Як правило, порядок стовпця в файлі EML є таким же, що і порядок стовпця в файлі даних, навіть якщо імена дещо різняться, але не завжди. ГенераціяДатасети Xml намагається відповідати іменам стовпців. Коли він не може (що є загальним) , вона зупиниться, покаже вам пари з іменем файлів EML/data, і запитайте, якщо вони правильно вирівняні. Якщо ви вводите 's', щоб пропустити таблицю, GeneratedDatasetsXml буде роздрукувати повідомлення про помилку і перейти на наступний стіл. Розчин полягає в тому, щоб змінити початкові імена стовпців у файлі EML, щоб відповідати назвам стовпців у файлі даних.  

Різні стовпці замовлення

Є кілька випадків, коли EML вказав стовпці в іншому порядку, ніж вони існують в файлі даних. ГенераціяДатасети Xml зупиниться і попросить оператора, якщо матчи є окай або якщо датасет повинен бути пропущений. Якщо він пропускає, буде повідомлення про помилку в файлі результатів, наприклад,:

      &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.

Невірний numHeaderLines

Кілька даних Столи некоректно стан numHeaderLines=1, наприклад, ...sbc.4011. Причини ERDDAP™ читати першу лінію даних як імена стовпців. Я спробував вручну SKIP всі ці дані Вони очевидні, тому що незрівняні імена col є всі значення даних. І якщо є файли, які неправильно мають numHeaderLines=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;

Так може з'явитися помилка, якщо GenerateDatasets Xml вважає, що перша лінія з даними у файлі (Наприклад, з 2008-10-01T00:00) є рядок з іменами стовпців (якби 2008-10-01T00:00 були назва стовпця) й

Якщо перевірка EML перевірить значення numHeaderLines.

numHeaderLines = 0

Деякі вихідні файли не мають назв стовпців. ERDDAP™ приймає, що якщо EML описує однакову кількість стовпців.

На мій погляд: це дуже небезпечно. Ви можете бути стовпчики в іншому порядку або з різними блоками (Переглянути нижче) і не існує способу ловити ці проблеми. Це набагато краще, якщо всі файли даних ASCII мають ряд з іменами стовпців.

Формат дати

EML має стандартний спосіб описувати часові формати. але існує значна варіація в його використанні у файлах EML. (Я був раніше неправильним про це. Я бачу документацію EML для форматування Java Технічна характеристика DateTimeFormatter , але які не вистачає важливих інструкцій про його використання, з результатом чого форматСтранґ часто/зазвичай неправильно використовується.) Є кілька екземплярів з неправильним корпусом, а/або неправильним дублікуванням листа, а/або нестандартним форматуванням. Для клієнтів, особливо, таких як GenerateDatasetsXml. ГенераціяДатасети Xml намагається перетворити неправильно визначені формати в файлах EML в дата/час формат, який ERDDAP™ Задоволення , яка майже ідентична для Java /Ви специфікація формата Joda, але трохи більше запобіжників.

Це буде приємно, якщо перевірка EML вимагає суворого дотримання Java Українська ERDDAP специфікація часових одиниць та перевірені значення часу дати в таблиці даних може бути правильно оформлений із зазначеним форматом.

Дата час Але немає часової зони

ГенераціяДатасети Xml виглядає для стовпчика з датою Час і вказана часова зона (чи Zulu : з таймерів, що закінчуються в "Z" або ім'я стовпця або визначення атрибутів, що включає "gmt" або "utc", або локальні: від "local" в назві стовпця або визначення атрибутів) й Також прийнятний файл з поточним стовпчиком, але не часовим стовпчиком. Також прийнятний файл без дати або часу інформації.

ГенераціяДатасети Xml лікує всі "локальні" часи, як від часової зони, які можна вказати на даній партії файлів, наприклад, для SBC LTER, використовуйте US/Pacific. Інформація іноді в коментарях, але не у вигляді, яка проста для комп'ютерної програми, щоб з'ясувати.

Файли, які не відповідають цим критеріям, відхилені повідомленням "НЕ ДОБРЕ ДАТ" (ЧАС) VARIABLE. Загальні проблеми:

  • Є стовпчик з датами і стовпчиком з часом, але не дата Часовий стовпчик.
  • Часові одиниці, але часовий пояс не зазначений.

Інші коментарі: Якщо є гарна дата + час з таймером часу, цей стовпчик буде названий "time" в ERDDAP й ERDDAP™ вимагає, щоб часові дані стовпців були зрозумілі / незворотні для Zulu /UTC / GMT часових поясів. \[ Моя віра: використовуючи локальні часи та різні формати (2-місні роки! mm/dd/y проти dd/mm/y проти ...) у файлах даних змушує кінцевого користувача робити складні перетворення Zulu час для порівняння даних з одного облікового запису з даними з іншого. Про нас ERDDAP™ стандартизувати всі дані часу: Для строку, ERDDAP™ Ми використовуємо ISO 8601:2004 (Етикети) стандартний формат, наприклад, 1985-01-02T00:00Z. Для нумеричних разів, ERDDAP™ завжди використовується "seconds since 1970-01-01T00:00:00Z" й ERDDAP™ завжди використовується Zulu (Торгівля) часовий пояс для видалення труднощів роботи з різними часовими поясами та стандартними часовими показниками економії часу. Со GenerateDatasets Xml шукає EML даніТабний стовпчик з датою + час Zulu й Це важко, оскільки EML не використовує формальну лексику/систему (як Java / формат часу Joda ) для визначення даних Формат часу: Якщо є коль з числовими значеннями часу (Наприклад, Matlab час) і Zulu лосини (або просто дати, без стовпчиків часу) , він використовується як "time" й Якщо є коль з даними дати і часу, використовуючи Zulu часовий пояс використовується як "time" і будь-який інший дата або часовий стовпчик знімається. У випадку, якщо col з точною інформацією, він використовується як "time" змінна (без зони часу) й Якщо є стовпець даних і часовий стовпчик і не сумується дата Часовий стовп, датасет РЕЖИМ - але дані, які можуть бути використані, додаючи комбіновану дату Розклад (бажано, Zulu часовий пояс) до файлу EML і додавання його опису. EXAMPLE від SBC LTER: https://sbclter.msi.ucsb.edu/external/InformationManagement/eml\_2018\_erddap/ dataTable #2.

Це буде приємно, якщо EML / LTER вимагає включення стовпчика з Zulu (Торгівля) часові пояси у всіх відповідних файлах даних. Далі краще, щоб додати систему до EML, щоб вказати time\_zone атрибут з використанням стандартних імен (з TZ колонка ) й

Мапа missing\_value

Деякі стовпчики використовують missing\_value але не списайте його в метаданих EML, наприклад, опади\_мм в knb-lter-sbc.5011 використовує -999. Якщо немає значення вказано в EML, GenerateDatasetsXml автоматично шукає загальні відсутні значення (Наприклад, 99, -99, 999, -999, 9999, -9999 та ін.) і створює метадані. Але інші відсутні missing\_value не спійманий.

Це буде приємно, якщо перевірка EML не знайдено missing\_value й

Маленькі проблеми

Є багато маленьких проблем (написання, пунктуація) які, ймовірно, будуть знайдені людиною, які перевіряють кожен набір даних.

Це буде приємно, якщо перевірка EML виглядав для написання та граматичних помилок. Це складна проблема, тому що слова в науці часто зазначають орфографії. Зазвичай для людини потрібні редагування.

Неточні символи Unicode

Деякі з вмісту EML містять недійсні символи Unicode. Це, мабуть, персонажі з масиву Windows, які були некоректно скопійовані і задані в UTF-8 EML файли. ГенераціяДатасети Xml sanitizes ці символи для наприклад, \[ #128 \] , щоб вони легко шукати в ERDDAP™ datasets.xml файл.

Це буде приємно, якщо перевірка EML перевіряється на це. Легко знайти і легко виправити.

Різні колонні блоки] (#differentColumnUnits)

Деякі дані EMLВизначають стовпці, які не відповідають стовпчикам у файлі даних, зокрема, тому що вони мають різні одиниці. ГенераціяДатасети Xml прапори ці. Для того, щоб визначитися, чи є різниця чи ні. Ці дані з'являються в файлі провалів як "SKIPPED" EXAMPLE в файлі SBC LTER:

      < 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. Скільки інших данихТабні дані мають цю проблему, але невизначні?

Різні версії EML

ГенераціяДатасети Xml призначений для роботи з EML 2.1.1. Інші версії EML будуть працювати в обсязі, що вони відповідають 2.1.1 або що GenerateDatasetsXml має спеціальний код, щоб мати справу з ним. Це рідкісна проблема. Коли це відбувається, рішення для перетворення ваших файлів в EML 2.1.1 або надсилання файлу EML до erd.data at noaa.gov , щоб я можу змінити GenerateDatasets Xml для вирішення відмінностей.

Додано підтримку EML для GenerateDatasets Xml у 2016 році з сподіванням, що було б деяке поглинання у спільноті EML. Станом на 2020 рік, що не відбулося. Боб є щасливим, щоб додати підтримку більш останніх версій EML, але тільки якщо нові функції будуть дійсно використані. Будь ласка, зв'яжіться з нами erd.data at noaa.gov якщо ви хочете підтримувати більш останні версії EML і буде дійсно використовувати цю функцію.

Виправлення файлів даних

Зазвичай даніТабні можуть бути відхилені від помилки «необхідна кількість елементів на лінії No120 (=52, очікувано=50) « » » » » » » » » » » » » » » Повідомлення про помилку, як це означає, що рядок у файлі даних має різну кількість значень, ніж інші лінії. Це може бути проблема в ERDDAP™ (e.g., не парить файл правильно) або в файлі. EXAMPLE від SBC LTER: https://sbclter.msi.ucsb.edu/external/InformationManagement/eml\_2018\_erddap/ JavaScript licenses API Веб-сайт Go1.13.8