如何使用NOAA API查询给定坐标集的过去天气数据

时间:2013-09-16 13:09:40

标签: python r weather-api noaa

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

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

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

2 个答案:

答案 0 :(得分:8)

  1. 找出包含您想要的信息(或多个信息)的endpoint/dataset
  2. 将lat / long转换为邮政编码
  3. 找到邮政编码here
  4. 的正确电台
  5. 对于每个端点,请为每个位置提取数据。
  6. ???
  7. 利润???
  8. 如果您正在寻找某人为您编写代码,我(和许多其他人一样)可以自由工作。

答案 1 :(得分:4)

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