来自EML的EDD表和来自EMLBatch的EDD表 生成数据中的选项 xml 数据
\[本网页只涉及ERDDAP™从事 EML 文件工作的管理员 。 这份文件最初创建于2016年. 最近 一次编辑于2020-11-30.\]
ERDDAP™ 是一个数据服务器,它为用户提供了一个简单,一致的方法,以通用文件格式下载网格化和表格化的科学数据集子集,并制作图表和地图.ERDDAP™作为一组多维网格变量与给定数据集一起工作 (例如,卫星或模型数据) 或作为类似数据库的表格 (每类信息各有一栏,每条观察各有一行) 。 。 。 。ERDDAP™是自由开源软件,所以任何人都可以下载和安装ERDDAP™服务他们的数据。
将数据集添加到ERDDAP™安装ERDDAP™管理员必须将描述数据集的 XML 块添加到名为文件中datasets.xml。 。 。 。 (有个完整文档datasets.xml。 。 。 。) 虽然可以生成 XML 块,用于datasets.xml完全通过手,ERDDAP™带一个工具来,叫做 生成 DatasetsXml 它可以生成基于数据集某些信息来源的给定数据集所需的XML块的粗略草稿。
第一件事就是创造Datasets Xml 询问您想要创建什么样的数据集 。 生成数据 Xml有一个特别的选择, EDD 表来自EML 中,它使用一个生态元数据语言 (EML 电子邮件) 生成 XML 块的 XML 文件datasets.xml创建一个来自 Ascii 文件夹的 EDD 表格EML文件中每个数据表中的数据集。 这对大多数EML文件来说非常有效,这主要是因为EML文件在以易于操作的格式存储数据集所需的所有元数据方面做了出色的工作. GenerateDatasetsXml创建数据集需要的信息在EML文件中,包括数据文件的URL,它生成DatasetsXml的下载,解析,并与EML文件中的描述进行比较. (许多组会很好地切换到EML,这是一个很好的系统,可以记录任何表格式科学数据集,而不仅仅是生态数据. 许多创建XML schemas的团体 最好将 EML 用作 XML schema 的案例研究。 (也就是说,过多的级别) 也方便人类和计算机工作)
问题
这里有所有的问题 生成 Datasets Xml 将询问, 以及您要处理一个 EML 文件或一组 EML 文件应如何回答 :
-
哪个EDDTYPE? 如果您想要处理一个文件, 请回答: EDDTable FromEML 如果您想要处理一组文件, 请回答: EDDTable FromEMLBatch
-
要存储文件的目录 ? 输入用于存储已下载的 EML 和/或数据文件的目录名称 。 如果目录不存在,将会被创建.
-
(对于 EDD 表从EML 仅限) EML URL 或本地文件Name 输入 EML 文件的 URL 或本地文件名 。
-
(仅用于 EMLBatch 的 EDD 表格) EML 目录 (URL 或当地) ? 。 。 。 使用 EML 文件输入目录名称 (URL 或本地目录) 。 。 。 。 例如: http://sbc.lternet.edu/data/eml/files/
-
(仅用于 EMLBatch 的 EDD 表格) 文件名 regex 吗 ? 输入用于识别 EML 目录中想要的 EML 文件的正则表达式 。 例如: knb-lter-sbc\.\d+
-
显示时使用本地文件 (真实|虚假) ? 。 。 。 输入真实性以使用现有的本地 EML 文件和数据文件, 如果它们存在的话 。 输入错误以总是重新下载 EML 文件和/或数据文件 。
-
无障碍 要吗? 如果您想让新数据集成为私人数据集ERDDAP,指定组的名称 (编号) 这将会被允许进入。 建议使用 LTER 组: 组合“ lter” + 组, 如 liter (原始内容存档于2018-09-21). Sbc. 如果输入“ null” , 就不会<无障碍 输出中的togt; 标记 。 见无障碍 改为。 。 。 。
-
当地 时区 (例如,美国/太平洋) ? 。 。 。 如果一个时间变量表示它有本地时间值,这个时区会被指定. 这一定是从TZ 时区名称列列表。 。 。 。 注意列表末尾所有易于使用的"US/..."名称. 如果你后来发现这不正确,你可以改变time\_zone块datasets.xml。 。 。 。
EML 加号ERDDAP™这是一个伟大的组合,因为ERDDAP™可让用户更直接地获得生物复杂知识网络 (国家银行) 和长期生态研究 (升) 数据 帮助这些项目满足美国政府的要求公众获取研究成果的机会 (牧师) 所需经费通过网络服务提供数据。 还有,EML+ERDDAP™似乎是一个伟大的桥梁 科学家在学术/NSF 资助的领域 和科学家 在联邦机构 (NOAA美国航天局,USGS) 领域。
看我们的关于获得额外支助的章节。 。 。 。
设计细节
以下是GenerateDatasetsXml中的EDDTable FromEML选项的设计细节. 有些与EML和E/C.12/1/Add.1和E/C.12/1/Add.1和E/C.12/Add.1和E/C.12/Add.1和E/C.12/Add.1和E/C.12/Add.1和E/C.12/Add.1和E/C.12/Add.1和E/C.12/Add.1和E/C.12/Add.1和E/C.12/Add.1和E/C.12/Add.1和E/C.12/Add.1和E/C.12/Add.1和E/C.12/Add.1和E/C.12/Add.1和E/C.12/Add.1和E/C.12/1/Add.1和E/C.12/1/Add.1和E/C.1/C.1/Add.1和E/C.5/Add.1和E/C.5和E/C.5和E/C.5和E/C.5和E/C.5和E/C.5和E/C.5和E/C.5和E/C.5和E/C.5和E/C.5和E/C.5和E/C.6和E/C.6和E/C.6和E/C.6和E/C.6和E/C.6和E/C.6和E/CERDDAP™做事和如何创造达塔斯 Xml处理这些问题.
一个数据表变成一个ERDDAP™数据集
一个 EML 文件可能有多个<数据 表格( G) 。ERDDAP™制作一个ERDDAP™eML数据表。 那个datasetID数据集为 EML 语句Name \_t 数量 (当 EML 名称为文本时) 或 系统QQEML Name \_t 数量 (当 EML 名称是一个数字时) 。 。 。 。 例如,文件 knb- lter- sbc.28 中的表 1 变成ERDDAP™ datasetID{\fn黑体\fs22\bord1\shad0\3aHBE\4aH00\fscx67\fscy66\2cHFFFFFF\3cH808080}我很高兴见到你
EML 对 CF+ACDD
EML 文件中几乎所有元数据都进入ERDDAP,但格式不同。ERDDAP™使用CF 数字和APDD元数据标准。 它们是互补的元数据系统,对全球元数据和每个变量的元数据使用按键=值对。 是的,元数据的EML代表比CF+ACDD代表更好. 我不是建议使用CF+ACDD代表作为EML的替代. 请考虑将CF+ACDD作为从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要求元数据为纯文本. 因此生成 Datasets Xml 将标注的文本转换成纯文本,看起来像文本的格式版本. 内衬标签用方括号进行消毒,例如,\[强调\],然后在正文中留下。
数据文件
由于 EML 数据表包含实际数据文件的 URL, 生成 Datasets Xml 会:
- 下载数据文件 。
- 存储在与 EML 文件相同的目录中 。
- 读数据
- 将EML中的数据描述与文件中的实际数据进行比较.
- 如果生成 Datasets Xml 找到差异, 它处理这些差异, 或者询问操作员这些差异是否正常, 或者返回错误消息 。 详情见下文各项目。
.zip'd 数据文件
如果引用的数据文件是.zip文件,它必须包含一个文件。 该文件将被用于ERDDAP™数据集。 如果有超过一个文件 。ERDDAP™将拒绝该数据集。 如果需要,可以修改。 (实际上,所有的SBC LTER zip文件只有一个数据文件.)
存储类型
如果列的存储 未指定类型,ERDDAP™使用基于数据文件中数据的最佳猜测。 这很有效
单位
ERDDAP™用途UDUNITS单位的格式。 。 。 生成数据 Xml 能够将 EML 单元转换为UDUNITS95%的时间是干净的 其余5%对单位进行可读描述,例如,EML中的“生物物质敏感度UnitPerAfundance Unit”成为“每个丰度单位的生物物质密度单位”。ERDDAP。 。 。 从技术上讲,这是不允许的。 在当时的形势下,我不觉得这么糟糕.\[必要的话,不能制造的单位UDUNITS兼容可以移动到变量的注释属性。\]
EML 版本 2.1.1
对 EML v2.1.1 文件的这种支持被添加到 GenerateDatasets 2016年的Xml,希望EML社区会有一些吸收. 截至2020年,这种情况尚未发生。 那个ERDDAP™开发者将乐于为更近期的EML版本添加支持,但前提是新功能将实际使用. 请发电子邮件erd.data at noaa.gov如果您想要支持最近版本的 EML , 并且将实际使用此功能。
与 EML 文件有关的问题
EML 文件存在一些问题/问题, 当软件客户端出现问题时会产生问题 (例如生成DatasetXML中的 EDDTable FromEML 选项) 尝试解释/处理 EML 文件 。
- 虽然这里列出了几个问题,但它们大多是小的,可以解决的问题. 总的来说,EML是一个伟大的系统,我很高兴与它合作。
- 这些大致从最差/最常见到最差/不太常见。
- 大部分与特定EML文件中的小问题有关 (不是EML的错) 。 。 。 。
- 大多数可以通过对EML文件或数据文件的简单修改来固定.
- 鉴于LTER人员正在建立一个EML检查器以测试EML文件的有效性,我在下文中增加了一些关于可以添加到检查器中的特性的建议.
以下是问题:
单独的日期和时间列
一些数据文件有独立的日期和时间栏,但没有统一的日期+时间栏. 目前, 生成数据 Xml 创建了带有这些独立的列的数据集,但并不理想,因为:
- 最好把数据集输入ERDDAP™有合并日期+时间栏"time"。 。 。 。
- 数据集往往不会装入ERDDAP™因为"time"栏中没有日期+时间数据。
有两种可能的解决办法:
- 编辑源数据文件以便在数据文件中添加新列 (并在EML中描述) 其中日期和时间栏合并为一个栏。 然后重运行生成数据 Xml,所以它找到新的一栏。
- 使用衍生变量特性在ERDDAP™中定义新变量datasets.xml它通过调 和日期和时间柱而建立。 其中一个例子专门涉及这种情况。
不一致的列名称
EML文件列出了数据文件的列及其名称. 不幸的是,它们往往不同于实际数据文件中的列名. 通常,EML文件中的列顺序与数据文件中的列顺序相同,即使名字略有不同,但并不总是. 生成数据 Xml 试图匹配列名 。 当它不能 (常见) ,它将停止,显示 EML/数据文件名对齐,并询问它们是否对齐。 如果您要跳过表格输入“ s ” , 生成 DatasetsXml 会打印一个错误消息, 并转到下一个表格 。 解决方案是更改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文件中的列和列顺序相匹配,那会很好.