NOAA ERDDAP
更轻松地获取科学数据
登录 | ?    
提供方: NOAA NMFS SWFSC ERD    

ERDDAP > REST 风格的 Web 服务

访问 ERDDAP 的 RESTful Web 服务

ERDDAP具有以下特点: 对于每个带有表单的ERDDAP网页(供您作为使用浏览器的人使用),都有一个相应的ERDDAP Web 服务,该服务旨在方便计算机程序和脚本使用。例如,人类可以使用此 URL 对有趣的数据集进行全文搜索:
https://coastwatch.pfeg.noaa.gov/erddap/zh-CN/search/index.html?page=1&itemsPerPage=1000&searchFor=temperature
通过将 URL 中的文件扩展名从 .html 更改为.json (或 .csv、 .htmlTable 、 .jsonlCSV1 、 .xhtml等):
https://coastwatch.pfeg.noaa.gov/erddap/zh-CN/search/index.json?page=1&itemsPerPage=1000&searchFor=temperature
我们得到一个 URL,计算机程序或Java Script 脚本可以使用它来以更适合计算机程序的格式(如JSON  (外部链接)获取相同的信息。

在ERDDAP之上构建事物

ERDDAP中有许多功能可供您编写的计算机程序或脚本使用。您可以使用它们在ERDDAP之上构建其他 Web 应用程序或 Web 服务,让ERDDAP完成大部分工作!因此,如果您有更好的ERDDAP数据接口或需要轻松访问数据的网页的想法,我们鼓励您构建自己的 Web 应用程序、Web 服务或网页并使用ERDDAP作为基础。您的系统可以从ERD的ERDDAP或其他ERDDAP安装中获取数据、图表和其他信息,或者您可以建立您自己的ERDDAP服务器,可以公开访问或仅供私人访问。

RESTful URL 请求

ERDDAP对用户界面信息(例如搜索结果)的请求使用 Web 的通用请求标准:通过HTTP GET  (外部链接)  (外部链接)发送的 URL &externalLinkHtml;。这与您在网页上填写表单并单击Submit时浏览器使用的机制相同。要使用HTTP GET ,您需要生成一个特殊格式的 URL(可能包含查询)并使用HTTP GET发送。您可以手动生成这些 URL 并将其输入到浏览器的地址文本字段中(例如,
https://coastwatch.pfeg.noaa.gov/erddap/zh-CN/search/index.json?page=1&itemsPerPage=1000&searchFor=temperature
或者,您可以编写计算机程序或网页脚本来创建 URL、发送它并获取响应。之所以选择通过HTTP GET URL,是因为

百分比编码

在 URL 中,有些字符是不允许的(例如空格),而其他字符则具有特殊含义(例如,查询中的“&”用于分隔键=值对)。当您在网页上填写表单并点击提交时,您的浏览器会自动对 URL 中的特殊字符进行百分比编码 (外部链接) (例如,空格变为 %20),例如,
https://coastwatch.pfeg.noaa.gov/erddap/zh-CN/search/index.html?page=1&itemsPerPage=1000&searchFor=temperature%20wind%20speed
但是如果您的计算机程序或脚本生成 URL,则它可能需要自己进行百分比编码。 如果是这样,那么查询值中除 A-Za-z0-9_-!.~'()* 之外的所有字符( '='符号后面的部分)可能需要编码为 %HH,其中 HH 是字符的 2 位十六进制值,例如,空格变为 %20。 #127 以上的字符必须转换为 UTF-8 字节,然后每个 UTF-8 字节都必须进行百分比编码(向程序员寻求帮助)。 编程语言具有执行此操作的工具(例如,参见Java的java.net.URLEncoder  (外部链接)和Java Script 的encodeURIComponent()  (外部链接) ),并且有些网站可以为您进行百分比编码/解码 (外部链接)

响应文件类型

尽管使用浏览器的人希望以 HTML 文档的ERDDAP接收用户界面结果(例如搜索结果),但计算机程序通常更喜欢以简单、易于解析、不太冗长的文档形式获取结果。ERDDAP 可以将用户界面结果作为数据表返回,这些文件类型常见且对计算机程序友好: 在每个结果表格式中(除了.jsonlKVP ,其中列名在每一行上):

这些纯文件类型中的内容也与 .html 响应略有不同——它故意被设计得非常简洁,以便计算机程序更容易使用。

响应的一致数据结构
本页描述的所有用户界面服务都可以返回上面列出的任何常见文件格式的数据表。希望您可以编写一个过程来解析其中一种格式的数据表。然后您可以重复使用该过程来解析来自任何这些服务的响应。这应该会使处理ERDDAP变得更容易。

.csv和.tsv详细信息

jsonp
通过在查询末尾添加“& .json p= functionName ”,现在.json文件的请求可以包含可选的jsonp  (外部链接)请求。基本上,这会告诉ERDDAP在响应的开头添加“ functionName (” 并在响应的末尾添加“)”。 functionName的第一个字符必须是 ISO 8859 字母或“_”。每个可选的后续字符必须是 ISO 8859 字母、“_”、数字或“。”。如果最初没有查询,请在查询中省略“&”。

griddap 和tabledap提供不同的文件类型
上面列出的文件类型是ERDDAP可用于响应用户界面类型的请求(例如,搜索请求)的文件类型ERDDAP支持一组不同的文件类型用于科学数据(例如,卫星和浮标数据)请求(请参阅griddaptabledap文档)。

请求压缩文件

ERDDAP不提供存储在压缩文件(例如.zip或.gzip )中的结果。相反, ERDDAP会在客户端发送的HTTP GET请求标头中查找accept-encoding  (外部链接)如果在 accept-encoding 列表中找到了受支持的压缩类型( gzip 、 x-gzip或deflate ), ERDDAP会在 HTTP 响应标头中包含“content‑encoding”,并在传输数据时对其进行压缩。客户端程序负责查找content-encoding并相应地解压缩数据。请求压缩是可选的,但压缩响应通常要快 3-10 倍,因此如果您要下载大量大文件,这将节省大量时间。(请注意,请求压缩的 .png 文件没有任何好处,因为文件的内容已经压缩。)

ERDDAP服务的访问 URL

ERDDAP具有以下计算机程序的 URL 访问点: 如果您对更多链接有建议,请联系erd dot data at noaa dot gov

在Java程序中使用ERDDAP作为数据源

如上所述,由于Java程序可以访问网络上可用的数据,因此您可以编写一个Java程序来访问任何可公开访问的ERDDAP安装中的数据。

或者,由于ERDDAP是一个全开源程序,您也可以在自己的服务器(可公开访问或不可公开访问)上设置自己的ERDDAP副本,以提供自己的数据。您的Java程序可以从该ERDDAP副本中获取数据。请参阅设置您自己的ERDDAP

登录以访问私人数据集。

许多ERDDAP安装未启用身份验证,因此不为用户提供任何登录方式,也没有任何私人数据集。

某些ERDDAP安装确实启用了身份验证。目前, ERDDAP仅支持通过 Google 管理的电子邮件帐户进行身份验证,其中包括NOAA和许多大学的电子邮件帐户。如果ERDDAP启用了身份验证,则任何拥有 Google 管理的电子邮件帐户的人都可以登录,但他们只能访问ERDDAP管理员明确授权他们访问的私有数据集。有关从浏览器或通过脚本登录ERDDAP的说明,请参阅访问ERDDAP中的私有数据集

ERDDAP版本

如果要在远程ERDDAP上使用新功能,可以通过发送请求来确定ERDDAP的版本号,以了解新功能是否可用,例如,
https://coastwatch.pfeg.noaa.gov/erddap/zh-CN/version
ERDDAP将发送带有ERDDAP ERDDAP号的文本响应。例如:
ERDDAP_version=2.26
如果收到HTTP 404 Not-Found错误消息,请将ERDDAP视为版本 1.22 或更低版本。

或者,您可以请求 version_string,其中可能包含其他信息。例如,
https://coastwatch.pfeg.noaa.gov/erddap/zh-CN/version_string
ERDDAP将发送一个文本响应,其中包含该ERDDAP的ERDDAP version_string。它将是一个浮点数(版本号),带有可选后缀“_”以及附加 ASCII 文本(无空格或控制字符)。例如:
ERDDAP_version_string=2.26_JohnsFork
如果收到HTTP 404 Not-Found错误消息,请将ERDDAP视为版本 1.80 或更低版本。


 
Translated by Google ?
ERDDAP ,版本2.26
免责声明|隐私政策|联系方式