雅虎天气API 3天预测湿度值

时间:2014-04-02 12:09:13

标签: api weather weather-api yahoo-weather-api

我正在构建一个网络应用程序,它使用Yahoo Weather API根据用户提供的邮政编码提供天气信息。

我知道为了在特定天数内获取此数据,我必须将其作为参数添加到我的请求中,如下所示:

http://weather.yahooapis.com/forecastrss?p=33035&u=c&d=3

这给出了这个结果:

<channel>
....
<yweather:location city="Homestead" region="FL" country="US"/>
<yweather:units temperature="C" distance="km" pressure="mb" speed="km/h"/>
<yweather:wind chill="19" direction="90" speed="11.27"/>
<yweather:atmosphere humidity="78" visibility="16.09" pressure="1021" rising="1"/>
<yweather:astronomy sunrise="7:12 am" sunset="7:36 pm"/>
...
<item>
...
<yweather:forecast day="Wed" date="2 Apr 2014" low="19" high="28" text="Mostly Sunny" code="34"/>
<yweather:forecast day="Thu" date="3 Apr 2014" low="21" high="29" text="Partly Cloudy" code="30"/>
<yweather:forecast day="Fri" date="4 Apr 2014" low="20" high="28" text="Partly Cloudy" code="30"/>
<guid isPermaLink="false">USFL0208_2014_04_04_7_00_EDT</guid>
</item>
</channel>

然而,我需要能够在预测中获得天的湿度水平,而不仅仅是当前的湿度水平。我试图在这里找到解决方案并阅读Yahoo API文档,但它确实很简短。

我还试过了http://www.myweather2.com/http://developer.worldweatheronline.com/,但它们在湿度方面也有同样的问题 - 它仅在当天显示,并且从整个预测中删除。< / p>

我会继续尝试其他免费的天气API,但如果你能在这里提供帮助,我将非常感激。

1 个答案:

答案 0 :(得分:1)

我花了一些时间研究比雅虎更好的API? Weather API和我发现了一些对我有用的东西,所以我决定分享这些信息,以防有人在某一天碰到这个。

Forecast API的第2版看起来是一个很好的解决方案,因为它提供了详细信息,更具体地说是预测中每天的湿度指数,这正是我首先要寻找的。 此API还有许多库(语言包括PHP,Node.js,Python,Perl等)。

它适用于经度和纬度,如本例所示

https://api.forecast.io/forecast/APIKEY/LATITUDE,LONGITUDE,TIME

当然需要注册API密钥。
TIME 参数是可选的,默认情况下,温度使用华氏度指标,但可以使用其他?units=ca参数进行更改。

一个缺点是,您每天只能获得1,000次免费通话,这可能不适合大型应用。

如果您对原始问题有更好的答案,我会很高兴听到它。在那之前,我将使用这个解决方案,而不需要详细介绍:

// The default result from a Forecast API call is in JSON,
// so decode it to an object for easier access
$fcObj = json_decode($jsonResult);

if(!empty($fcObj->daily->data[0]->humidity)) {

    // get humidity value in %
    $humidty = $fcObj->daily->data[0]->humidity * 100;

}