国家气象局 (NOAA) REST API 对于预报参数返回 nil

Kyl*_*uth 5 xml weather noaa weather-api ios

我正在使用 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

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

\n

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

\n
\n

缺失值由空元素和 xsi:nil=\xe2\x80\x9dtrue\xe2\x80\x9d (R2.2.1) 表示。

\n
\n

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

\n\n

数据时间不同。

\n
\n

<layout-key>元素

\n

密钥是使用以下约定导出的:

\n
    \n
  1. \xe2\x80\x9ck\xe2\x80\x9d 代表密钥。
  2. \n
  3. \xe2\x80\x9cp24h\xe2\x80\x9d 表示数据周期长度为 24 小时。
  4. \n
  5. \xe2\x80\x9cn7\xe2\x80\x9d 表示数据次数为 7。
  6. \n
  7. \xe2\x80\x9c1\xe2\x80\x9d 是用于保持布局键唯一的序列号。
  8. \n
\n
\n

这里,startDate就是因素。关闭它会花费更多时间,并且可能会导致某些请求的数据尚不可用。

\n

根据文档:

\n
\n

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

\n
\n

我没有经历你提到的随机性。NOAA 雅虎的工作人员!团体论坛也许可以告诉您更多信息。

\n