4

我正在使用 NWS REST API 作为我正在制作的应用程序的天气服务。我最初不愿意使用 NWS,因为它的文档很糟糕,但我无法抗拒,因为它是完全免费提供的。

现在我正在尝试使用它,我遇到了一些困难。当请求多天时,最低温度会在几天内显示为零。

(编辑:当我更多地测试 API 时,我发现最低温度并不总是为零。它可以是最高温度或降水,它似乎完全随机。如果您想使用他们的网络界面,你可以在这里这样做:http: //graphical.weather.gov/xml/sample_products/browser_interface/ndfdBrowserByDay.htm

在这里: http: //graphical.weather.gov/xml/sample_products/browser_interface/ndfdXML.htm

以下是最低温度为空的请求示例:http ://graphical.weather.gov/xml/sample_products/browser_interface/ndfdBrowserClientByDay.php?listLatLon=40.863235,-73.714780&format=24%20hourly&numDays=7

令人惊讶的是,在他们的网站上,可以找到最低温度:http: //forecast.weather.gov/MapClick.php?textField1=40.83& textField2=-73.70

您会在“最低温度”下看到它填充了大约 5 个(有时更少,它是不一致的)空白字段,上面写着<value xsi:nil="true"/>

如果有人可以帮助我,我将不胜感激,使用 NWS API 有时会有点不知所措。

谢谢,

4

1 回答 1

3

根据我对文档的理解,这里这里的 nil 值只是表明数据不可用。

在不对 NOAA 的数据架构做出假设的情况下,可以想象通过 API 提供的信息可能与其网站显示的不同。

缺失值由空元素和 xsi:nil=”true” (R2.2.1) 表示。

返回的 Nil 值似乎涉及时间段。请注意这些请求中1time-layout中的键(参见第 5.3.2 节)之间的区别:

数据时间不同。

<layout-key>元素

密钥是使用以下约定派生的:

  1. “k”代表键。
  2. “p24h”表示数据周期长度为 24 小时。
  3. “n7”表示数据次数为7。
  4. “1”是用于保持布局键唯一的序列号。

这里,startDate是因素。将其关闭需要更多时间,并且可能会导致某些请求的数据尚不可用。

根据文档:

您需要 NDFD 数据的开始日期。如果字符串为空,则假定开始日期是数据库中最早的可用日期仅当想要缩短要检索数据的时间窗口(小于整个 7 天)时才需要此输入,例如,如果用户想要第 2-5 天的数据。

我没有遇到你提到的随机性。NOAA的 Yahoo! 组论坛也许可以告诉你更多。

于 2012-10-25T07:12:39.687 回答