国家气象服务(NOAA)REST API对于预测参数返回nil

时间:2012-10-13 13:57:56

标签: ios xml weather weather-api noaa

我正在使用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有时会有点压倒性。

谢谢,

1 个答案:

答案 0 :(得分:3)

根据我对文档herehere的理解,nil值只表示数据不可用。

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

  

缺少的值由空元素表示,xsi:nil =“true”(R2.2.1)。

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

数据时间不同。

  

<layout-key>元素

     

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

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

此处,startDate是因素。离开它包括更多的时间,并可能解释一些尚未提供的请求数据。

每份文件:

  

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

我没有体验到你提到的随机性。 NOAA's Yahoo! Groups forum上的人可能会告诉你更多信息。