如何通过Web服务获取当前天气

时间:2010-03-17 17:47:30

标签: c# web-services time-series weather

我试图通过邮政编码或一组纬度/经度坐标来获取当前天气。看来这样做的最佳实践(以及NOAA如何做到这一点)就是获取气象站的XML提要。

实施例:     http://www.weather.gov/xml/current_obs/KEDW.xml

唯一的问题是NOAA没有提供一个很好的方法来找到最近的气象站给定邮政编码或坐标,我没有看到任何托管的Web服务将提供这种映射。

有没有人知道任何网络服务,以获得邮政编码或坐标输入最近的气象站?如果没有,有没有人有任何伟大的解决方案来提供类似的信息,如NOAA,但接受邮政编码或坐标?

3 个答案:

答案 0 :(得分:3)

有许多天气API可根据邮政编码查找天气,或找到最近的邮政编码。请参阅this question

国家气象服务有REST API。邮编的CTRL + F:

  

一个或多个Zipcodes的汇总数据:返回一个或多个邮政编码(50美国和波多黎各)的DWML编码的NDFD数据。

Here is a sample request


我不确定那个是否有现状。如果没有,您可以使用Wunderground API。首先,您使用GeolookupXML根据城市查找附近的气象站(请参阅示例输出中的nearby_weather_stations元素),然后您可以使用WXCurrentObXML来获取其中一个气象站。

答案 1 :(得分:2)

需要进行一些搜索,但NOAA会保留所有METAR气象站的列表,包括其纬度和经度坐标,以及指向其RSS和XML Feed网址的直接链接。该列表以XML格式存储在此处:http://www.weather.gov/xml/current_obs/index.xml

您可以使用Google或Yahoo的地理编码API查找地名的纬度/经度(城市,地址,邮政编码等),然后在气象站列表中搜索距离指定位置最近的METAR电台。

答案 2 :(得分:0)

我尝试了你的链接而不是City,Street输入了我的邮政编码。它返回了正确的位置和天气预报。它可能只是一个记录不完整的API,而用5位数字拉链替换的城市/街道参数确实会做你想要的。