【问题标题】:How to use the NOAA API to query past weather data for a given set of coordinates如何使用 NOAA API 查询给定坐标集的过去天气数据
【发布时间】:2013-09-20 15:42:27
【问题描述】:

我正在尝试使用纬度和经度坐标检索过去的 NOAA 数据。我对温度、风速、云量和降水等变量的历史时间序列和年度总结都很感兴趣。

EX: 2008-02-20 13:00 in (25.033972, 121.564493)

我希望自动化流程,为 900,000 多个地点实现这一目标。有任何想法吗?理想情况下,此脚本将使用 R 或 Python 编写。

【问题讨论】:

标签: python r weather-api noaa


【解决方案1】:
  1. 找出包含您想要(或多个)信息的endpoint/dataset
  2. 将纬度/经度转换为邮政编码
  3. 找到邮政编码here的正确车站
  4. 对于每个端点,提取每个位置的数据。
  5. ???
  6. 利润???

【讨论】:

    【解决方案2】:

    NOAA 现在推出了第二版 NOAA Web API。 API 很有用,因为您基本上可以使用 requests 和 python dict 的参数来描述您想要的内容来查询 Web 服务。 @Cravden 做了一个很好的课程,可以让你开始使用 GitHub。 NOAA 有 nice documentation 描述您可以获得什么以及如何获得(您需要给他们和电子邮件以获取访问令牌)。 Other 气候数据聚合器也做这种事情。
    像这样简单的事情可能会让您入门:

    import requests
    
    
    def get_noaa_data(url, data_type, header):
    
        r = requests.get(url, data_type, headers=header)
        print(r)
    
    
    if __name__ == '__main__':
    
        token = 'gotowebsitetorequesttoken'
        creds = dict(token=token)
        dtype = 'dataset'
        url = 'https://www.ncdc.noaa.gov/cdo-web/api/v2/'
    
        get_noaa_data(url, dtype, creds)
    

    如果您要去数千个地方,您可以考虑下载网格数据,制作点的 shapefile,然后像 here 那样将栅格值提取到属性表中。

    【讨论】:

      猜你喜欢
      • 2011-12-09
      • 2013-12-15
      • 2018-10-04
      • 2020-11-25
      • 2013-11-27
      • 1970-01-01
      • 2021-04-06
      • 2014-03-31
      • 2011-04-25
      相关资源
      最近更新 更多