【问题标题】:How to Get Current Weather via Web Services [closed]如何通过 Web 服务获取当前天气 [关闭]
【发布时间】:2011-01-28 16:53:18
【问题描述】:

我正在尝试在给定邮政编码或一组纬度/经度坐标的情况下获取当前天气。执行此操作的最佳做​​法(以及 NOAA 的做法)似乎是获取气象站的 XML 提要。

示例: http://www.weather.gov/xml/current_obs/KEDW.xml

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

有没有人知道任何网络服务可以在给定邮政编码或坐标输入的情况下获取最近的气象站?如果没有,是否有人有任何很好的解决方案可以提供与 NOAA 类似的信息,但需要输入邮政编码或坐标?

【问题讨论】:

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


    【解决方案1】:

    有许多天气 API 可以根据邮政编码查找天气,或者查找最近的邮政编码。见this question

    国家气象局有一个REST API。 CTRL+F 邮政编码:

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

    Here is a sample request


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

    【讨论】:

    • 感谢第一个链接。我想我将使用一些 NWS REST 调用来获取预测并缓存该数据。目前,我将从 Wunderground 的 API 动态获取气象站标识符,并根据需要将它们存储在我们的数据库中,并根据城市、州、国家、邮政编码或经纬度对,我可以查找气象站标识符并调用 Wunderground 或 NOAA 传入标识符以进行快速调用以获取我需要的当前数据。
    【解决方案2】:

    经过一番搜索,NOAA 维护了一份所有 METAR 气象站的列表,包括它们的纬度和经度坐标,以及指向它们的 RSS 和 XML 提要 URL 的直接链接。该列表在此处以 XML 格式存储:http://www.weather.gov/xml/current_obs/index.xml

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

    【讨论】:

      【解决方案3】:

      我尝试了您的链接,但 Street 输入了我的邮政编码,而不是 City。它返回了正确的位置和天气报告。它可能只是一个记录不充分的 API,而用 5 位 zip 替换的城市/街道参数确实可以满足您的需求。

      【讨论】:

        猜你喜欢
        • 2014-06-28
        • 1970-01-01
        • 2011-04-08
        • 2011-03-17
        • 2013-03-03
        • 2014-09-01
        • 2011-10-19
        • 1970-01-01
        • 2010-09-11
        相关资源
        最近更新 更多