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З альбомуAsciiFilesDataset з кожного таблиці даних у файлі 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™ datasetIDJavaScript licenses API Веб-сайт Go1.13.8
EML проти CF+ACDDD
Практично всі метадані в файлах EMLERDDAP, але в іншому форматі.ERDDAP™використанняПанчохиіАКДДстандарти метаданих. Доповнюючі системи метаданих, які використовують ключові=значення пар для глобальних метаданих та для метаданих кожного змінного. Так, метаданих EML є приємним, ніж представлення CF + ACDD. Я не пропоную за допомогою представництва CF+ACD як заміну для EML. Будь ласка, подумайте про CF+ACD у складі мосту з світу EMLOPeNDAP/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 буде:
- Завантажте файл даних.
- Зберігайте його в одному каталозі, як файл EML.
- Читати дані.
- Порівняти опис даних в EML з фактичними даними в файлі.
- Якщо 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"стовпчик не має даних часу + часу.
Можливі рішення:
- Редагування файлу вихідних даних для додавання нового стовпця у файлі даних (і описати його в EML) де стовпці дати і часу об'єднуються в один стовпчик. Потім перебіг GenerateDatasets Xml так що він знаходить новий стовпчик.
- ВикористанняВитратні матеріалив наявностіERDDAP™визначити нову змінну вdatasets.xmlякий створюється шляхом закріплення дати і часових стовпчиків. Однією з прикладів є конкретна ситуація.
Непристойні імен стовпців
Файли EML перераховують стовпці файлів даних та їх імен. На жаль, вони часто відрізняються від назв стовпців у реальному файлі даних. Як правило, порядок стовпця в файлі EML є таким же, що і порядок стовпця в файлі даних, навіть якщо імена дещо різняться, але не завжди. ГенераціяДатасети Xml намагається відповідати іменам стовпців. Коли він не може (що є загальним) , вона зупиниться, покаже вам пари з іменем файлів EML/data, і запитайте, якщо вони правильно вирівняні. Якщо ви вводите 's', щоб пропустити таблицю, GeneratedDatasetsXml буде роздрукувати повідомлення про помилку і перейти на наступний стіл. Розчин полягає в тому, щоб змінити початкові імена стовпців у файлі EML, щоб відповідати назвам стовпців у файлі даних.
Різні стовпці замовлення
Є кілька випадків, коли EML вказав стовпці в іншому порядку, ніж вони існують в файлі даних. ГенераціяДатасети Xml зупиниться і попросить оператора, якщо матчи є окай або якщо датасет повинен бути пропущений. Якщо він пропускає, буде повідомлення про помилку в файлі результатів, наприклад,:
<-- 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
-->
Розчин полягає в тому, щоб виправити порядок стовпців в цих файлах EML, щоб вони відповідали замовлення в файлах даних.
Якщо перевірка EML перевірить, що стовпці та порядок стовпців у вихідному файлі відповідають стовпці та порядок стовпців у файлі EML.
Невірний numHeaderLines
Кілька даних Столи некоректно стан numHeaderLines=1, наприклад, ...sbc.4011. ПричиниERDDAP™читати першу лінію даних як імена стовпців. Я спробував вручну SKIP всі ці дані Вони очевидні, тому що незрівняні імена col є всі значення даних. І якщо є файли, які неправильно мають numHeaderLines=0, моя система не робить це очевидним. Ось приклад з файлу збою 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\\_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
-->
Так може з'явитися помилка, якщо 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