与datasets.xml文件
\[本网页只涉及ERDDAP™行政人员。\]
在你跟随之后ERDDAP™ 安装指令,您必须编辑datasets.xml文件输入 移动猫 /content/erddap/,用来描述您的数据集ERDDAP™安装将服务。
你可以看到一个例子datasets.xml关于 GitHub 的。 。 。 。
-
- 说吧
导言
需要一些大会
设置一个数据集ERDDAP™不只是指向数据集的目录或 URL 。 您必须写一块 XML 用于datasets.xml用于描述数据集。
- 用于网格数据集,以使数据集符合ERDDAP用于网格化数据的数据结构,您必须确定一个数据集变量的子集,这些变量具有相同的维度. (为什么? 怎么会?)
- 数据集当前元数据自动导入. 但如果要修改元数据或添加其他元数据,则必须在datasets.xml。 。 。 。 还有ERDDAP™需要其他元数据,包括全局属性 (例如,infoUrl机构,sourceUrl、摘要和标题) 和变量属性 (例如,long\_name单位) 。 。 。 正如目前数据集中的元数据为数据集添加描述性信息一样,ERDDAP™在数据集中添加描述性信息. 添加的元数据是您数据集的一个很好的添加, 并有助于ERDDAP™做好向不熟悉的用户展示数据的工作.
- ERDDAP™需要你做一些特别的事情 与经度、纬度、高度 (或深度) 时间变量。 。 。 。
如果你买进这些想法 并花费精力创建 XMLdatasets.xml,你得到了所有的优势ERDDAP™,包括:
- 数据集的全文搜索
- 按类别搜索数据集
- 数据访问表 ( datasetID .html (中文(简体) ).) 因此,您可以请求一个不同格式的数据子集
- 请求图表和地图的表格 ( datasetID 图片)
- 网络地图服务 (WMS) 用于网格数据集
- RESTful访问您的数据
创造datasets.xml最初的几个数据集需要大量努力,但 变容易了 。 。 。 在第一个数据集之后,您可以经常为下一个数据集重新使用很多工作. 幸运的是,ERDDAP™来两个工具帮助您为每个数据集创建 XMLdatasets.xml。 。 。 。 如果你卡住了,见我们的关于获得额外支助的章节。 。 。 。
数据提供者 表单
当一个数据提供者来 想要添加一些数据到您的ERDDAP收集所有元数据可能既困难又费时 (关于数据集的信息) 需要将数据集添加到ERDDAP。 。 。 。 许多数据来源 (例如,.csv文件, Excel 文件、数据库) 没有内部元数据,所以ERDDAP™拥有一个数据提供者表格,从数据提供者收集元数据,并向数据提供者提供一些其他指导,包括广泛的指导数据库中的数据。 。 。 所提交的信息转换成datasets.xml格式,然后发电子邮件到ERDDAP™管理员 (老师) 并写入 (附 录) 改为 大家长会 /logs/data ProviderForm.log. (原始内容存档于2018-03-09). 因此,表格半自动化了将数据集输入ERDDAP不过ERDDAP™管理员仍然需要完成datasets.xml块并处理获取数据文件 (编号) 从提供者或连接到数据库。
从外部来源提交实际数据文件是一个巨大的安全风险,所以ERDDAP™不处理这一点。 您必须想出一个对您和数据提供者有效的解决方案, 例如电子邮件 (用于小文件) 从云中拉出 (例如, DropBox 或 Google 驱动器) ,一个 sftp 站点 (带有密码) ,或运动鞋 净额 (USB 拇指驱动器或外部硬盘) 。 。 。 你也许应该只接受你认识的人的文件 您需要扫描病毒的文件,并采取其它安全防范措施。
没有联系ERDDAP™到数据提供者表格 (例如,关于ERDDAP™主页) 。 。 。 相反,当有人告诉你,他们希望 他们的数据服务于你ERDDAP你可以发电子邮件给他们说: 是的,我们可以把数据输入ERDDAP。 。 。 要开始,请填写表格 https://yourUrl/erddap/dataProviderForm.html (或http://若为https://未启用) 。 。 。 。 完事后 我会联系你 确定最后的细节 如果你只是想看看表格的话 (没有填满它) ,可见表格上ERD因为ERDDAP数字 :导言, (中文).第一编, (中文).第2编, (中文).第三编,以及第四编。 。 。 。 这些链接在ERD ERDDAP™所以不要跟他们提交信息 除非你真的想把数据添加到ERD ERDDAP。 。 。 。
如果您想要删除数据提供者表格ERDDAP™设置
<dataProviderFormActive>false</dataProviderFormActive>
在您的设置.xml文件中。
其动力是NOAA截止2014年公众获取研究成果的机会 (牧师) 指令,这要求所有NOAA以纳税人美元供资的环境数据可通过数据服务提供 (不仅仅是文件) 在创建后的12个月内。 因此人们越来越有兴趣使用ERDDAP™通过ASAP服务提供数据集。 我们需要一个更有效的方法来对付大量的数据提供者。
反馈/建议? 此表格是新格式, 请通过电子邮件 。erd dot data at noaa dot gov如果你有任何反馈或建议来改进这一点。
工具
ERDDAP™包含两个命令行程序,它们是帮助您为您想要的每个数据集创建 XML 的工具ERDDAP™服务。 一旦你建立了ERDDAP™运行它 (至少有一次) ,您可以在 移动猫 /webapps/erddap/WEB-INF目录. 有 Linux/ Unix shell 脚本 (与扩展.sh) 和 Windows 脚本 (与扩展.bat) 每个程序。\[在 Linux 上,将这些工具作为同一个用户运行 (汤姆猫?) 这会运行汤姆卡特。\]当你运行每个程序, 它会问你的问题。 对于每个问题,键入一个响应,然后按 Enter. 或者按 ^C 在任何时候退出一个程序 。
程序不会运行?
- 如果您获得未知的程序 (或类似) 错误消息,问题可能是操作系统找不到Java。 。 。 。 你该知道在哪里Java在您的电脑上,然后编辑您想要使用的.bat或.sh文件中的java引用。
- 如果您得到一个没有找到的 jar 文件或类没有找到错误消息, 那么Java找不到您想要使用的 . bat 或 .sh 文件中列出的一个类 。 解决方案是找出 .jar 文件的位置 编辑 .bat 或 .sh 文件中的 Java 引用 。
- 如果你正在使用一个版本Java对程序来说太老了,程序不会运行,你会看到错误消息,比如
线索"main" java.lang中的例外 。 未支持的 ClassVersion Error :
部分/ 类/ 名称 : 不支持的主要. minor 版本 数量
解决办法是更新最新版本的Java并且确定程序的 .sh 或.bat 文件正在使用它。
这些工具打印各种诊断信息:
- “错误”一词是当某事出错以致程序未能完成时使用的。 虽然犯错误很烦人,但错误迫使你处理问题。
- "WARNING"一词在某事出错时被使用,但程序得以完成. 这些很罕见。
- 任何其他信息都只是信息。 您可以添加 &- 动词到生成 DatasetsXml或达斯德命令行以获取额外信息消息,这有时有助于解决问题。
这两个工具是很大的帮助,但是你仍然必须仔细阅读这页上的所有这些指示,自己作出重要的决定.
生成 DatasetsXml
- 生成 DatasetsXml 是一个命令行程序,可以为几乎所有类型的数据集生成一个数据集XML的粗略草稿。
我们强烈建议你用创世纪游戏 Xml 而不是创建块datasets.xml由于:
- 生成数据 Xml工作在几秒钟。 手工做这个至少是一小时的工作,即使你知道自己在做什么.
- 生成数据 Xml做一个更好的工作。 手动做到这一点需要广泛了解如何ERDDAP™工作时 你不可能亲手做得更好 (鲍勃・西蒙斯总是使用生成的Datasets 初稿的Xml 他写道ERDDAP。 。 。 。)
- 生成数据 Xml 总是生成一个有效的块datasets.xml。 。 。 。 任意块datasets.xml您所写的至少会有一些错误可以防止ERDDAP™从装入数据集。 人们往往要花几个小时才能诊断出这些问题。 别浪费时间 让生成 数据集 XML做艰苦的工作。 如果你愿意,你可以用手提炼.xml。
当您使用生成时 Xml 程序 :
- 在Windows上,您第一次运行GenerateDatasetsXml时,需要用文本编辑器编辑GenerateDatasetsXml.bat文件,以更改java的路径. exe 文件, 以便 Windows 找到Java。 。 。 。
- 生成数据 Xml 第一次请 求您指定 EDDType (Erd Dap 数据集 类型) 数据。 见数据集类型列表 (在本文档中) 以了解适合您正在研究的数据集的类型。 除了普通的EDDTyps以外,还有少数特殊/专题数据集类型 (例如,一个爬行THREDDS目录生成块datasets.xml对于目录中的每个数据集) 。 。 。 。
- 生成数据 Xml然后问你一系列关于EDDType的具体问题. 问题收集所需的资料,以便:ERDDAP™访问数据集的来源。 来了解什么ERDDAP™中,请参见您单击该数据库中的同一数据集类型所指定的 EDDType 文档。数据集类型列表。 。 。 。
如果您需要输入带有特殊字符的字符串 (例如,开头或结尾的白空字符,非 ASCII 字符) 输入JSON 风格字符串 (用\ 字符逃脱的特殊字符) 。 。 。 例如,只需输入一个标签字符,就输入“\t”(加上周围的双引号,该引号显示ERDDAP™这是JSON风格的弦
- 通常,你的答案之一 将不会是生成DatasetXml需要的。 然后您可以再次尝试, 并修改对问题的答案, 直到生成 Datasets Xml能够成功找到和理解源数据.
- 如果你答对了问题 (或足够正确) ,生成数据 Xml 会连接到数据集的来源并收集基本信息 (例如,可变名称和元数据) 。 。 。 。 用于本地数据集NetCDF .nc和相关文件,生成 Datasets Xml在文件首次读取后会经常打印文件的 ncdump 类似结构. 这可能为您提供信息, 以更好的方式通过 GenerateDatasetsXml 在随后的循环中回答问题 。
- 生成数据 Xml 然后为该数据集生成一个数据集XML的粗略草稿.
- 诊断信息和数据集XML的粗略草稿将写给 大家长会 /logs/GenerateDatasetsXml.log. 互联网档案馆的存檔,存档日期2013-03-02.
- 数据集 XML 的粗略草稿将写入 大家长会 /logs/GenerateDatasetsXml.out. [永久失效連結] (中文(简体) ).
"0档案" 错误消息
如果您运行生成数据 Xml 或 缩写达斯德,或者如果你试图加载一个EDDGrid从... 文件数据集在ERDDAP™,然后得到“0文件”错误消息,表明ERDDAP™在目录中找到 0 匹配文件 (当你认为目录中有匹配的文件时) 数字 :
-
检查您是否指定了目录的全名 。 如果您指定了样本文件名, 请确保您指定文件的全名, 包括全目录名称 。
-
检查文件是否真的在目录中 。
-
检查目录名称的拼写.
-
检查文件Name Regex. 它真的,真的很容易 犯错误与regexes。 为测试目的, 请尝试符合所有文件名的 regex 。 (看这个正则文档和regex 教程。 。 。 。)
-
检查运行程序的用户 (例如,用户=tomcat (? 。 。 。) 用于托姆卡特/ERDDAP) 拥有这些文件的“ read” 权限 。
-
在一些操作系统中 (例如, SELinux) 并取决于系统设置,运行程序的用户必须拥有"读取"权限,以获得通往拥有文件的目录的整个目录.
-
如果你有无法解决的问题请求支持尽可能多的信息。 同样,如果一个数据集似乎合适的EDDType与该数据集不相符合,或者没有合适的EDDType,请存档 。GitHub 上的问题细节 (和样本文件(如果相关)) 。 。 。 。
您需要编辑 GenerateDatasets 的输出 XML让它更好。
-
分局: 车库datasets.xmlMADE 生成数据 Xml不完美。 你必须读和编辑 XML 在使用它 在公众ERDDAP。 。 。 生成数据 Xml Relis on a lot -OF -THUMB 规则的很多 总是不正确的。 你有责任确保你所爱的XML的校正ERDDAP'是,datasets.xml档案。
(趣味事实:我没有喊. 出于历史法律原因,免责书必须写在所有封顶上.)
GenerateDatasetsXml的输出是一个粗略的草稿. 你几乎总是需要编辑它。 我们已经并且继续作出巨大的努力,使产出尽可能地准备就绪,但是是有限度的. 往往根本无法从源元数据中获得所需的信息。
一个根本的问题是,我们要求计算机程序 (生成 DatasetsXml) 如果你给100人同样的任务 你会得到100个不同的结果 没有单一的"正确"答案。 很明显,这个节目最接近读鲍勃的心思 (不是给你的) 但即使如此,它也不是一个全能的AI程序, 只是一堆heuristics拼凑在一起来完成类似AI的任务. (完全理解的AI程序的那一天可能来临,但还没有. 如果/当它发生的时候,我们人类可能会有更大的问题。 当心所愿.)
-
为了提供信息,产出将全球源属性和可变源属性作为注释。ERDDAP™组合源属性和addAttributes (具有优 先权的) 合并 向用户显示的属性。 (其它属性自动添加到经度、纬度、高度、深度和时间变量中ERDDAP™实际使数据集) 。 。 。 。
-
如果您不喜欢源属性, 请通过添加一个同名但值不同的附加属性来覆盖它 。 (或没有值, 如果您想要删除它) 。 。 。 。
-
所有电话addAttributes是计算机生成的建议。 编辑他们! 不喜欢附加属性的,改换.
-
如果您想要添加其它内容addAttributes,添加它们。
-
如果你想改变一个destinationName,改变它。 但不要改变sourceName编号
-
你可以改变顺序dataVariable或删除其中任何一项。
- 然后可以使用达斯德 (见下文) 以反复测试该数据集的XML,以确保生成的数据集在您想要的情况下显示ERDDAP。 。 。 。
- 随便你做点小改变datasets.xml生成的块,例如,提供更好的infoUrl、摘要或标题。
不添加标准名称
如果您运行生成时将 \- doNoteAddStandardNames 作为命令行参数 数据集 Xml, 生成 数据集 Xml 将不添加standard\_name页:1addAttributes除以纬度、经度、高度、深度或时间命名的变量以外的任何变量 (很明显standard\_name编号) 。 。 。 如果您正在使用生成的输出, 这将会有用 数据集 Xml 直接输入ERDDAP™不编辑输出, 因为生成 数据集 Xml 经常猜测standard\_name错的 (请注意,我们总是建议您在使用输出前先编辑输出ERDDAP。 。 。 。) 使用此参数将具有其他次要的相关效果, 因为猜测standard\_name经常用于其他目的,例如,创建新的long\_name,并创建颜色Bar设置。
脚本
作为在键盘上交互回答问题和循环生成额外数据集的替代,您可以提供命令行参数来回答所有问题以生成一个数据集. 生成数据 Xml将处理这些参数,将输出写入输出文件,然后退出程序.
要设置此选项, 首先使用交互模式的程序并写下您的答案 。 以下是部分例子: 假设你运行剧本:./Generate DatasetsXml.sh 然后输入: EDD Table From Ascii Files 然后输入:/u00/data/ 然后输入:.asc 然后输入:/u00/data/sampleFile.asc 然后输入: ISO-8859-1
要以非交互方式运行, 请使用此命令行 : ./GenerateDatasetsXml.sh EDD Table FromAsiiFiles /u00/data/.\*\.asc/u00/data/sampleFile.asc ISO-8859-1 所以基本上,你只是列出所有答案 在命令行。 这对经常变化的数据集应有用,从而需要重新运行生成数据 xml 数据 (重点EDDGrid从 ThreddsCatalog 调用) 。 。 。 。
细节 :
- 如果一个参数包含一个空间或某个特殊字符,那么将参数编码为JSON 风格字符串,例如“我的参数带有空格和两个\n线条。
- 如果您想要将空字符串指定为参数, 请使用: 无
- 如果您想要指定一个参数的默认值, 请使用: 默认
- 生成数据 Xml 支持 a -i 数据集 Xml 语法Name {\fn方正粗倩简体\fs12\an8\1cHFFFF00\b0} 标签Name 将输出插入到指定的命令行参数datasets.xml文件 (默认为 移动猫 /内容/erddap/datasets.xml) 。 。 。 生成数据 Xml 查找数据集中的两行 Xml 名称 :
<!-- Begin GenerateDatasetsXml #*tagName someDatetime* -->
和
<!-- End GenerateDatasetsXml #*tagName someDatetime* -->
并用新内容替换这些行之间的所有内容,并更改一些时间。
- -i 开关只经过处理 (更改datasets.xml仅制作) 如果您运行生成数据 Xml 带有命令行参数,用于指定程序一个循环的所有问题的答案. (见上文"文稿".) (思考是:这个参数用于脚本. 如果您以交互模式使用程序 (键盘上输入信息) ,您可能会在生成您想要的 XML 之前生成一些不正确的块 。)
- 如果找不到 Begin 和 End 线条, 那么这些线条和新内容就在前面插入</erdapDatasets> (英语).
- 还有一个 -I (资本一) 用于测试目的的切换与 -i 相同,但创建名为的文件datasets.xml 日期时间 并且不会改变datasets.xml。 。 。 。
- 不要运行生成数据 Xml 与 -i 并用两个进程. 只有一组更改有可能保留下来。 可能会有严重的麻烦 (例如,已损坏的文件) 。 。 。 。
如果您使用"Generate DatasetsXml - 动词",它将打印比通常更多的诊断信息.
特殊/专题数据集类型
一般来说,生成Datasets中的 EDDType 选项 本文档描述的 EDD 类型的 Xml 匹配 (见数据集类型列表) 生成一个datasets.xml从一个特定数据源创建一个数据集的块 。 有一些例外和特殊情况:
EDDGrid从埃尔达普
此 EDDType 生成所有datasets.xml所需块块EDDGrid从埃尔达普来自所有EDDGrid远程数据集ERDDAP。 。 。 你可以选择保留原来的datasetID编号 (可能会重复一些datasetID已经进入您ERDDAP) 或生成将独一无二的新名称 (但通常不是人能读的) 。 。 。 。
来自Erddap的EDD表
此 EDDType 生成所有datasets.xml所需块块来自Erddap的EDD表远程 EDDTable 数据集中的数据集ERDDAP。 。 。 你可以选择保留原来的datasetID编号 (可能会重复一些datasetID已经进入您ERDDAP) 或生成将独一无二的新名称 (但通常不是人能读的) 。 。 。 。
EDDGrid从 ThreddsCatalog 调用
此 EDDType 生成所有datasets.xml全部所需块数EDDGrid从 Dap 中通过THREDDS递归 爬行可以找到的数据集 (次级) 目录. THREDDS目录URL有很多形式. 此选项需要带有/ catalog/ 的 THREDDS .xml URL, 例如 ,
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 ,则不能接受EDDGridFrom ThreddsCatalog) (英语).
如果你有问题EDDGrid从垃圾 目录 :
- 确定您使用的 URL 是有效的, 包括 / catalog/, 并以 / catalog. xml 结尾 。
- 如果可能,请使用公共IP地址 (比如说, https://oceanwatch.pfeg.noaa.gov ) 在 URL 中,不是本地数字 IP 地址 (比如说, https://12.34.56.78 ) 。 。 。 如果 THREDDS 只能通过本地数字 IP 地址访问, 您可以使用 [<转换为 PublicSourceUrl >] (#转换为公共源代码) 这样ERDDAP™用户可以看到公共地址, 尽管ERDDAP™从本地数字地址获取数据。
- 如果你有无法解决的问题检查故障排除提示。 。 。 。
- 低级代码现在使用Unidatanetcdf-java 目录爬行器代码 (鞭打声 分类类) 这样它就能处理所有 THREDDS 目录 (非常复杂) 感谢Unidata密码
EDDGridLonPM180 从ErddapCatalog 读取
这个 EDDType 生成datasets.xml准备EDDGrid龙PM180来自所有EDDGrid数据集在一个ERDDAP其经度值大于180。
- 如果可能,请使用公共IP地址 (比如说, https://oceanwatch.pfeg.noaa.gov ) 在 URL 中,不是本地数字 IP 地址 (比如说, https://12.34.56.78 ) 。 。 。 。 如果ERDDAP™只能通过本地数字 IP 地址访问, 您可以使用 [<转换为 PublicSourceUrl >] (#转换为公共源代码) 这样ERDDAP™用户可以看到公共地址, 尽管ERDDAP™从本地数字地址获取数据。
EDDGridLon0360 来自 ErddapCatalog
这个 EDDType 生成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年代的目录将生成单独的数据集) 。 。 。 它们应该很容易手动结合 -- 只要改变第一个数据集的<fileDir> 到父目录并删除所有随后的兄弟姐妹数据集。
- 仅试图生成一块datasets.xml对于目录中最常见的文件扩展名类型 (未计为 . md5, 忽略) 。 。 。 所以,给一个目录与10.nc文件与 5.txt 文件,将生成一个数据集。.nc仅存文件。
- 这假设一个目录中所有具有相同扩展名的文件都属于同一个数据集. 如果一个目录有.nc带有 SST 数据的文件和一些文件.nc有叶绿素数据的文件,只有一个样本.nc文件将被读取 (SST (英语). 叶绿素?) 并且将为此类文件创建一个数据集。 由于试图将两种类型的文件加载到同一个数据集的复杂情况,该数据集很可能无法加载.
- 如果目录中最常用扩展名的文件少于4个,则假设它们不是数据文件,只是跳过目录.
- 如果目录中有4个或更多文件,但这无法成功生成一个块datasets.xml用于文件 (例如,不支持的文件类型) ,这将生成来自文件名的 EDD 表格文件的数据集。
- 在最后的诊断,这个写到日志文件, 就在之前datasets.xml块, 这将打印一个表格, 并附上所有子目录中收集的信息摘要 。 表格将列出每个子目录, 并显示文件扩展名的最常见类型、 文件总数和为这些文件创建的数据集类型 ( 如果有的话) 。 。 。 如果您面临复杂且深层嵌入的文件结构, 请考虑运行 GenerateDatasets 使用 EDType=EDDsFromFiles 的 Xml 生成此信息,
- 这个选项可能不会很好地为特定数据文件组猜测最好的 EDDType , 但它是快速, 简单, 值得尝试 。 如果源文件合适,它效果良好,是生成源文件的第一步。datasets.xml用于一个包含许多子目录的文件系统,每个子目录都有不同数据集的数据文件。
EML 和 EMLBatch 的 EDD 表格
这些特殊的EDDType生成datasets.xml制作一个来自 Ascii 文件夹的 EDD 表格a/ 数据集来自以下表格:生态元数据语言XML 文件 。 "Batch"变体在本地或远程目录中的所有EML文件中工作. 请参看单独的EDD Table 文档。 。 。 。
来自端口的 EDD 表格
这个特殊的 EDDType 生成datasets.xml制作一个来自 Ascii 文件夹的 EDD 表格从信息中获取的数据集输入xml文档。 如果您可以访问源数据文件 (Inport-xml 文件应该有线索可以找到它) ,可以在ERDDAP。 。 。 。
以下步骤概述了如何使用 GenerateDatasets Xml 带有导入- xml 文件, 以便获取工作数据集ERDDAP。 。 。 。
- 一旦您可以访问 Inport- xml 文件 (作为 URL 或本地文件) : 运行生成数据 Xml, 指定 EDDType= EDDTable From InPort, 指定导入- xml URL 或完整文件名, 指定哪个Child=0, 并指定请求的其他信息 (如果知道的话) 。 。 。 。 (此时,您不需要拥有源数据文件或指定其名称.) 儿童=0 的设置告诉生成 Datasets Xml 写入信息 全部 会 议 日 程 和 议 程<实体属性信息><实体 > 位于 inport- xml 文件 (如果有的话) 。 。 。 它还打印出一份背景资料摘要,包括所有在inport-xml文件中列出的下载-url.
- 仔细看看所有的信息 (包括生成 Datasets 的背景资料 Xml 指纹) 访问下载url (编号) 以尝试找到源数据文件 (编号) 。 。 。 。 如果你能找到的话 (他们) ,下载 (他们) 输入可访问的目录ERDDAP。 。 。 。 (如果您找不到任何源数据文件, 程序没有意义 。)
- 运行生成 数据集 再来一次 如果源数据文件对应的是一个inport-xml文件<实体属性信息><实体>,指定哪个Child= 实体数量 (例如,1,2,3,......) 。 。 。 。ERDDAP™将尝试将源数据文件中的列名与实体信息中的名称匹配,并提示接受/拒绝/修正任何差异。 或者,如果inport -xml文件没有任何<实体属性信息><object>'s,指定哪个Child=0.
- 在块datasets.xml由 GenerateDatasets 制作 。 Xml, 修订 [全球<addAttributes>] (中文(简体) ). (# 全球属性) 根据需要/需要。
- 在块datasets.xml由 Generate DatasetsXml 制作,添加/重写 [<dataVariable>] (中文(简体) ). (数据可变) 根据需要/需要提供信息,说明每个变量。 请确认每个变量是否正确 [<sourceName>] (中文(简体) ). (# 来源名称) (如来源所示) , (中文). [<destinationName>] (中文(简体) ). (# 目的地名称 #) (对 允许字符的限制大于sourceName) , (中文). [<单位 >] (单位) (特别是如果它是一个时间或时间戳变量单元需要指定格式的地方) ,以及 [<missing\_value>] (中文(简体) ). (缺少值) , (中文).
- 在接近完成时,反复使用达斯德工具,以快速查看数据集描述是否有效,数据集是否会出现在ERDDAP™随你便
如果使用InPort记录数据集的组也会使用ERDDAP™提供实际数据:
- ERDDAP™一个解决方案,现在可以使用 这样你就可以完成NOAA因为公众获取研究成果的机会 (牧师) 所需经费现在,不是在某个模糊的时间 在未来。
- 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页:1NOAA因此在内部使用NMFS和NOAA应该是值得骄傲的一点NMFS和NOAA。 。 。 。
请给我ERDDAP™一个尝试。 如果您需要帮助,请在ERDDAP™谷歌集团.
添加 FillVale 属性
这个特殊的EDDType选项不是数据集类型. 它是一个可以将QQFillValue属性添加到一些数据集中的一些变量的工具. 见添加 FillVale 属性。 。 。 。
查找重复 时间
这个特殊的EDDType选项不是数据集类型. 相反,它告诉生成达泰 Xml 要通过网格集搜索.nc (及有关事项) 要查找和打印带有重复时间值的文件列表。 当它查看时间值时,它会将它们从原来的单位转换为"seconds since 1970-01-01"如果不同的文件使用不同的单位字符串。 您需要提供起始目录 (不论有没有后遗症) ,文件名正则表达式 (例如, ..nc ) ,以及文件中时间变量的名称。
数字
这个特殊的EDDType选项不是数据集类型. 相反,它告诉生成达泰 要打印的 Xml数字像打印出一个.nc, (中文)..ncML,或者说.hdf文档。 它实际上使用 netcdf -java的NCdump 调用,这个工具比NCdump的C版本更为有限。 如果您使用此选项, GenerateDatasetsXml 会要求您使用其中的一个选项 : “ - h ” (标题) ,"-c" (中文(简体) ). (坐标 vars) ,"-vall" (英语). (默认) ,"-v var1;var2","-v var1" (中文(简体) ). (0,0:10,0:20 (英语).) " .. 这是有用的,因为,没有cdump 它很难知道什么是在一个.nc, (中文)..ncML,或者说.hdf文件, 以及您应该为 GenerateDatas 指定哪个 EDDType Xml (英语). 对于一个.ncml 文件,这将打印 ncdump 输出,以获取结果.nc应用到下面的 ml 文件更改.nc或.hdf文档。
达斯德
- 达斯德 是一个命令行程序,在您创建了 XML 的首次尝试后,您就可以使用该程序。datasets.xml。 。 。 通过DasDds,可以反复测试和完善XML. 当您使用 DasDds 程序时 :
- 在Windows上,第一次运行DasDds时,需要编辑DasDds. 带有文本编辑器的bat文件将路径更改为java. exe 文件, 以便 Windows 找到Java。 。 。 。
- DasDds问你datasetID用于您正在工作的数据集。
- DasDds 试图以此创建数据集datasetID。 。 。 。
- DasDds总是打印大量的诊断信息. 如果使用"DasDds - 动词",DasDds会打印比通常更多的诊断信息.
- 为了安全起见, DasDds 总是删除所有缓存数据集信息 (文件) 用于在试图创建数据集之前的数据集。 这相当于设置硬旗因此,对于汇总数据集,您可能想要暂时调整文件NameRegex,以限制数据构造器找到的文件数量.
- 如果数据集无法装入 (无论出于什么原因) ,DasDds将停止并显示它发现的第一个错误的错误信息。
别试图猜测问题所在 仔细读取错误消息 。
必要时,阅读前述诊断信息,以找到更多的线索和信息. - 更改数据集的 XML 以尝试解决这个问题
并让 DasDds 再次尝试创建数据集。 - 如果你一再解决每个问题,你最终会解决所有问题
并会装入数据集。
- 全部 DasDds 输出 (诊断和结果) 写入屏幕和 大家长会 /logs/DasDds.log. (原始内容存档于2018-09-29).
- 如果 DasDds 能够创建数据集, DasDds 将会显示达斯 (数据集属性结构) , (中文).数字 (数据集描述符 结构) ,以及时间图 (时间间隔) 用于屏幕上数据集的信息并写入 大家长会 /logs/DasDds.out. (原始内容存档于2019-09-03).
- 通常,您会想要对数据集的 XML 做一些小的更改,以清理数据集的元数据并重新运行 DasDds 。
奖金 第三方工具:ERDDAP- lint (英语)
ERDDAP-lint是一个来自爱尔兰海洋研究所的Rob Fuller和Adam Leadbetter的程序,你可以用来改进你的元数据ERDDAP™数据集。ERDDAP-lint 包含规则和一个简单的静态网络应用程序,用于对您进行一些验证测试ERDDAP™服务器。 所有测试都在网页浏览器中运行". 喜欢Unix/ Linux 林特工具,可以编辑现有的规则或添加新的规则。 见ERDDAP- lint (英语)更多信息。
这个工具对于您之前创建的数据集特别有用, 现在想要更新您当前元数据偏好 。 例如, GenerateDatasets 的早期版本 Xml没有做出任何努力来创建全球creator\_name, (中文).creator\_email创建者类型,或creator\_url元数据。 你用得着ERDDAP- 显示缺少元数据属性的数据集。
多亏了罗布和亚当 创造了这个工具 并把它提供给ERDDAP™社区。
联合国的基本结构datasets.xml文件
在 a 中允许的必需和可选标记datasets.xml文件 (及其可能出现的次数) 如下所示。 在实践中,你的datasets.xml会有很多<数据集>的标记,只使用内部的其他标记<需要的话 。
<?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.
包含
新的2.25版本是支持XInclude. 这需要您使用 SAX 解析器<使用SaxPaerser > true(正则)</使用SaxParser > 在您的设置中. xml. 这可以允许您将每个数据集写入自己的文件中,然后将它们全部包含在主文件中datasets.xml,重新使用数据集定义的部分,或两者兼有。 如果你想看看一个例子,EDD TestedDataset.java (英语).设置 XInclude 以再利用变量定义.
-
- 说吧
页:1
与datasets.xml文件是一个非三角工程。 请仔细阅读所有这些注释。 你选一个后数据集类型请仔细阅读详细描述。
选择数据集类型
在大多数情况下,只有一个ERDDAP™适合特定数据源的数据集类型。 在少数情况下 (例如,.nc文件) 有一些可能性, 但通常其中之一绝对是最好的。 您必须做出的第一个也是最大的决定是: 将数据集作为多维数组处理是否合适 。 (如果是这样,请看EDDGrid数据集类型) 或作为类似数据库的数据表 (如果是这样,请看EDDTable 数据集类型) 。 。 。 。
正在保存数据
通常不需要修改数据源 (例如, 将文件转换为其它文件类型) 这样ERDDAP™能为它服务。 假设之一:ERDDAP™数据源将一如既往地使用。 通常这样很好 例外情况包括:
- 关系数据库和卡桑德拉 - —— - 说ERDDAP™可以直接从关系数据库和卡珊德拉服务数据. 但对于安全性,负载平衡和性能问题,您可以选择用相同的数据建立另一个数据 库,或者将数据保存到NetCDF页:1.nc文档和有ERDDAP™为来自新数据源的数据服务。 见数据库中的 EDD 表格和来自卡桑德拉的EDD表。 。 。 。
- 不支持的数据源 -ERDDAP™可以支持大量类型的数据源,但世界充满了1000's (数百万?) 不同数据来源 (特别是数据文件结构) 。 。 。 。 若为ERDDAP™不支持您的数据源 :
- 如果数据源是NetCDF .nc文件,可以使用NcML 数据修改“飞行”上的数据文件,或者使用NCO以永久修改数据文件。
- 您可以将数据写入数据源类型ERDDAP™支持 。NetCDF- 3号.nc文件是很好的,一般的建议,因为它们是二进制文件ERDDAP™读得很快 就表格式数据而言,考虑将数据储存在以下汇编中:.nc使用CF 数字 断层采样 (副秘书长) 相邻的标记矩阵数据结构,因此可以处理ERDDAP因为来自 NcCFF 的 EDD 表格) (中文(简体) ). 如果有逻辑组织 (每个都有一块空间和时间的数据) , (中文).ERDDAP™可以非常迅速地从它们中提取数据.
- 您可以请求将数据源的支持添加到ERDDAP™通过电子邮件克里斯。 约翰在Noaa.gov。
- 您可以通过写入代码来补充对数据源的支持 。 见联合国ERDDAP™程序员指南
- 速度 -- --ERDDAP™可以比其他数据来源更快地读取数据。 例如,阅读NetCDF页:1.nc文件速度快,读取ASCII文件速度慢。 如果有一个大 (> 1 000 个) 或巨大的 (> 1万美元) 源数据文件数量,ERDDAP™将缓慢地响应一些数据要求。 通常,对人类来说,这种区 别并不明显. 但是,如果你认为ERDDAP™对于给定的数据集来说是缓慢的,您可以选择通过将数据写入一个更有效率的设置来解决问题 (通常: 少数,结构完善,NetCDF页:1.nc文件) 。 。 。 。 表格数据见本建议。 。 。 。
提示
通过在dataset.xml中制作一个工作数据集描述的副本,然后修改,生成一个数据集的XML往往比较容易.
编码特殊字符
从datasets.xml是一个 XML 文件, 您必须编码( E)"()", "(")<“,以及任何内容中的“>”为“和amp;”,“<",和">". 错误 :<标题 > 时间( T)</标题 > 对:<标题 > 时间( P) :</标题 >
XML 无法容忍语法错误
在您编辑dataset.xml文件后,验证结果是形状良好的 XML将 XML 文本粘贴到类似 XML 的检查器中xml 验证。 。 。 。
解决问题提示
- 分析数据集问题的其他方法
除了两个主要工具, (中文). - 日志.txt是一个包含全部的日志文件ERDDAP诊断信息
- 那个每日报告拥有比状态页面更多的信息,包括没有加载的数据集列表和例外 (错误) 他们创造了。
- 那个状况 页次是个快速检查的方法ERDDAP任何网页浏览器的状态 。 它包括一个没有加载的数据集列表 (虽然没有相关的例外) 和任务图统计 (显示进展情况EDDGrid复制和EDD 表格复制数据集和任何EDDGrid从文件或来自文件的 EDD 表格使用的数据集来自Url的缓存 (但不是缓存 大小GB) ) 。 。 。 。
- 如果你卡住了,见我们的关于获得额外支助的章节。 。 。 。
特殊变量
- 经度,纬度,高度 (或深度) 时间 (法学) 变量 destinationNames是特别的。
- 总的来说:
- LLAT 变量为ERDDAP™如果轴变量是 ((单位:千美元)EDDGrid数据集) 或数据变量的 (EDD表数据集) destinationName是"经度","纬度","纬 度","深度",或"time"。 。 。 。
- 我们强烈鼓励您尽可能使用这些变量的标准名称。 不需要他们。 如果你不使用这些特殊的变量名称,ERDDAP™无法识别它们的意义 例如, LLAT 变量由 Make A Graph 特别处理 ( datasetID 图片) :如果 X 轴变量是"经度", Y 轴变量是"纬度",则您将得到地图 (使用标准投影,并带有土地面具,政治界限等.) 而不是一个图表。
- ERDDAP™将自动添加大量元数据到 LLAT 变量 (例如, "ioos\_category" , "单位",以及几个与标准相关的属性,如"QQ协调轴线") 。 。 。 。
- ERDDAP™将在飞行时自动添加许多与选定数据子集的 LLAT 值相关的全局元数据 (例如"地理空间") 。 。 。 。
- 支持这些元数据标准的客户将能够利用新增元数据将数据定位在时间和空间.
- 客户端会发现更容易生成包含LLAT变量的查询,因为变量的名称在所有相关数据集中都是相同的.
- 对于"经度"变量和"纬度"变量:
- 使用destinationNames "经度"和"纬度"只有单位分别是东度和北度。 如果数据不符合这些要求,请使用不同的变量名称 (例如,x、y、lonRadians、latRadians) 。 。 。 。
- 如果您有以不同单位表示的经度和纬度数据,从而具有不同的经度和纬度数据destinationNames,例如: LonRadians 和 latRadians, Make A Graph ( datasetID 图片) 将制作图表 (例如,时间序列) 而不是地图。
- 对于"海拔"变量和"深度"变量:
- 使用destinationName"海拔"以识别数据在海拔上的距离 (正=“上”值) 。 。 。 可以选择的是,如果海平面以下的数值为负值(或者如果使用,例如, [<名称="scale\_factor"类型="int">- 页:1</att > (中文(简体) ). (# 缩放_因素) 将深度值转换为高度值。
- 使用destinationName"深度"确定数据低于海平面的距离. (正值=“下”值) 。 。 。 。
- 数据集可能没有"海拔"和"深度"两个变量.
- 对于这些可变名称,单位必须是“m”、“meter”或“meters”。 如果单位不同 (例如,法特姆语) 时,您可以使用 [<名称="scale\_factor" > 有点 数值 </att > (中文(简体) ). (# 缩放_因素) 页:1<atname=“单位”>米</att > (中文(简体) ). (单位) 将单位转换为米。
- 如果你的数据不符合这些要求,请使用不同的destinationName (例如,在Ground上方,距离 切换到Bottom) 。 。 。 。
- 如果您知道垂直 CRS, 请在元数据中指定它, 如“ EPSG: 5829 ” 。 (海平面上瞬间高度) ,"EPSG:5831" (英语). (海平面以下瞬时深度) ,或"EPSG:5703" (NAVD88高处) 。 。 。 。
- 对于"time"变量 :
- 使用destinationName "time"仅针对包含全部日期+时间的变量 (或日期,如果仅此而已) 。 。 。 例如,如果日期和时间有单独的列,则不要使用变量名称"time"。 。 。 。
- 见单位对于时间和时标变量的单位属性的更多信息。
- 时间变量和相关时间 印花变量它们总是从源的时间格式转换数据值 。 (无论是什么) 输入数值 (自1970-01-01T00:00Z以来的秒) 或字符串值 (ISO 8601:2004 (英语). (英) 格式) 视情况而定。
- 当用户请求时间数据时,可以通过指定时间为数字值来请求 (自1970-01-01T00:00Z以来的秒) 或字符串值 (ISO 8601:2004 (英语). (英) 格式) 。 。 。 。
- ERDDAP™具有用于转换数字 时间到/ 从字符串时间。 。 。 。
- 见怎么样ERDDAP处理时间。 。 。 。
为什么只有两个基本数据结构?
- 由于人类客户和计算机客户难以处理一套复杂的可能数据集结构,ERDDAP™仅使用两个基本数据结构:
- 当然,并非所有数据都可以用这些结构来表示,但其中很多数据都可以。 表格尤其是非常灵活的数据结构 (查看关系数据库程序的成功情况) 。 。 。 。
- 这使得数据查询更容易构建.
- 这使得数据响应有一个简单的结构,这样就更容易在更广泛的标准文件类型中服务数据. (往往只是支持简单的数据结构) 。 。 。 这也是我们设置的原因ERDDAP™这边
- 这反过来又让我们变得很容易 (或任何人) 用于编写与所有软件一起工作的客户端软件ERDDAP™数据集。
- 这 使得比较不同来源的数据更加容易.
- 我们非常清楚,如果你习惯于与其他数据结构中的数据合作,你最初可能认为这种方法是简单或不充分的. 但所有的数据结构都有权衡. 没有一个是完美的。 甚至Do-it- all架构也有其缺点:与它们合作是复杂的,文件只能通过特殊的软件库来写作或阅读. 如果你接受的话ERDDAP你可能会发现它有它的优点 (特别是支持能够保存数据响应的多个文件类型) 。 。 。 。 那个ERDDAP™幻灯片放映 (特别是数据结构幻灯片) 谈论这些问题很多。
- 即使这个方法听起来很奇怪,你大多数ERDDAP™客户端永远不会注意到——他们会简单地看到所有数据集都有很好的简单结构,他们会感激地看到,它们能够从各种各样的来源获得以各种文件格式返回的数据.
尺寸
- 如果源数据集中的网格变量不共享相同的轴变量呢?
内EDDGrid数据集,所有数据变量使用MUSST (份额) 所有轴变量。 因此,如果一个源数据集有一些带有一组维度的变量,而其他具有不同维度的变量,则您必须在其中制作两个数据集。ERDDAP。 。 。 比如说,你可能会做一个ERDDAP™名为“一些标题”的数据集 (在表面) " 以持有刚刚使用的变量\[时间\]\[纬度\]\[经度\]维度并制作另一个ERDDAP™名为“一些标题”的数据集 (深处) " 以持有所使用的变量\[时间\]\[高度\]\[纬度\]\[经度\]。 。 。 或者您可以更改数据源, 添加单个值的维度 (例如,高度=0) 使变量保持一致。
ERDDAP™不处理更复杂的数据集 (例如,使用三角网的模型) 不错 您可以在ERDDAP™创建两个或多个数据集ERDDAP™ (这样,每个新数据集中的所有数据变量都共享相同的轴变量集) 但这不是用户想要的 对于一些数据集,您可以考虑对数据集进行常规的网格化版本,并且除了提供原始数据外,还提供该版本. 一些客户端软件只能处理一个普通的网格,所以通过这样做,你就能接触到更多的客户端.
预测的网格数据
一些网格化的数据结构复杂. 例如,卫星二级 ("漫长的轨道") 数据不使用简单的投影。 建模师 (和其他事项) 经常利用各种非圆柱预测的网格数据 (例如,锥形、极地、三极) 或无结构网格 (更为复杂的数据结构) 。 。 。 一些终端用户想要这个数据,所以信息不会丢失. 对于这些客户,ERDDAP™只有在以下情况下,才能提供数据:ERDDAP™管理员将原始数据集分解为几个数据集,每个部分包含共享相同轴变量的变量. 是的,这似乎奇怪的人 并且它与大多数OPeNDAP服务器。 不过ERDDAP™强调以多种形式提供数据。 这是可能的,因为ERDDAP™使用/需要更加统一的数据结构。 虽然有点尴尬 (即与预期不同) , (中文).ERDDAP™可分发预测数据。
\[对ERDDAP™对数据结构的要求可能比较松散,但保留对输出格式的要求。 但这将导致许多用户,特别是新人之间的混乱,因为许多似乎有效的数据要求具有不同结构,将会无效,因为数据不会与文件类型相适应. 我们继续回到目前的系统设计。\]
一些终端用户想要在像 Equirectangular / 盘卡雷 或 Mercator 这样的 lat lon 圆柱形投影中的数据,以在不同情况下方便使用. 对于这些情况,我们鼓励ERDDAP™使用其它软件的管理员 (NCO? 。 。 。Matlab? 。 。 。 兰? IDV吗? ... 吗?) 将数据重新投影到地理上 (平方形投影/板车雷) 或其他圆柱形投影,并服务于该形式的数据。ERDDAP™作为不同的数据集。 这与人们在将卫星二级数据转换为三级数据时所做的类似. 其中一个工具是NCO它为重新网格数据提供了扩展选项。
地理信息系统和重新预测数据
由于GIS世界往往面向地图,GIS程序通常为重新预测数据提供支持,即用不同的投影图绘制地图上的数据.
目前,ERDDAP™没有重新预测数据的工具。 相反,我们建议您使用一个外部工具来制作一个数据集的变体,其中数据已经从原始形式重新投影到长方形上. (纬度) 适合用于ERDDAP。 。 。 。
我们认为,CF/DAP世界与GIS世界略有不同,工作水平略低。ERDDAP™反映这一点。 总之,ERDDAP™旨在主要利用数据 (不是地图) 不想改变 (例如,重新预测) 那个数据 对于ERDDAP™,网格化的数据经常/通常/最好与lat lon值和圆柱形投影有关,而不是某些投影的x,y值. 无论如何,ERDDAP™数据投影没有做任何事情。 它只是传递数据,就像它目前的投影一样, 理论认为重投影是对数据的重大改变,ERDDAP™不想参与重大改变 此外,随后的用户可能天真地再次重投数据,这不会像一次重投数据那样好。 (所以,如果ERDDAP™管理员希望在不同的投影中提供数据, 精细; 只需将数据重新投影到线下, 作为不同的数据集在ERDDAP。 。 。 许多基于卫星的数据集都是美国国家航空航天局所称的二级 (斜线) 作为第三级 (平方形投影) 各个版本。) 何时ERDDAP™绘制地图 (直接或通过WMS或 KML 函数) , (中文).ERDDAP™目前只提供使用 Equirectangular / 板块 Carrée 投影的地图,幸运的是,大多数绘图程序都接受了这种投影。
我们鼓励ERDDAP™管理员使用其他软件 (NCO? 。 。 。Matlab? 。 。 。 兰? IDV吗? ... 吗?) 将数据重新投影到地理上 (平方形投影/板车雷) 或其他圆柱形投影,并服务于该形式的数据。ERDDAP™作为不同的数据集。 这与人们在将卫星二级数据转换为三级数据时所做的类似. 其中一个工具是NCO它为重新网格数据提供了扩展选项。
我们希望,ERDDAP™今后将拥有内置工具,提供地图和其他预测。 我们还希望今后能更好地与地理信息系统世界建立联系。 (除当前WMS服务) 。 。 。 可怕的是,在这个“现代”世界中,CF/DAP世界和地理信息系统仍然如此脆弱。 这两样东西都列在"To Do"的名单上. (如果你想帮助,特别是连接ERDDAP™致 MapsServer 请发电子邮件给Chris. 约翰在Noaa.gov。)
数据类型
ERDDAP™支持下列数据类型 (姓名对案件敏感;'u'前缀表示“ 未签名的” ; 其他系统中许多名称的数字是位数) 数字 :
字节
- 字节 已签名的整数值范围为 -128 到 127。 在其他系统中,这有时被称为int8. 这被SQL和卡珊德拉称为"tinyint". ERDDAP™转换布尔某些来源 (例如,SQL和Cassandra) 输入字节ERDDAP™值为0=虚假,1=真实,127=真实missing\_value。 。 。 。
字节
- 字节 具有0至255之间的无符号整数。 在其他系统中,这有时被称为int8.
简称
- 简称 已经签署了整数值,范围为 - 32768 到 32767. 在其他系统中,这有时被称为int16. 这被SQL和卡桑德拉称为"小".
超时速
- 超时速 具有0至65535之间的无符号整数值。 在其他系统中,这有时被称为int16.
单位
- 单位 已经签署了整数值,范围为 -2147483648 - 2147483647。 在其他系统中,这有时被称为int32. 这叫做"整形"|数字 (? 。 。 。) ",由SQL和卡桑德拉的"int"组成.
宾特
- 宾特 具有0至4294967295之间的无符号整数。 在其他系统中,这 有时被称为int32.
长
- 长 已经签署了整数值,其范围为-922337203685475808至-922337203685475807。 在其他系统中,这有时被称为int64. 这叫做"大"|数字 (? 。 。 。) ",由SQL和卡桑德拉的"比金特"组成. 由于许多文件类型不支持长数据,因此其使用被劝阻. 如果可能,请使用双倍 (见下文) 。 。 。 。
乌龙
- 乌龙 无符号整数, 范围为 0 到 184464744073709551615 在其他系统中,这有时被称为int64. 由于许多文件类型不支持乌龙数据,因此其使用被劝阻. 如果可能,请使用双倍 (见下文) 。 。 。 。
浮动
- 浮动 是一个IEEE 754浮点,范围约为+/- 3.402823466e+38。 在其他系统中,这有时被称为浮32. 这叫做"真正的"|浮动 (? 。 。 。) |小数 (? 。 。 。) |数字 (? 。 。 。) " 由SQL和卡珊德拉的"浮". 特殊值NaN表示非数字. ERDDAP™将正负无限值转换为 NaN。
双
- 双 是一个IEEE 754双倍,范围约为 +/- 1.7976931348623157 E+308 (英语). 在其他系统中,这有时被称为浮点64. 这叫做"双精度"|浮动 (? 。 。 。) |小数 (? 。 。 。) |数字 (? 。 。 。) " 由SQL和卡珊德 拉"双人"组成. 特殊值NaN表示非数字. ERDDAP™将正负无限值转换为 NaN。
字符
- 字符 是一个单字节, 2字节 (16 位数) Unicode UCS-2 字符范围从\u0000 (#0 # # 开始吧 # # 0 #) 结束\uffff (65535号) 。 。 。 。 \uffff其定义是"不-a-Character",类似于NaN的双值. 由于许多文件类型要么不支持字符,要么只支持 1字节字符,所以不鼓励使用字符 (见下文) 。 。 。 。 考虑使用字符串 。 用户可以使用字符变量来制作图表.ERDDAP™将把字符转换成其Unicode代码点号,该代码点号可作为数字数据。
字符串
- 字符串 是 0 或以上的序列, 2 字节 (16 位数) Unicode UCS-2 字符。 。 。 。 ERDDAP™使用/解释一个0长字符串作为缺失值。ERDDAP™不支持一个真实的无效字符串。 理论上的最大字符串长度为2147483647字符,但即使有略短的字符串,各个地方也可能存在各种问题. 使用ERDDAP's String for SQL 字符, varchar, 字符变化, 二进制, varbinary, 间隔, 数组, 多集, xml, 以及任何其他不与其他数据库数据类型完全匹配 。ERDDAP™数据类型。 使用ERDDAP'S String for Cassandra's "text" and any other Cassandra data type 与其它任何数据不完全吻合的 Cassandra 数据类型ERDDAP™数据类型。
在此之前ERDDAP™页:1ERDDAP™未在内部支持未签名的整数类型,并且在其数据读取器和写作器中提供了有限的支持。
数据类型限制
你可以考虑ERDDAP™作为具有虚拟数据集的系统,通过将数据集源数据读取到内部数据模型并写入各种服务(例如,(OPeN)DAP, (中文).WMS)和针对用户请求的文件类型。
- 每个输入读取器支持一个数据类型的子集,该子集ERDDAP™支持 。 所以读数据到ERDDAP'内部数据结构不是问题.
- 每个输出写入器还支持一个数据类型的子集. 那是个问题,因为ERDDAP例如,必须将长数据压缩到不支持长数据的文件类型.
以下是对限制的解释。 (或无) 各种产出作者和如何ERDDAP™处理问题。 此类并发症是:ERDDAP使不同的系统互操作
第二届特别会议
- 第二届特别会议 (.csv, . . 克西夫, ..tsv等 类.) 文本文件 -
- 所有数字数据都通过字符串表示法写入 (以 0 长字符串显示的数据值缺失) 。 。 。 。
- 虽然ERDDAP™向 ASCII 文本文件正确写入长和 ulong 值, 许多读者 (例如,电子表格程序) 无法正确处理长值和乌龙值,转而将其转换为双值 (在某些情况下缺乏精确度) 。 。 。 。
- 字符串和字符串数据是通过 JSON 字符串编写的,它处理所有 Unicode 字符 (特别是ASCII #127以外的"不寻常"字符,例如,欧元字符显示为"\u20ac") 。 。 。 。
贾森
- 贾森 (.json, (中文)..jsonlCSV等 类.) 文本文件 -
- 所有数字数据都是通过其字符串表示书写.
- 字符和字符串数据以 JSON 字符串写, 处理所有 Unicode 字符 (特别是ASCII #127以外的"不寻常"字符,例如,欧元字符显示为"\u20ac") 。 。 。 。
- 所有数字数据类型的缺失值为无效。
.nc3个文件
- .nc3文件在本地不支持任何未签名的整数数据类型. 在CF v1.9之前,CF不支持无符号整数类型. 为了对付这个ERDDAP™2.10+遵循NUG标准,总是添加一个"QQ未签名"属性,其值为"真"或"假",以表示数据是否来自一个未签名或签名的变量. 所有整数属性都作为签名属性写入 (例如,字节) 带有已签名值( 如 ubyte)actual\_range属性,其值为 0 至 255,作为字节属性,其值为 0 至 -1 (两者外值的补充值的反向值)。 很难知道哪个(签名)整数属性应读作无签名属性。ERDDAP™支持“ 未签名” 属性, 当它读取.nc3个档案。
- .nc3文件不支持长或乌龙数据类型.ERDDAP™处理方式是将其暂时转换为双变量。 双倍可以精确地代表 +/- 9,007,199,254,740,992 的所有值 这是2^53。 这是一种不完善的解决办法。Unidata拒绝略作升级.nc3 以处理这一问题和有关问题,援引.nc页:1 (重大改变) 作为解决方案。
- CF 规格 (在v1.9之前) 说它支持字符数据类型,但尚不清楚字符是否只是作为字符组数组的构件,它们实际上是字符串. 他们的邮寄名单中的问题只产生令人困惑的答案。 由于这些复杂因素,最好避免在ERDDAP™并尽可能使用字 符串变量。
- 传统上,.nc3 个文件只支持 ASCII 编码的字符串 (7位数, 0 - 127号) 字符键。 努格语 (和ERDDAP) 扩大范围 (从~2017年开始) 包含属性“QQ编码”,其值为“ISO-8859-1” (定义每个 8 位字符的全部 256 个值的 ASCII 扩展名) 或“UTF-8”表示字符串数据是如何编码的。 其他编码可能是合法的,但劝阻。
.nc4个文件
- .nc4 文件支持全部ERDDAP数据类型。
NCCSV 文件
NCCSV 1.0文件不支持任何未签名的整数数据类型. NCCSV 1.1+ 文件支持所有未签名的整数数据类型。
DAP
- (OPeN)DAP (.das、.dds、.asc ASCII 文件和.dods 二进制文件) - 怎么样?
- (OPeN)DAP处理短、短、短、小、小、小、浮和双值。
- (OPeN)DAP具有“字节”数据类型,定义为未签名,而历史上,THREDDS和ERDDAP™已经把字节当作他们(OPeN)DAP服务。 为了更好的处理这件事ERDDAP™2.10+ 遵循 NUG 标准,并总是添加一个"QQ未签名"属性,其值为"真"或"假",以表示数据是否为什么ERDDAP™调用字节或ubyte。 所有字节和ubyte属性都写为带有签名值的"字节"属性(例如一个ubyte)actual\_range属性,其值为 0 至 255,作为字节属性,其值为 0 至 -1 (两者外值的补充值的反向值)。 很难知道哪个"字节"属性应该读作ubyte属性.
- (OPeN)DAP不支持签名或未签名长。ERDDAP™处理方式是将其暂时转换为双变量和属性。 双倍可以精确地代表所有值,最高值为9,007,199,254,740,992 这是2^53。 这是一种不完善的解决办法。OPeNDAP (该组织) 拒绝略作升级DAP2.0用于处理该问题和有关问题,引用:DAP页:1 (重大改变) 作为解决方案。
- 因为(OPeN)DAP没有单独的字符数据类型,技术上只支持1字节的 ASCII 字符 (0 - 127号) 在字符串中,字符数据变量将显示为 1-字符长字符串(OPeN)DAP.das,.dds,和.dods的响应.
- 从技术上讲,(OPeN)DAP规格只支持带有 ASCII 编码字符的字符串 (0 - 127号) 。 。 。 。 努格语 (和ERDDAP) 扩大范围 (从~2017年开始) 包含属性“QQ编码”,其值为“ISO-8859-1” (定义每个 8 位字符的全部 256 个值的 ASCII 扩展名) 或“UTF-8”表示字符串数据是如何编码的。 其他编码可能是合法的,但劝阻。
数据类型注释
- 由于许多文件类型对长、乌龙和字符数据的支持不足,我们劝阻使用这些数据类型。ERDDAP。 。 。 可能时,使用双倍代替长和乌龙,使用字符串代替字符串.
- 元数据 - 因为(OPeN)DAP'.das和.dds的响应不支持长或乌龙属性或数据类型 (并显示他们为双人) ,您可能想要使用ERDDAP表格中元数据的表述情况,见http.../erddap/ (英语). 信息 页:1 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元数据只可用于表格数据集) ,两者都支持所有数据类型 (特别是,长,乌龙,和Char) 。 。 。 。
媒体文件
并非所有数据都是数字或文本的数组。 一些数据集包括或包含媒体文件,如图像,音频和视频文件.ERDDAP™有一些特殊功能,使用户更容易访问媒体文件. 这是两个步骤:
- 通过自己的URL,通过一个支持字节范围请求的系统,使每个文件都可以访问. 最简单的方法是将文件放入目录中ERDDAP™能够进入。 (如果它们像在容器里.zip尽管您可能想要提供.zip文件也提供给用户。) 然后,做一个来自文件名的 EDD 表格数据集,通过ERDDAP™,尤其是通过ERDDAP因为"files"系统。 。 。 。
所有文件通过 EDDTable 从文件名和ERDDAP因为"files"系统支持字节范围请求。 。 。 。 通常,当客户端 (例如,浏览器) 向 URL 请求,它得到整个文件作为响应。 但随着字节范围请求,请求指定了文件的字节范围,服务器只返回这些字节. 这一点在这里是相关的,因为浏览器中的音频和视频播放器只有在 文件可以通过字节范围请求访问的情况下才能工作.
可选 : 如果您有多个与关联的媒体文件相关的数据集, 您可以只制作一个 EDDTable FromFileNames, 每组文件都有子文件夹 。 其优点是,当您想要为新数据集添加新媒体文件时,只需创建一个新文件夹,并将文件放入该文件夹. 文件夹和文件将自动添加到 EDDTable FromFileNames 数据集。
- 可选 : 如果您有包含媒体文件引用的数据集,请添加到ERDDAP。 。 。 。 例如,每次有人看到鲸鱼时,你可能有一个 .csv 文件,并有一个列,其中包括一个图像文件的名称 与目击有关。 如果图像文件的名称仅仅是文件名, 例如 Img20141024T192403Z , 而不是完整的 URL, 那么您需要添加文件 Access 库 乌尔和/或文件 Access 后缀元数据属性dataVariable指定这些文件名的基础URL和后缀。 如果您通过 EDDTable FromFileNames 使文件可以访问, 则 URL 将会在窗体中 基数Url /erddap/文件/存档 datasetID 页:1 举例来说,
<att name="fileAccessBaseUrl">*someBaseURL*</a>
<att name="fileAccessSuffix">.png</a>
如果有的话.zip或者包含所有与数据变量相关的媒体文件的其他容器文件,我们建议您也让用户访问该文件 (见上文步骤1。) 然后用一个文件访问Archive 乌尔尔属性。
\[开始于ERDDAP™页:1\]如果你做的第一步以上 (或两个步骤) ,然后当用户查看ERDDAP™ "files"该数据集的系统 (或请求通过一个.htmlTable请求,如果你做了第二步) , (中文).ERDDAP™将在文件名左边显示“?”图标。 如果用户在图标上徘徊,他们会看到一个弹出显示图像,或者一个音频播放器,或者一个视频播放器. 浏览器只支持数量有限的类型
- 图像 (通常为.gif,.jpg,和.png.) , (中文).
- 音频 (通常为.mp3,.ogg,和.wav.) ,以及
- 视频文件 (通常为.mp4,.ogv,和. 网络) 。 。 。 。
不同操作系统中不同版本的不同浏览器支持不同. 所以,如果你可以选择要提供哪种类型的文件,那么提供这些类型的文件是有道理的。
或者,如果用户点击显示在ERDDAP™网页,他们的浏览器会将图像,音频或视频文件作为单独的网页显示. 这对看到一个非常大的图像或视频缩放到全屏幕,而不是在弹出中,是非常有用的.
使用 AWS S3 文件工作
亚马逊网络服务 (自动取款机) 卖方云计算服务。第3节是一个由 AWS 提供的对象存储系统。 而不是传统文件系统的目录和文件的分级系统 (就像电脑里的硬盘) , S3 提供的只是 "buckets" 持有"对象" (我们打给他们"files") 。 。 。 。
对于 ASCII 文件 (例如,.csv) , (中文).ERDDAP™可直接与桶中的文件一起工作。 你只需要说明<使用 AWS 桶特定格式的数据集文件Dir>,例如, https://bucketName.s3.aws-region.amazonaws.com/subdirectory/ 。 。 。 。 你不应该用<缓存从Url > 。 详情见下文。
但对于二进制文件 (例如,.nc, .grib, .bufr, 和.hdf文件) 时,您需要使用<缓存FromUrl> 系统描述如下.ERDDAP,网易新闻 (哪个ERDDAP™用于从这些文件读取数据) ,而其他科学数据软件则旨在与传统文件系统中提供的文件合作。块级访问文件 (它允许读取文件块) ,但S3只提供文件级别 (对象) 访问文件 (它只允许读取整个文件) 。 。 。 AWS提供了S3的替代品,弹性块存储器 (统计局) ),它支持块级访问文件,但比S3更昂贵,因此很少用于大量数据文件的批量存储. (所以当人们说在云中存储数据 (第3节) 价格低廉 通常是苹果和橙子的比较)
S3 弹匣
水桶的内涵 钥匙 物体 标记器
技术上,S3桶不像计算机上的文件系统那样被组织在一个分级的文件结构中. 相反,桶只包含"物体" (文件) ,每个都有"钥匙" (名称) 。 。 。 诺阿戈斯17桶里的钥匙就是
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™将 /' 的密钥当作是等级路径加文件名,此文档会这样称呼它们. 如果一个桶的键不使用 /'(例如,一个键像
ABI-Lib.2018.052.22.OR\_ABI-L1b-RadM2-M3C10\_G16\_s20180522247575),后改编.ERDDAP™将整个密钥当作一个长的文件名。
私人对公共桶 - —— - 说 S3水桶的管理者可以将水桶及其内容公之于众或私之于众. 如果公开,任何使用 URL 文件的人都可以下载桶中的任何文件. 亚马逊有一个打开数据公共数据集主机的程序 (包括来自NOAA美国航天局和USGS) 免费的 不收费任何人下载文件 从这些桶。 如果一个桶是私有的,桶中的文件只能被授权用户访问,AWS收费 (通常由桶主支付) 用于向非AWS S3 计算机下载文件。ERDDAP™可以使用公共和私人桶中的数据。
AWS 全权证书
为了让它这样ERDDAP™可以读取私人桶的内容, 您需要 AWS 证书, 您需要将证书文件存储在标准位置 。ERDDAP™能够找到信息。 见AWS SDKJava2.x 文件:设置默认证书。 。 。 。 (将数值存储为Java命令行参数\[移动猫\]/bin/setenv.sh 可能是一个很好的选择.)
AWS / 文件/文件
- /文件/系统 -- 那个ERDDAP™ /文件/系统允许用户下载数据集的源文件。 我们建议您打开所有带有源文件的数据集, 因为许多用户想要下载原始源文件 。
- 如果文件位于一个私有的 S3 桶中, 用户下载文件的请求将由ERDDAP™,将读取文件中的数据,然后转发给用户,从而增加您的负载ERDDAP™,使用进出带宽,使您 (联合国ERDDAP™管理员) 向AWS支付数据入侵费。
- 如果文件在公共 S3 桶中,用户下载文件的请求会被重定向到文件的 AWS S3 URL,所以数据不会流过ERDDAP™,从而减少负载ERDDAP。 。 。 如果文件在亚马逊开放数据中 (免费) 公桶,然后你来 (联合国ERDDAP™管理员) 不需要向AWS支付任何数据入侵费. 因此,公众提供的数据具有很大优势。 (非非公开) S3桶, 以及提供来自 Amazon Open Data 的数据的巨大优势 (免费) 桶头.