与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 的数据的巨大优势 (免费) 桶头.
ERDDAP™和 AWS S3 弹匣
ERDDAP™和 AWS S3 弹匣
幸运的是 经过很多努力ERDDAP™具有一些特点,使其能够以合理高效的方式处理S3的块级访问文件的内在问题:
- \[免责声明: 与AWS S3水桶合作是大量的额外工作. AWS是一个巨大的服务和特征生态系统. 修习甚深. 它需要时间和努力,但它是可以做到的。 耐心点,你会让事情正常的 寻找/任务求救
(单位:千美元)AWS 文档,网站类叠叠流,和经常
ERDDAP™支持选项如果/当你被卡住。\]
- 甚至很难在S3桶中找到文件的目录结构和文件名称.ERDDAP™已有解决这个问题的解决方案: EDDTable FromFileNames 有特殊的\\"从飞行中"选项,允许您制作 EDDTable FileNames 数据集,允许用户浏览 S3 桶的内容 (并下载文件) 通过数据集"files"选项。 有一个实例如下:。 。 。 。
- ERDDAP™可以从外部压缩的数据文件因此,如果S3上的文件被存储为.gz, (中文)..gzip, (中文)..bz2, .Z, 或其他类型的外部压缩数据文件, 它可以显著地 (2 - 20X (英语).) 降低文件存储成本。 使用外部压缩文件往往没有时间处罚,因为将一个较小的文件从S3转到S3所节省的时间ERDDAP大致平衡所需额外时间ERDDAP™解压缩文件。 要使用此特性,只需确保数据集的<文件Name Regex > 允许压缩文件类型 (例如,通过添加 (|.gz) 到正则尾端) 。 。 。 。
- 对于最常见的情况,你有一个ERDDAP™安装在您的个人电脑上进行测试/开发,如果数据集有二进制数据文件作为对象存储在 S3 桶中,那么将数据集输入的方法之一ERDDAP™为:
-
在您的 PC 上创建目录以保存一些测试数据文件 。
-
从源头下载两个数据文件到您刚刚创建的目录 。
-
使用生成 DatasetsXml生成块datasets.xml用于基于两个本地数据文件的数据集。
-
请检查date=中的日期值 (帮助)达斯德和/或当地ERDDAP。 。 。 。
以下步骤将复制该数据集 (这将从 S3 桶中获取数据) 关于公众的ERDDAP。 。 。 。
-
复制块datasets.xml的数据集datasets.xml为公众服务ERDDAP™这将服务于数据。
-
在公众上创建目录ERDDAP本地硬盘来保存临时文件的缓存 。 目录不会使用很多磁盘空间 (参见缓存) 。 。 。 。
-
更改数据集的值<fileDir > 标记以指向您刚刚创建的目录 (即使目录是空的) 。 。 。 。
-
添加一个来自Url的缓存指定数据集桶名和可选前缀的标签 (即目录) 特定Aws S3 URL 格式ERDDAP™要求。 。 。 。
-
添加一个[<缓存SizeGB >] ({\fn方正粗倩简体\fs12\an8\1cHFFFF00\b0}我的宝贝) 标记到数据集的 xml (例如,对于大多数数据集来说, 10 是很好的值) 告诉ERDDAP™以限制本地缓存大小 (即,不要试图缓存所有远程文件) 。 。 。 。
-
看看这在公众中是否有效ERDDAP。 。 。 。 请注意,第一次ERDDAP™装入数据集,需要很长时间才能装入,因为ERDDAP™需要下载和读取所有的数据文件。
-
如果数据集是一个庞大的网格化数据文件集,这将需要很长的时间,并且是不切实际的. 在某些情况下,对于网格化的数据文件,ERDDAP™能够提取所需的信息 (例如,网格数据文件中数据的时间点) 从文件名中选择并避免这个问题。 见通过 文件名称。 。 。 。
- 可选 (特别是从文件数据集获取的EDD表) ,您可以添加一个无线标记到要告诉的数据集ERDDAP用于在响应用户的数据请求时使用超过一个线程。 这可以最大限度地减少在下列情况下发生的延迟的影响:ERDDAP™读取数据文件 (远程) AWS S3 桶进入本地缓存 (也许) 驱散他们
AWS S3 打开数据
作为NOAA因为大数据程序, (中文).NOAA与包括AWS在内的5个组织建立了伙伴关系,"探讨在云中存储关键观测和模型输出的副本的潜在好处,以便可以直接在数据上计算,而无需进一步分发". AWS 包括它从NOAA作为其方案的一部分,为公众提供大量收集资料的机会。在 AWS S3 上打开数据无论它是亚马逊计算实例 (租用的计算机) 在AWS网络上,或者在任何网络上,你自己的PC上。 下面的例子假设您正在使用一个公开的数据集。
在 AWS S3 密钥中访问文件
对于私人S3数据桶,桶主必须允许您访问该桶. (见AWS文档.)
在所有情况下,都需要一个 AWS 账户,因为 AWS SDK 用于Java (哪个ERDDAP™用于获取有关桶内内容的信息) 需要 AWS 账户证书。 (更多关于这一点,下面)
ERDDAP™只能访问 AWS S3 桶,前提是您指定 [<缓存从Url>] ({\fn方正粗倩简体\fs12\an8\1cHFFFF00\b0}我的宝贝) (或<以特定格式:
https://bucketName.s3.aws-region.amazonaws.com/prefix/
地点
- 桶名(英語:bandle)是桶名的简称,例如noaa-goes17.
- Aws-region,例如我们东一号,来自其中一张表格中的"Region"一栏.AWS 服务端点水桶实际位于何处.
- 前缀可选. 如果存在,它必须结束于'/'。 。 。 。
举例来说, https://noaa-goes17.s3.us-east-1.amazonaws.com/ABI-L1b-RadC/
此 URL 格式是 AWS S3 建议之一 :正在访问 Bucket和此前缀描述。 。 。 。ERDDAP™要求您将桶 URL 和可选的前缀合并为一个 URL ,以便指定<从Url处缓存 > (或<文件所在位置。
测试公用 AWS S3 桶
对于公共桶,您可以也应该在浏览器中测试 AWS S3 目录的桶 URL,例如, https://noaa-goes17.s3.us-east-1.amazonaws.com 如果桶 URL 正确且适合ERDDAP,它将返回 XML 文档,该文档已经 (部分) 列出该桶的内容。 不幸的是,整个URL (即桶 URL 加上前缀) 那个ERDDAP™想要给定的数据集不能在浏览器中工作 。 AWS 不提供系统可以轻松浏览浏览浏览器中的桶的等级. (如果这不正确,请发电子邮件给克里斯。 约翰在Noaa.gov。 否则,亚马逊,请增加支持!)
查看密钥的内容
S3桶经常包含几类文件,在几个伪副目录中,这可能成为几类文件.ERDDAP™数据集。 来做ERDDAP™数据集,您需要知道起始目录<从Url处缓存 > (或<fileDir>)和识别该子集文件的文件名称格式。 如果尝试在浏览器中查看一个桶的全部内容,S3将只显示前1000个文件,这是不够的. 目前,你查看水桶所有内容的最好方式是制作一个来自文件名的 EDD 表格数据集 (在你的电脑上ERDDAP™和/或公众ERDDAP) ,这也为您提供了浏览目录结构和下载文件的简单方法。 那个<fileDir> 对于此操作,将是您在上面绘制的 URL, 例如 。 https://noaa-goes17.s3.us-east-1.amazonaws.com 。 。 。 。\[为什么AWS S3不为任何人提供一个没有AWS账户的快速而简单的方法?\]请注意 当我在非亚马逊网络的PC上做这个时 亚马逊似乎减缓了对微风的反应 (约100人 (? 。 。 。) 每个块的文件) 前几块之后 (每块1,000个文件) 正在下载。 因为桶里可能有很多文件 (Noaa-goes17有2 600万) ,获取一个桶的所有内容可能会从文件名中提取 EDDTable 数小时 (例如,12岁!) 结束。\[亚马逊,是吗?\]
制作 EDD 表格 从带有 AWS S3 弹匣的文件名数据集
如果您有桶名, 但请不要在 S3 桶或前缀中列出文件列表, 以识别桶中相关文件的位置, 请使用下面的指令来制作 EDDTable FromFileNames 数据集, 这样您就可以浏览 S3 桶的目录等级 。ERDDAP因为"files"系统。
- 打开 AWS 账户 ERDDAP™使用AWS SDK 为Java从 AWS 获取桶信息,所以您需要创建并激活 AWS 账户。 。 。 这是一个相当大的工作,有很多事情要学习。
- 将您的 AWS 证书放在哪里ERDDAP™可以找到他们。 遵守指示时建立AWS证书和开发区这样ERDDAP™ (特别是,AWS SDK用于Java) 将会找到和使用您的 AWS 证书。 若为ERDDAP™找不到证书,你会看到 java.lang (法语). 非法参数例外: 配置文件不能为无效错误ERDDAP'log.txt文件 。
Linux 和 Mac OS 的提示: 证书文件必须位于运行 Tomcat 的用户的主目录中 (和ERDDAP) (对于此段落,我们假设用户=tomcat) 在名为~/.aws/证书的文件中。 不要假设是/home/tomcat——实际上用cd来找出操作系统认为~是给用户=tomcat的. 如果目录不存在, 则创建目录 。 另外,在您将证书文件设置好后,请确保文件的用户和组是tomcat,然后使用chmod 400证书,确保文件只读用户=tomcat.
- 创建桶 URL格式为ERDDAP™要求例如, https://noaa-goes17.s3.us-east-1.amazonaws.com ,以及 (公共水桶) 在浏览器中测试它,以确保它返回 XML 文档,该文档部分列出该桶的内容。
- 使用生成 DatasetsXml创建一个来自文件名的 EDD 表格数据集 :
-
对于起始目录,请使用此语法: \\{\fn黑体\fs22\bord1\shad0\3aHBE\4aH00\fscx67\fscy66\2cHFFFFFF\3cH808080}你觉得呢? 从飞行, 你的小宝贝 比如说, \*\*从飞行, https://noaa-goes17.s3.us-east-1.amazonaws.com/
-
文件名Regex吗? ._____________________________________________
-
递归? 真实
-
重新装入 每一个NMinute? 10080 (英语).
-
infoUrl? 。 。 。 https://registry.opendata.aws/noaa-goes/
-
机构?NOAA
-
总结? 无 (ERDDAP™将自动创建一个像样的摘要。)
-
标题 ? 无 (ERDDAP™将自动创建像样的标题。) 和往常一样,您应该编辑产生的XML,以验证正确性,并在使用它的数据集块之前作出改进datasets.xml。 。 。 。
-
- 如果您遵循上面的指令并加载数据集ERDDAP,您创建了 EDD Table fromFiles 数据集。 例如,为了方便任何人浏览和下载 AWS 开放数据桶中的文件,我们创建了 EDDTable FromFileNames 数据集(见列表 at
https://upwell.pfeg.noaa.gov/erddap/search/index.html?searchFor=awsS3Files\_ 对于几乎所有AWS S3 打开数据桶。 。 。 。
\[我们没有加入的几个桶 也有很多文件在根目录里 (无法在合理时间内下载) ,或者不允许公众访问 (难道他们都不应该公开吗?) 或请求者支付桶 (例如,哨兵) 。 。 。 。\]
如果点击"files"链接中,您可以浏览S3桶中的目录树和文件。 因为路\*\*来自On The Fly EDD Table FromFiles作品的这些目录列表总是完美地更新,因为ERDDAP™让他们飞起来。 如果您点击目录树到一个实际文件名并点击文件名,ERDDAP™将会将您的请求重定向到 AWS S3,这样您就可以直接从 AWS 下载文件 。 你可以检查那个文件。
麻烦? 如果您的 EDD Table from Files 不装入ERDDAP™ (或达斯Dds) ,在log.txt文件中查找错误消息。 如果你看到一个 java.lang (法语). 非法参数例外: 配置文件不能为无效错误, 问题在于 AWS SDK forJava (用于ERDDAP) 找不到证书文件 。 见上文全权证书说明。
不幸的是,AWS并没有简单地允许人们使用浏览器查看公共桶的内容.
那样你就能ERDDAP™数据集,使 用户能够访问文件中的数据。
见说明ERDDAP™和 S3 键 (上文) 。 。 。 。
对于您在上面制作的 EDDTable FromFileNames 数据集样本, 如果您在目录树上对目录和文件名称稍作浏览, 就会发现顶级目录名称 (例如,ABI-L1b-RadC) 对应什么ERDDAP™将调用单独的数据集。 你用过的桶可能很相似 然后,您可以在ERDDAP™使用,例如,
https://noaa-goes17.s3.us-east-1.amazonaws.com/ABI-L1b-RadC/
作为<缓存从Url>. 不幸的是,就这个具体例子而言,桶中的数据集似乎都是一级或二级数据集。ERDDAP™ 不太擅长,因为数据集是使用不同维度的变量比较复杂的集合.
NcML 文件
NcML 文件允许您向一个或多个原始源指定飞行时的更改NetCDF (v3 或 v4 类型) .nc, .grib, .bufr, 或.hdf (v4 或 v5 类型) 文档,然后有ERDDAP™治疗.ncml 文件作为源文件.ERDDAP™数据集将接受.ncml 文件任何时候.nc需要文件 。 NcML 文件 MUST 有扩展名.ncm. 见UnidataNcML 文档。 。 。 NcML 有用, 因为您可以用它做一些事情 (例如,对收藏中不同的文件进行不同的修改,包括在文件中添加一个具有特定值的维度) ,你不能做到这一点ERDDAP因为datasets.xml。 。 。 。
- 更改为a.ncml 文件上一个修改的时间会使得文件在重新装入数据集时被重新装入,但修改基础.nc数据文件不会被直接注意到.
- 提示: NcML 是\*非常喜欢\*对 NcML 文件中某些项目的顺序敏感。 将 NcML 视为在指定的顺序中指定一系列指令, 目的是更改源文件 (NcML 文件起始/顶端的状态) 输入目标文件 (NcML 文件末尾/底部的状态) 。 。 。 。
NcML 的替代品是NetCDF运算符 (NCO) 。 。 。 最大的区别是NcML是一个在飞行时进行更改的系统 (所以源文件没有更改) ,则NCO可用于修改 (或新版本的) 档案。 两者NCO而NcML非常,非常灵活,并允许您对文件几乎任意修改。 对两者来说,要确切地确定如何做你想做的事可能具有挑战性——检查网页以了解类似的例子。 两者都是编制综合发展框架和HDF用于文档ERDDAP特别是,做出超越ERDDAP操纵系统可以
例 # 1: 添加单个值的时间尺寸 这个.nc创建新外维的 ml 文件 (时间, 1 值: 1041379200) 并在名为 A2003001.L3m\_DAY\_PIC\_pIC\_4km 的文件中的pic变量中添加此维度.nc数字 :
<netcdf xmlns='https://www.unidata.ucar.edu/namespaces/netcdf/ncml-2.2'>
<variable name='time' type='int' shape='time' />
<aggregation dimName='time' type='joinNew'>
<variableAgg name='pic'/>
<netcdf location='A2003001.L3m\\_DAY\\_PIC\\_pic\\_4km.nc' coordValue='1041379200'/>
</aggregation>
</netcdf>
示例 2 : 更改现有时间值 有时来源.nc文件已经具有时间维度和时间值,但数值不正确 (为了你的目的) 。 。 。 。 这个.ncml文件表示: 对于名为""1981082523030-NCEI..."的数据文件,用于维度变量"time",将单位属性设置为"1970-01-01T0000:00Z"后的秒,并将时间值设定为367588800.
<netcdf xmlns='https://www.unidata.ucar.edu/namespaces/netcdf/ncml-2.2'
location="19810825230030-NCEI-L3C\\_GHRSST-SSTskin-AVHRR\\_Pathfinder-PFV5.3\\_NOAA07\\_G\\_1981237\\_day-v02.0-fv01.0.nc">
<variable name="time">
<attribute name='units' value='seconds since 1970-01-01T00:00:00Z' />
<values>367588800</values>
</variable>
</netcdf>
NetCDF运算符 (NCO)
"网易CDF运营商 (NCO) 包含十几个独立命令行程序,使用净CDF\[v3 或 v4 类型\], (中文).HDF \[v4 或 v5 类型\], (中文).\[.格里布, . bufr, . .\]和(或)DAP文件作为输入,然后操作 (例如,获取新数据、计算统计数据、打印、超音速板、操纵元数据) 并输出结果,以文本、二进制或netCDF格式显示。NCO网格化科学数据的辅助分析. 贝壳命令样式NCO允许用户 交互地操纵和分析文件,或者使用表达式脚本避免一些高层次编程环境的间接费用". (从NCO主页) 。 。 。 。
替代NCO这是NcML 数据。 。 。 最大的区别是NcML是一个在飞行时进行更改的系统 (所以源文件没有更改) ,则NCO可用于修改 (或新版本的) 档案。 两者NCO而NcML非常,非常灵活,并允许您对文件几乎任意修改。 对两者来说,要确切地确定如何做你想做的事可能具有挑战性——检查网页以了解类似的例子。 两者都是编制综合发展框架和HDF用于文档ERDDAP特别是,做出超越ERDDAP操纵系统可以
例如,你可以使用NCO使时间变量的单位在原来不一致的一组文件中保持一致。 或者,你可以用来NCO应用scale\_factor和add\_offset在一组文件中scale\_factor和add\_offset在不同源文件中具有不同的值。 (或者,你现在可以处理 这些问题在ERDDAP™通过EDDGrid从 NcFiles 未包装,这是EDDGrid从NcFiles中解包数据,并将时间值标准化到低水平,以便处理不同收集文件scale\_factors 和add\_offset,或者不同的时间单位。)
NCO是使用此软件的自由和开源软件GPL 3.0 常规执照。
示例1:使单位一致
EDDGrid从文件夹和 EDD 表格 从文件坚持给定变量的单位在所有文件中是相同的. 如果一些文件是微不足道的 (没有功能) 与其它不同(例如:
"自1970-01-01 00:00 UTC下午1点起的秒数"对战
"seconds since 1970-01-01T00:00:00Z",您可以使用NCO因为无来更改所有文件中的单位,使其与
nco/ncatted - a单位,时间,o,c,秒数自1970-01-01T00:00Z'QQ.nc
\[在EDDTable From中,很多这样的问题... 文件数据集,现在可以使用标准化 什麽?告诉ERDDAP在读入源文件时实现标准化ERDDAP。 。 。 。\]
对数据集大小的限制
下方会看到许多"20亿"的参考文献. 更准确地说,这指的是2 147 483 647 (2^31-1 (英语).) ,这是32位签名整数的最大值。 例如,在某些计算机语言中Java (哪个ERDDAP™写入) ,这是可用于许多数据结构的最大数据类型 (例如,数组的大小) 。 。 。 。
对于字符串值 (例如,对于变量名称、属性名称、字符串属性值和字符串数据值,) ,每个字符串的最大字符数ERDDAP™是~20亿。 但是,在几乎所有情况下,如果一个字符串超过合理的尺寸,就会出现小问题或大问题. (例如,80个字符用于变量名称和属性名称,255个字符用于大多数字符串属性值和数据值) 。 。 。 例如,显示长变量名的网页会尴尬地宽一些,长变量名如果超过响应文件类型的限制,则会截断.
对于网格数据集:
- 最多数量axisVariables是
20亿. 最多数量dataVariables是20亿. 但如果一个数据集有 > 100个变量,则用户使用会很麻烦. 如果一个数据集有>100万个变量,则您的服务器将需要大量的物理内存,并会出现其他问题. - 每个维的最大大小 (axisVariable) 是~20亿值。
- 我认为细胞总数最多 (所有尺寸的产物) 是无限的,但可能是~9e18。
表格数据集:
- 最多数量dataVariables是~20亿. 但如果一个数据集有 > 100个变量,则用户使用会很麻烦. 如果一个数据集有>100万个变量,则您的服务器将需要大量的物理内存,并会出现其他问题.
- 源的最大数量 (例如,文件) 总共是20亿
- 在某些情况下,单个来源的最大行数 (例如,一个文件,但不是数据库) 是~20亿行。
- 我觉得没有其他限制
对于网格化和表格化的数据集,用户在一次请求中可以要求的子集大小有一些内部限制. (经常与 > 20亿某物或~9e18某物有关) ,但用户更可能击中文件类型的特定限制。
- NetCDF版本 3.nc文件仅限于2GB字节. (如果这真的对某人有问题,告诉我: 我可以补充支持NetCDF版本 3.nc64位扩展或NetCDF第4版将大大增加限制,但并非无限。)
- 浏览器仅在数据 ~ 500MB 后崩溃, 所以ERDDAP™限制响应到.htmlTable请求数据~400MB。
- 许多数据分析程序都有类似的限制 (例如,一个维度的最大尺寸往往为~20亿值.) ,所以没有理由努力绕过文件类型的特定限制.
- 文件类型的限制是有用的,因为它们可以防止天真地要求获得真正巨大的数据 (例如,当数据集有20TB数据时,“给我所有此数据集”) ,下载需要数周或数月。 下载时间越长,就越可能因各种原因失败.
- 文件类型的特定限制是有用的,因为它迫使用户处理大小合理的子集 (例如,通过各一个时间点的数据文件处理大型网格数据集) 。 。 。 。
切换到 ACDD-1.3
我们 (重点生成 DatasetsXml) 目前建议ACDD 版本 1.3,于2015年初批准,并在全球公约属性中被称为"ACDD-1.3". 在此之前ERDDAP™1.62版本 (2015年6月发布.) , (中文).ERDDAP™使用/建议原版,1.0版NetCDF数据集发现属性公约被称为 "Unidata全球公约和Metadata\_Conventions属性。
如果您的数据集使用早期版本的ACDD,我们建议您切换到ACDD-1.3。 不难 ACDD-1.3与1.0版本高度后向兼容. 要切换所有数据集 (除外EDDGrid从 Erddap 和 EDD 表格 从 Erddap 数据集) 数字 :
- 删除新贬值的全局Metadata\_Conventions添加属性 (或者通过修改现有的Metadata\_Conventions属性)
<att name="Metadata\\_Conventions">null</att>
到数据集的全局<addAttributes> >. 2. 如果数据集在全局中具有公约属性<addAttributes>,全部更改 "UnidataDataset Discovery v1.0"提到"ACDD-1.3". 如果数据集在全球没有公约属性<addAttributes>,然后添加一个提 及ACDD-1.3. 举例来说,
<att name="Conventions">COARDS, CF-1.6, ACDD-1.3</att>
3. 如果数据集为全局standard\_name\_vocabulary属性,请将数值的格式修改为,例如,
<att name="standard\\_name\\_vocabulary">CF Standard Name Table v65</att>
如果参考的是旧版本的CF 标准名称表。 。 。 切换到当前版本也许是个好主意 (65,我们写这个) ,因为新的标准名称与后续版本一起加入该表,但旧的标准名称很少被贬值,并且从未被删除. 4. 虽然 ACDD-1.0 包含了用于creator\_name, (中文).creator\_email, (中文).creator\_url, (中文).生成 DatasetsXml直到某个时候才自动加入ERDDAP™v1.50 (英语). 这是重要信息:
- creator\_name让用户知道/点击数据集的创建者。
- creator\_email告诉用户用于联系数据集创建者的首选电子邮件地址,例如如果用户对数据集有疑问.
- creator\_url给用户一个了解更多创作者的方法.
- ERDDAP™在为每个数据集生成FGDC和ISO 19115-2/19139元数据文档时,使用所有这些信息。 外部搜索服务经常使用这些文件。
请将这些属性添加到数据集的全局<addAttributes> >.
<att name="creator\\_name">NOAA NMFS SWFSC ERD</att>
<att name="creator\\_email">erd.data@noaa.gov</att>
<att name="creator\\_url">https://www.pfeg.noaa.gov</att>
就是这样。 我希望那不会太难
扎尔
截至第2.25版ERDDAP™能够读取本地 使用 Zarr 文件来自 NcFiles 的 EDD 表格和EDDGrid从NcFiles调用。 。 。 。
(截止2019年8月) 我们很容易就错了,但我们还没有相信扎尔,或者类似系统,将数据文件分解成小块,是解决以下问题的最佳办法:ERDDAP™读取存储在亚马逊AWS S3等云服务中的数据. Zarr是一种伟大的技术, 已经显示出它在各种情况下的用处, 我们只是不确定ERDDAP+S3将是这种情况之一。 多数情况下,我们是在说:在我们匆忙地努力将我们的所有数据存储在扎尔之前,让我们做一些测试,看看它是否真的是一个更好的解决方案.
获取云中数据的问题在于耐久性 (首先获取数据的滞后) 和文件级访问 (而不是块级访问) 。 。 。 Zarr)解决了文件级访问问题,但对延迟问题却无动于衷. 与仅仅下载文件相比 (因此它可以作为本地文件读取, 并有块级访问) ,Zarr甚至可能加剧 暂时性的问题,因为,随着Zarr,读一个文件 现在涉及一系列的呼叫 阅读文件的不同部分 (每个都有自己的落后) 。 。 。 暂时性问题可以通过并行请求来解决,但这是一个更高层次的解决方案,不依赖于扎尔.
和扎尔 (关系数据库) ,我们失去了将一个数据文件变成一个简单、单一文件的便利性,而您可以很容易地验证其完整性,或者制作/下载一个副本。
ERDDAP™ (截至二年级) 拥有维护本地缓存 URL 源文件的系统 (例如,S3) (见[<来自Url的缓存 > 和<缓存MaxGB >] ({\fn方正粗倩简体\fs12\an8\1cHFFFF00\b0}我的宝贝) ) (中文(简体) ). 和新的<nThreads >] (英语). (无线) 通过在高水平上并行数据检索,应尽量减少延迟问题。<缓存FromUrl > 似乎在许多情景中效果很好。 (我们不知道有多有益)<n Threads > 没有进一步的测试。 ) 我们承认,我们还没有在网络连接良好的AWS实例上进行计时测试,但我们已经成功测试了各种远程URL文件来源. 还有ERDDAP因为<缓存FromUrl> 与任何类型的数据文件一起工作 (例如,.nc, (中文)..hdf, .csv, (英语)..jsonlCSV) ,即使外部压缩 (例如,.gz) ,对文件没有任何修改 (例如,将其改写为Zarr收藏) 。 。 。 。
不同的情景可能有利于不同的解决方案,例如只需要读取文件的一部分一次 (扎尔会赢的) , vs. 需要读取所有文件一次, vs. 需要反复读取部分或全部文件(<缓存FromUrl > 将获胜).
多数情况下,我们是在说:在我们匆忙地努力将我们的所有数据存储在扎尔之前,让我们做一些测试,看看它是否真的是一个更好的解决方案.
-
- 说吧
类型数据集列表
如果您需要帮助选择正确的数据集类型,请参见选择数据集类型。 。 。 。
数据集的类型分为两类. (为什么?)
EDDGrid
- EDDGrid 数据集处理网格数据。
少数子类有额外的限制(尤其是:EDDGrid聚合分化要求外(最左,第一)维度是上升的.
未排序的维度值几乎总是表示源数据集存在问题. 最常见的情况是在集合中包含一个错误名称或不适当的文件,从而导致一个不排序的时间维 度. 要解决这个问题,请在ERDDAP™查找违法时间值的log.txt文件 。 然后在源文件中查找相应的文件 (之前或之后一个) 这不属于集合。
- 详见关于EDDGrid数据模型。 。 。 。
- 那个EDDGrid数据集类型为:
- EDDGrid从AudioFiles 调用汇总一组本地音频文件的数据。
- EDDGrid从 Dap 中处理网格数据DAP服务器。
- EDDGrid可处理文件将表格数据集转换成网格数据集。
- EDDGrid从埃尔达普处理远程的网格数据ERDDAP。 。 。 。
- EDDGrid从埃托波只是处理内置的ETOPO地形数据。
- EDDGrid从文件是一切的超级阶级EDDGrid从...
- EDDGrid从MorgeIRFiles 调用集合来自本地合并的一组数据.gz文档。
- EDDGrid从NcFiles调用汇总一组本地数据NetCDF (v3 或 v4 类型) .nc和相关文件。
- EDDGrid从 NcFiles 未包装是变体,如果EDDGrid来自NcFiles,它同时汇总来自本地一组的数据NetCDF (v3 或 v4 类型) .nc和相关文件,哪些ERDDAP™低水平的拆包
- EDDGrid龙PM180修改儿童的经度值EDDGrid以便他们在180至180之间。
- EDDGrid龙0360修改儿童的经度值EDDGrid使他们在0至360之间。
- EDDGrid侧边线两个或两个以上EDDGrid数据集并存。
- EDDGrid总计两个或两个以上EDDGrid数据集,每个数据集第一维的值范围不同,但其他维 的值相同。
- EDDGrid复制可以制作一个本地拷贝另一个EDDGrid本地副本中的数据和服务。
- 全体EDDGrid数据集支持 nThreads 设置,它告诉ERDDAP™响应请求时要使用多少线索 。 见无线详细文件。
电子数据交换表
- 电子数据交换表 数据集处理表格数据。
- 表格数据可以作为类似数据库的表格,包含行和列. 每栏 (一个数据变量) 拥有一个名称,一组属性,只存储一类数据. 每行都有观察 (或一组相关数值) 。 。 。 数据源可能拥有不同数据结构,更复杂的数据结构和/或多个数据文件的数据,但是.ERDDAP™需要将源数据平整成类似数据库的表格,以便将数据作为表格数据集提交用户。ERDDAP。 。 。 。
- 详见关于EDDTable 数据模型。 。 。 。
- EDDTable数据集类型为:
- AllDatasets 中的 EDD 表格是一个更高层次的数据集,该数据集包含关于您ERDDAP。 。 。 。
- 来自 Ascii 文件夹的 EDD 表格汇总来自逗号、标签、分号或空格分隔的ASCII数据文件的数据。
- 来自Ascii 服务的 EDD 表是所有EDDTableFromAsciiServicice... 类的超级阶级.
- 来自Ascii Servicicenos的EDD表处理来自一些NOAANOS网络服务.
- 来自音频文件夹的 EDD 表格汇总一组本地音频文件的数据。
- 从 EDD 表格 AwsXml 文件夹从一组自动气象站汇总数据 (自动取款机) XML 文件.
- 来自卡桑德拉的EDD表处理一个卡桑德拉表格中的表格数据。
- 来自 ColumnarAsii 文件的 EDD 表格将表格 ASCII 数据文件中的数据与固定宽度数据列汇总。
- 来自 DapSequence 的 EDD 表处理来自DAP序列服务器。
- 数据库中的 EDD 表格处理一个数据库表格中的表格数据。
- 从 EDD 表格EDDGrid允许您从一个EDDGrid数据集。
- 来自Erddap的EDD表处理远程的表格数据ERDDAP。 。 。 。
- 来自文件名的 EDD 表格从服务器文件系统中一组文件的信息中创建一个数据集,但它并不服务于文件内部的数据.
- 来自文件的 EDD 表格是所有 EDD Table 从... Files 类的超级类。
- 来自 HttpGet 的 EDD 表格这是ERDDAP'是数据导入和数据导出的唯一系统.
- 从 EDD 表格Hyrax文件 (过期) 汇总文件数据,其中包含若干变量,具有共享维度Hyrax OPeNDAP服务器。 。 。 。
- 来自 InvalidCRA 文件的 EDD 表数据汇总NetCDF (v3 或 v4 类型) .nc使用 CF DSG 相邻标记阵列的特定、无效的变体的文件 (庇护上诉委员会) 文档。 虽然ERDDAP™支持此文件类型, 这是一个无效的文件类型, 任何人都不应开始使用 。 强烈鼓励当前使用此文件类型的组使用ERDDAP™生成有效的 CF DSG CRA 文件,并停止使用这些文件。
- 来自 JsonlCSV 的 EDD 表格数据汇总贾森 线条 CSV 文件。 。 。 。
- 来自多分位Nc Files的 EDD表数据汇总NetCDF (v3 或 v4 类型) .nc带有多个具有共享维度的变量的文件。
- 来自 NcFiles 的 EDD 表格数据汇总NetCDF (v3 或 v4 类型) .nc带有多个具有共享维度的变量的文件。 继续使用该数据集类型用于现有数据集是好的,但对于新的数据集,我们建议使用EDDTable From MultidimNcFiles。
- 来自 NcCFF 的 EDD 表格数据汇总NetCDF (v3 或 v4 类型) .nc使用文件格式之一的文件CF 数字 断层采样 (副秘书长) 公约。 但对于使用一个多维CF DSG变体的文件,请使用来自多分位Nc Files的 EDD表相反。
- 来自 Nccsv 文件的 EDD 表格数据汇总NCCSV 网络ASCII.csv 文档.
- 来自NOS的EDD表 (过期) 处理来自NOS XML服务器的表格数据。
- EDD 表从OBIS处理 OBIS 服务器的表格数据。
- 来自Parquet Files的 EDD 表格处理来自公园。 。 。 。
- 从 EDD 表格SOS处理来自SOS服务器。
- 来自垃圾的 EDD 表格 (过期) 汇总文件数 据,其中包含若干变量,具有共享维度红色OPeNDAP服务器。 。 。 。
- 从 EDD 表格WFS文件 (过期) 制作一个本地副本,复制来自ArcGIS地图服务器WFS服务器,这样数据就可以快速重新保存到ERDDAP™用户。
- EDD 表格外观可以从一组EDDTable数据集中生成一个EDDTable数据集.
- EDD 表格复制可以制作许多类型的EDDTable数据集的本地拷贝,然后从本地拷贝中快速重新保存数据.
-
- 说吧
数据集类型的详细说明
EDDGrid从 Dap 中
EDDGrid从 Dap 中 处理网格变量DAP服务器。
- 我们强烈建议使用生成数据 Xml 程序简略的草案datasets.xml此数据集的块 。 您可以收集所需的信息来修补它或者创建自己的 XML 用于EDDGrid通过查看您浏览器中源数据集的 DDS 和 DAS 文件从 Dap 数据集中获取 (将 .das 和.dds 添加到sourceUrl例如, https://thredds1.pfeg.noaa.gov/thredds/dodsC/satellite/BA/ssta/5day.dds ) 。 。 。 。
- EDDGrid从Dap中可以从任何多维变量中获取数据DAP数据服务器。 (先前,EDDGridFromDap仅限于被指定为"grid"的变量,但这已不再是一个要求.)
- 排序的维度值 - 每个维度的值按顺序排序 (上升或下降) 。 。 。 值可以不规则地间隔. 没有联系 这是法院的一项要求。CF 元数据标准。 。 。 如果任何维度的值没有排序顺序,数据集将不会被加载,并且ERDDAP™将识别日志文件中的第一个未排序的值, 大家长会 /logs/log.txt (英语).
未排序的维度值几乎总是表示源数据集存在问题. 最常见的情况是在集合中包含一个错误名称或不适当的文件,从而导致一个不排序的时间维度. 要解决这个问题,请在ERDDAP™查找违法时间值的log.txt文件 。 然后在源文件中查找相应的文件 (之前或之后一个) 这不属于集合。
EDDGrid从 Dap 骨架 XML 数据
<dataset type="EDDGridFromDap" datasetID\="..." active\="..." >
<sourceUrl>...</sourceUrl>
<accessibleTo>...</accessibleTo> <!-- 0 or 1 -->
<graphsAccessibleTo>auto|public</graphsAccessibleTo> <!-- 0 or 1 -->
<accessibleViaWMS>...</accessibleViaWMS> <!-- 0 or 1 -->
<reloadEveryNMinutes>...</reloadEveryNMinutes> <!-- 0 or 1 -->
<updateEveryNMillis>...</updateEveryNMillis> <!-- 0 or 1.
For EDDGridFromDap, this gets the remote .dds and then gets the new
leftmost (first) dimension values. -->
<defaultDataQuery>...</defaultDataQuery> <!-- 0 or 1 -->
<defaultGraphQuery>...</defaultGraphQuery> <!-- 0 or 1 -->
<nThreads>...</nThreads> <!-- 0 or 1 -->
<dimensionValuesInMemory>...</dimensionValuesInMemory> <!-- 0 or 1 -->
<fgdcFile>...</fgdcFile> <!-- 0 or 1 -->
<iso19115File>...</iso19115File> <!-- 0 or 1 -->
<onChange>...</onChange> <!-- 0 or more -->
<addAttributes>...</addAttributes> <!-- 0 or 1 -->
<axisVariable>...</axisVariable> <!-- 1 or more -->
<dataVariable>...</dataVariable> <!-- 1 or more -->
</dataset>
EDDGrid可处理文件
EDDGrid可处理文件 将 EDD表表格数据集转换为EDDGrid网格数据集。 记住ERDDAP™将数据集视为任意网格数据集 (子类EDDGrid) 或表格数据集 (EDD 表的子类) 。 。 。 。
- 通常情况下,如果你有 网格数据,你刚刚设置EDDGrid数据集直接。 有时这是不可能的,例如,当你把数据存储在一个关系数据库中,ERDDAP™只能通过 EDDTable 从数据库访问。EDDGrid从EDDable课程 让你纠正这种情况。
- 显然,基本的EDDTable数据集中的数据必须是: (基本上是这样) 网格数据,但以表格形式。 例如,EDDTable数据集可能拥有CTD数据:测量东向和北向电流,在几个深度,几次. 由于每个时间点的深度都是一样的EDDGrid从EDDTable中可以创建具有时间和深度维度的网格数据集,通过基础的EDDTable数据集访问数据.
- 生成数据 Xml - 打开 我们强烈建议使用生成数据 Xml 程序简略的草案datasets.xml此数据集的块 。 你可以收集所需的信息来改进粗略的草稿.
- 源属性 - 如同所有其他类型的数据集,EDDGrid从表格中可以找到全球源属性全球addAttributes (指定于datasets.xml) 合并,使全球综合 属性,这是用户看到的. 对于全球源属性,EDDGrid来自EDDTable系统使用全球综合 基本 EDDTable 数据集的属性。 (如果你考虑一下,这是有道理的。)
同样,每个axisVariable{\fn黑体\fs22\bord1\shad0\3aHBE\4aH00\fscx67\fscy66\2cHFFFFFF\3cH808080}还有...dataVariable因为addAttributes, (中文).EDDGrid使用变量的组合 基本 EDDTable 数据集的属性EDDGrid从EDDTable变量的源属性. (如果你考虑一下,这是有道理的。)
因此,如果EDD表有良好的元数据,则EDDGrid从EDDable 往往不需要多少addAttributes 元数据,只是一些微调。
-
dataVariables 对axisVariables -- 翻译: 基本的EDD表只有dataVariable编号 一个EDDGrid从 EDDT 可读数据集将有一些axisVariable编号 (从一些 EDD 表格创建dataVariable编号) 还有一些dataVariable编号 (从剩余的 EDD 表格创建dataVariable编号) 。 。 。 。生成 DatasetsXml将猜测哪个 EDD表dataVariables 应该成为EDDGrid可处理文件axisVariables,但这只是一个猜测。 您需要修改 GenerateDatasetsXml 的输出以指定哪个dataVariable将会变成axisVariables, 并按哪个顺序排列.
-
轴值 - 根本的EDD表没什么可说的EDDGrid可从EDDD中分解axisVariables 在数据集的网格化版本中,所以您必须提供每个数据集的信息axisVariable通过其中一个属性:
- 轴值 - 让您指定一个数值列表。 举例来说, <名称=“轴值”类型=“双重列表”\>2、2.5、3、3.5、4</att > (单位:千美元) 注意使用数据类型加上单词列表。 此外,清单的类型 (例如,双倍) ,必须匹配数据 EDD表中的变量类型和EDDGrid从EDDT可读数据集.
- 轴式ValuesStartStread - 让您通过指定开始、步态和停止值来指定一个定期间隔值的序列。 以下是一个相当于以上轴值的例子: <att name="轴式 Values Start Stop" (自动停止)类型=“双重列表”\>2、0.5、4</att > (单位:千美元) 请注意使用列表数据类型。 此外,清单的类型 (例如,双倍) ,必须匹配数据 EDD表中的变量类型和EDDGrid从EDDT可读数据集.
更新 - 就像没有办法EDDGrid从EDDTable开始确定EDD表的轴值,也没有任何可靠的方法。EDDGrid从 EDDD 可从 EDD 表格中确定轴值何时改变 (特别是当时间变量出现新值时) 。 。 。 目前,唯一的解决方案是改变轴变量属性datasets.xml并重新装入数据集。 例如,你可以写一个脚本给
- 搜索datasets.xml(单位:千美元) datasetID=" 数据集ID " , " 所以你正在使用正确的数据集。
- 搜索datasets.xml发生时间
变量来源Name
因此,你的工作 正确的变量。 - 搜索datasets.xml发生时间
<att name="axisValuesStartStrideStop" type="doubleList">
所以你知道标签的起始位置。 4. 搜索datasets.xml发生时间
</att>
因此,你知道轴值的终点位置。 5. 用新值替换旧的开始, 脚步, 停止值 。 6. 联系旗帜 URL要显示的数据集ERDDAP™以重新装入数据集。
这不是理想的,但它的工作。
- 精确度 - 何时EDDGrid从EDDTable中响应用户的数据请求,将EDDTable响应表的一行数据移动到EDDGrid响应网格。 要做到这一点,它必须弄清楚表中某一行的"轴"值是否与网格中轴值的某些组合相匹配. 对于整数数据类型,很容易确定两个值是否相等. 但对于浮点数和双点数来说 这会引起浮点数的可怕问题不完全匹配。 。 。 。 (例如,0.2对0.19999999999996) 。 。 。 。 改为 (尝试) 处理这个,EDDGrid从表格中,您可以指定其中任一的精确属性axisVariables,指定必须相同的小数位数的总数。
- 举例来说,<att name=“精度”类型=“int”=5</att > (单位:千美元)
- 对于不同类型的数据变量,有不同的默认精度值. 默认通常是适当的. 如果不是,则需要指定不同的值.
- 对于axisVariable已经是时间或时间 印花变量,默认为完全精确 (准确 匹配) 。 。 。 。
- 对于axisVariables为浮标,默认精度为5.
- 对于axisVariables为双倍,默认精度为9.
- 对于axisVariables 具有整数数据类型,EDDGridFrom EDDTable 忽略精度属性,总是使用全精度 (准确匹配) 。 。 。 。
- 警报! 将一组表格数据转换成一组网格数据时,如果EDDGrid从 EDDTable 无法将 EDD表“轴” 值匹配到预期值之一EDDGrid从 EDDD 轴值,EDDGrid从EDDTable无声 (无错误) 丢弃表格中该行的数据。 例如,可能还有其他数据 (没有在网格上) 在 EDDTable 数据集中。 (如果脚踏实地 > 1,这是不明显的EDDGrid从表格中,哪些轴值是理想的值,哪些是因速度而需要跳过的值。) 因此,如果精度值过高,当有效数据值实际存在时,用户会在数据响应中看到缺失值.
相反,如果精确值设置得太低,则EDDTable “轴”值不应匹配EDDGrid从 EDDD 轴值将 (错了) 比赛。
这些潜在的问题是可怕的,因为用户得到的数据是错误的 (或缺失值) 当他们应该得到正确的数据 (或至少一个错误消息) 。 。 。 。 这不是一个缺陷EDDGrid从表.EDDGrid从表不能解决这个问题。 问题在于将表格数据转换成网格数据。 (除非可以做出其他假设 但不能在这里做出) 。 。 。 。 这取决于你,ERDDAP™管理员, 到 测试你的EDDGrid从EDD可彻底 确保确定精确值以避免这些潜在的问题。
间距
- 间距- —— - 说 这是一个非常不寻常的数据集类型。 由于可以查询的种类 (由) a 是一个EDDGrid数据集 (范围与进展axisVariable编号) 与可查询的类型大不相同 (由) EDD表数据集 (仅仅与一些变量的范围有关) ,则EDDGrid从EDDTable数据集中得出的数据将有很大差异,这取决于所提出的确切请求和基本的EDDTable数据集的速度。 具有超速值的请求 > 第1条,EDDGrid可从 EDDDable 中查询基本的 EDD 表格,以获取相对较大的数据 (似乎脚步=1) 然后通过结果进行筛选,将数据从一些行中保存下来,然后将数据从其他行中丢弃. 如果它需要通过大量数据筛选来获取它所需要的数据,则请求需要更长的时间来填充.
若为EDDGrid从EDDable中可以看出,将存在巨大的差距 (有行不想要的数据) 在有所需数据的行间,EDDGrid从EDDTable中可以选择向基本的EDD表提出几个子请求,而不是一个大请求,从而跳过大缺口中不想要的数据行. 本决定的灵敏度由以下条目中指定的差值控制:<间隙阈值 > 标记 (默认=1,000行源数据) 。 。 。 将空档设置为较小的数目会导致数据集生成 (概况) 更多的子请求。 将空档设为较大数目的门槛将会导致数据集的制作 (概况) 子请求更少.
如果缺口太大了,EDDGrid来自EDDTable的操作会比较慢,因为多个请求的间接费用将超过通过获取一些多余数据节省的时间. 如果缺口太大的话EDDGrid从EDDTable中调取的数据会比较慢,因为会从EDD表格中获取过多的数据,只能丢弃。 (正如Goldilocks发现的,中间是"恰到好处".) 不同类型EDDTable数据集的间接费用差异很大,所以了解您数据集实际最佳设置的唯一方法是通过实验. 但你不会犯错 坚持违约。
一个简单的例子是:EDDGrid从桌上只用一个axisVariable (时间, 大小为 100 000) 一个dataVariable (温度) ,而默认值为1000。
- 如果用户要求温度\[0💯5000\],脚步是100,所以空隙大小是99,比空隙危险小. 这么说EDDGrid从表格中只向EDD表格提出一个请求,用于请求所需的所有数据 (等于温度\[0:5 000 (中文(简体) ).\]) 丢掉所有它不需要的数据
- 如果用户要求温度\[0:2500:5000 (英语).\],这个速度是2500,所以空隙大小是2499,比空隙危险值大。 这么说EDDGrid从表格中向EDD表格分别提出请求,这些请求相当于温度\[0 个\]温度\[2500号\]温度\[5000块\]。 。 。 。
当有多个轴时,差距大小的计算更为复杂.
对于每个用户请求,EDDGrid从EDDT可读打印出与此相关的诊断信息日志.txt文档。
- 若[<日志级别 >] (# 日志级别) 输入datasets.xml被设定为信息,此打印信件如 nouterAxes=1 4 nouter请求=22 如果nOuterAxes=0,空隙屏障没有被突破,只向EDDTable提出一个请求. 如果 nOuterAxes > 0, 空格危险值被突破, 并向 EDD Table 提交 nOuter 请求, 与请求的每个最左边的 nOuterAxs 组合相对应 。 例如,如果数据集有 4axisVariables 和dataVariable就像东边\[时间\]\[纬度\]\[经度\]\[深度\]最左边 (第一个) 轴变量是时间。
- 若为<日志级别 > 输入datasets.xml设置为全部,附加信息写入log.txt文件。
EDDGrid从EDDD 骨架 XML 数据
<dataset type="EDDGridFromEDDTable" datasetID\="..." active\="..." >
<accessibleTo>...</accessibleTo> <!-- 0 or 1 -->
<graphsAccessibleTo>auto|public</graphsAccessibleTo> <!-- 0 or 1 -->
<accessibleViaWMS>...</accessibleViaWMS> <!-- 0 or 1 -->
<reloadEveryNMinutes>...</reloadEveryNMinutes> <!-- 0 or 1 -->
<updateEveryNMillis>...</updateEveryNMillis> <!-- 0 or 1.
For EDDGridFromEDDTable, this only works if the underlying EDDTable
supports updateEveryNMillis. -->
<gapThreshold>...</gapThreshold> <!-- 0 or 1. The default is 1000. >
<defaultDataQuery>...</defaultDataQuery> <!-- 0 or 1 -->
<defaultGraphQuery>...</defaultGraphQuery> <!-- 0 or 1 -->
<fgdcFile>...</fgdcFile> <!-- 0 or 1 -->
<iso19115File>...</iso19115File> <!-- 0 or 1 -->
<onChange>...</onChange> <!-- 0 or more -->
<addAttributes>...</addAttributes> <!-- 0 or 1 -->
<axisVariable>...</axisVariable> <!-- 1 or more -->
<dataVariable>...</dataVariable> <!-- 1 or more -->
<dataset>...</dataset> <!-- The underlying source EDDTable dataset. -->
</dataset>
EDD* 从ERDDAP
EDDGrid从埃尔达普 处理远程的网格数据ERDDAP™服务器。 来自Erddap的EDD表 处理远程的表格 数据ERDDAP™服务器。
- EDDGrid从 Erddap 和 EDDTable From Erdddap 中与所有其他类型数据集的行为不同ERDDAP。 。 。 。
- 和其他类型的数据集一样,这些数据集从源头获得数据集的信息,并将其保存在内存中.
- 像其他类型的数据集,何时ERDDAP™搜索数据集,显示数据访问表 ( datasetID .html (中文(简体) ).) ,或显示 Make 图形窗体 ( datasetID 图片) , (中文).ERDDAP™使用内存中的数据集信息。
- EDDGrid从 Erddap 和 EDD 表格 From Erddap 是基础网格/集群/联邦页:1ERDDAPs, 高效分配 CPU 使用量 (主要用于制作地图) 、大型数据中心的内存使用、数据集存储和带宽使用。
重定向
- 不同于其他类型的数据集,当ERDDAP™收到从这些数据集获取数据或图像的请求,ERDDAP 重定向请求远程ERDDAP™服务器。 结果是:
- 这很有效率 (CPU、内存和带宽) 因为不然
- 综合说明ERDDAP™必须把请求发送给对方ERDDAP™ (需要时间) 。 。 。 。
- 另一个ERDDAP™必须获取数据,重塑数据,并将数据传送到复合数据ERDDAP。 。 。 。
- 综合说明ERDDAP™必须收到数据 (使用带宽) ,重塑它 (使用 CPU 和内存) ,并将数据传送给用户 (使用带宽) 。 。 。 通过重新定向请求并允许对方ERDDAP™将响应直接发送给用户,复合ERDDAP™基本上没有在请求上花费CPU时间,内存,或带宽.
- 重定向对用户透明, 不管客户端软件如何 (浏览器或任何其他软件或命令行工具) 。 。 。 。
- 这很有效率 (CPU、内存和带宽) 因为不然
- 你看得出来ERDDAP™不通过设置重定向任何用户请求<重定向 > 虚假</redirect>,但这否定了.FromErddap数据集类型的大部分优点. (特别是把负载分散在前端ERDDAP™到远程/后端ERDDAP) 。 。 。 。
订阅
通常,当EDDGrid从 Erddap 和 EDD 表格 从Erddap是 (内容) 装入您的ERDDAP,它们试图通过远程添加远程数据集的订阅ERDDAP电子邮件/URL订阅系统。 这样,每当远程数据集改变,远程ERDDAP™联系人设置数据集 旗帜 URL在你身边ERDDAP™这样可以重新装入本地数据集ASAP,使本地数据集总是完美地更新并模仿远程数据集. 因此,第一次发生这种情况时,你应该收到一封电子邮件,请求你验证订阅。 但是,如果当地ERDDAP™无法发送电子邮件或远程ERDDAP电子邮件/ URL 订阅系统没有活动, 您应该将远程电子邮件ERDDAP™管理员和请求手工添加 s/he [<更改 > ] (改变) . . ....</在切换 > 标记到所有相关的数据集以调用您的数据集的设置数据集 旗帜 URL。 。 。 。 再见ERDDAP™设置列表的每日报告 旗帜 URL,但只是发送EDDGrid从Erddap和EDDTable 从Erddap数据集到远程ERDDAP™管理员。
这不行吗? 您的本地数据集是否与远程数据集同步 ? 要让这个系统运作起来 就必须有好几种方法 才能让你的数据集随时更新 检查这些东西的每个顺序:
- 你们ERDDAP™必须能够发送电子邮件。 查看您的设置中的电子邮件设置. xml 。
- 一般情况 (但并不总是) 、ERDDAP因为<基准Url > 和<baseHttpsUrl > 必须没有端口号码 (例如:8080、8443。) 。 。 。 。 如果有的话,用一个代理密码从Url中移除端口。
- 在你的设置.xml,<订阅TremoteErddapDataset> 必须设定为真实 。
- 当您的本地 EDD... 从Erddap数据集重新装入,它应该向远程发送请求ERDDAP™以订阅远程数据集。 在log.txt中查看是否发生这种情况.
- 您应该收到电子邮件, 请求您验证订阅请求 。
- 您必须点击电子邮件中的链接来验证订阅请求 。
- 遥控器ERDDAP™应当说验证是成功的。 您可以随时请求远程电子邮件ERDDAP™包含您待定和有效订阅的列表。 见表格 远程 ErddapBase 乌尔尔 /erddap/订阅/list.html.
- 当远程数据集发生变化时 (例如,获得额外数据) ,遥控器ERDDAP™应该试着联系您身上的旗手ERDDAP。 。 。 你不能检查这个,但你可以问遥控器的管理员ERDDAP™检查这个。
- 你们ERDDAP™应接到设立该旗号的请求。 在您的日志中查找“ setDatasetFlag.txt” 请求 (编号) ,并查看是否有与请求相关的错误消息。
- 你们ERDDAP™然后应该尝试重新装入该数据集 (也许不是立即,但尽快) 。 。 。 。
最新最多数 (时间) ? 。 。 。
EDDGrid/Table FromErddap数据集仅在源数据集为时更改其存储的关于每个源数据集的信息"重装"和一些元数据变化 (例如,时间变量的actual\_range) ,从而生成订阅通知。 如果源数据集的数据经常变化 (例如,每秒有新数据) 并使用"更新"系统注意到基础数据经常变化,EDDGrid/Table FromErddap不会被通知这些频繁的更改,直到下一个数据集"重装",所以EDDGrid/表 从Erddap不会完全更新。 您可以通过更改源数据集的<将 EveryNiminutes > 重新装入更小的值 (60岁?) 以便有更多的订阅通知告知EDDGrid/Table FromErddap来更新关于源数据集的信息.
或者,如果您的数据管理系统知道源数据集是否有新数据 (例如,通过复制数据文件的脚本) 如果这不是超频繁的 (例如,每5分钟,或频率较低) ,有一个更好的解决方案:
- 别用<更新 Everynimillis > 以保持源数据集的更新.
- 设置源数据集<将 EveryNiminutes > 重装到更大的数 (1440号?) 。 。 。 。
- 让脚本联系源数据集旗帜 URL复制到新数据文件后立即生效。
这将导致源数据集完全更新,并导致其生成订阅通知。EDDGrid/表从Erddap数据集. 这将会导致EDDGrid/ Table from Erddap 数据集要完美更新 (5秒内,新的数据被添加) 。 。 。 和所有将会高效完成的工作 (无需重新装入数据集) 。 。 。 。
没有addAttributes, (中文).axisVariable,或dataVariable
与其他类型的数据集不同,EDDTable FromErddap和EDDGrid来自Erddap数据集不允许全局<addAttributes>, (中文).<axisVariable& gt; , 或 (G)<dataVariable在 > 区域中datasets.xml为数据集。 问题在于,允许这些结果会导致不一致:
- 让我们假设这是允许的, 你增加了一个新的 全球属性。
- 当用户询问您时ERDDAP™对于全局属性,将出现新的属性。
- 但当一个用户问你ERDDAP™对于数据文件,您ERDDAP™将请求重定向到源头ERDDAP。 。 。 。 那个ERDDAP™并不知道新的属性。 因此,如果它创建了带有元数据的数据文件,例如a.nc文件,元数据不会有新的属性。
有两条路要走:
- 说服源头的管理员ERDDAP™,用于修改元数据。
- 而不是 EDD Table from Erddap, 使用来自 DapSequence 的 EDD 表。 。 。 。 或者说EDDGrid从Erddap, 使用EDDGrid从 Dap 中。 。 。 这些 EDD 类型允许您高效地连接到远程的数据集ERDDAP™ (但不重定向数据请求) 他们允许你包括全球<addAttributes>, (中文).<axisVariable& gt; , 或 (G)<dataVariable在 > 区域中datasets.xml。 。 。 另一个区别是:您需要手动订阅远程数据集,以便您能够手动订阅远程数据集。ERDDAP™将通知 (通过旗帜 URL) 当远程数据集有变化时。 因此,您正在创建一个新的数据集,而不是链接到远程数据集。
其他说明
- 出于安全考虑EDDGrid从 Erddap 和 EDD 表格 从Erddap不支持 [<可访问工具 >] (能够进入) 标记和不能使用需要登录的远程数据集(因为它们使用[<可访问工具 >] (能够进入) . . . . . . 见ERDDAP因为安保系统限制某些用户访问某些数据集。
- 开始ERDDAP™页:1EDDGrid从Erddap和EDDTable FromErddap支持 [<可访问的ViaFiles > (# 无障碍文件) 标记 。 与其他类型的数据集不同的是,默认是真实的,但只有源数据集也存在的情况下,数据集的文件才能访问ViaFiles<可访问ViaFiles > 设置为真。
- 你可以用这个生成数据 Xml 程序来做datasets.xml这类数据集的块 。 但你可以轻松地用手来做这些类型的数据集.
EDDGrid从Erddap骨架 XML 数据
- EDDGrid从Erddap骨架 XML 数据集非常简单,因为其意图只是模仿已经适合用于ERDDAP数字 :
<dataset type="EDDGridFromErddap" datasetID\="..." active\="..." >
<sourceUrl>...</sourceUrl>
<accessibleTo>...</accessibleTo> <!-- 0 or 1 -->
<accessibleViaFiles>...</accessibleViaFiles> <!-- 0 or 1, default=true. -->
<graphsAccessibleTo>auto|public</graphsAccessibleTo> <!-- 0 or 1 -->
<reloadEveryNMinutes>...</reloadEveryNMinutes> <!-- 0 or 1 -->
<updateEveryNMillis>...</updateEveryNMillis> <!-- 0 or 1
For EDDGridFromErddap, this gets the remote .dds and then gets
the new leftmost (first) dimension values. -->
<defaultDataQuery>...</defaultDataQuery> <!-- 0 or 1 -->
<defaultGraphQuery>...</defaultGraphQuery> <!-- 0 or 1 -->
<nThreads>...</nThreads> <!-- 0 or 1 -->
<dimensionValuesInMemory>...</dimensionValuesInMemory> <!-- 0 or 1 -->
<fgdcFile>...</fgdcFile> <!-- 0 or 1 -->
<iso19115File>...</iso19115File> <!-- 0 or 1 -->
<onChange>...</onChange> <!-- 0 or more -->
<redirect>true(default)|false</redirect> <!-- 0 or 1; -->
</dataset>
EDD Table 来自 Erddap 骨架 XML 数据
- 用于EDDTable FromErddap数据集的骨架XML非常简单,因为本意只是模仿远程数据集,这已经适合用于ERDDAP数字 :
<dataset type="EDDTableFromErddap" datasetID\="..." active\="..." >
<sourceUrl>...</sourceUrl>
<accessibleTo>...</accessibleTo> <!-- 0 or 1 -->
<graphsAccessibleTo>auto|public</graphsAccessibleTo> <!-- 0 or 1 -->
<reloadEveryNMinutes>...</reloadEveryNMinutes> <!-- 0 or 1 -->
<defaultDataQuery>...</defaultDataQuery> <!-- 0 or 1 -->
<defaultGraphQuery>...</defaultGraphQuery> <!-- 0 or 1 -->
<addVariablesWhere>...</addVariablesWhere> <!-- 0 or 1 -->
<fgdcFile>...</fgdcFile> <!-- 0 or 1 -->
<iso19115File>...</iso19115File> <!-- 0 or 1 -->
<onChange>...</onChange> <!-- 0 or more -->
<redirect>true(default)|false</redirect> <!-- 0 or 1; -->
</dataset>
EDDGrid从埃托波
EDDGrid从埃托波 只是服务于ETOPO1 全球 1- minute 嵌入梯形数据集 (冰面, 已注册的网格, 二进制, 2字节整数 : etopo1============================.zip) 与ERDDAP。 。 。 。
- 只有两个datasetIDs 支持用于EDDGrid从Etopo,可以访问经度值 -180到180,或经度值 0到360的数据.
- 从来没有子标签, 因为数据已经在其中描述ERDDAP。 。 。 。
- 所以,两个选项EDDGridEtopo 数据集为 (从字面上) 数字 :
<!-- etopo180 serves the data from longitude -180 to 180 -->
<dataset type="EDDGridFromEtopo" datasetID="etopo180" />
<!-- etopo360 serves the data from longitude 0 to 360 -->
<dataset type="EDDGridFromEtopo" datasetID="etopo360" />
EDDGrid从文件
EDDGrid从文件 是一切的超级阶级EDDGrid从... 你用不着EDDGrid从Files直接。 相反,使用一个子类:EDDGrid从文件处理特定文件类型 :
- EDDGrid从MorgeIRFiles 调用处理网格数据合并.gz文档。
- EDDGrid从AudioFiles 调用汇总一组本地音频文件的数据。
- EDDGrid从NcFiles调用处理网格数据GRIB . grb (英语).文档,HDF (v4 或 v5 类型) .hdf文档,.nc门L文件,和NetCDF (v3 或 v4 类型) .nc文档。 这与其他文件类型可能有效 (例如,BUFR) 我们只是还没有测试过 -- 如果你有兴趣的话,请给我们一些样本文件。
- EDDGrid从 NcFiles 未包装是一个变体,由EDDGrid处理网格数据的文件NetCDF (v3 或 v4 类型) .nc和相关文件,哪些ERDDAP™低水平的拆包
目前,没有支持其他文件类型. 但通常比较容易为其他文件类型添加支持. 有要求就联系我们 或者,如果你的数据是旧文件格式的,而你希望从这个格式移开,我们建议转换文件。NetCDF页:1.nc文档。NetCDF是一种得到广泛支持的二进制格式,允许快速随机访问数据,并已被ERDDAP。 。 。 。
从文件细节
以下信息适用于下列所有类别:EDDGrid从Files.
现有层面的汇总
所有变化EDDGrid从 Files 中可以汇总本地文件的数据, 每个文件都有 1 (或超过) 最左边的不同值 (第一个) 维度,通常\[时间\],将加以汇总。 例如,维度可能是:\[时间\]\[高度\]\[纬度\]\[经度\],文件可能有一个数据 (或几个) 时间值 (编号) 每个文件。 由此产生的数据集似乎已经合并了文件的所有数据。 汇总的主要优点是:
- 集成数据集的大小可以大大大于单个文件的方便度 (~2GB 键) 。 。 。 。
- 对于近实时数据,很容易添加包含最新数据块的新文件. 你不必重写整个数据集.
汇总要求如下:
- 本地文件不需要同样的dataVariable编号 (数据集中定义的datasets.xml) 。 。 。 。 数据集将包含dataVariables 定义datasets.xml。 。 。 如果给定的文件没有给定dataVariable, (中文).ERDDAP™将按需要添加缺失值。
- 所有电话dataVariableS MUST 使用同样的axisVariables/dimensions (日语) (数据集中定义的datasets.xml) 。 。 。 文件将基于第一个 (最左边) 维度,按升序排序。
- 每个文件May都有第一个维度的一个或多个值的数据,但文件之间不能有任何重叠. 如果一个文件对第一个维度有多个值,则该值按上升顺序排序,无链接.
- 所有文件 MUST 对于其他所有维度都有完全相同的值. 测试的精度由匹配轴线。 。 。 。
- 所有文件都一样单位全部元数据axisVariables 和dataVariable编号 如果有问题,也许可以使用NcML 数据或NCO来解决这个问题。