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

Posted

技术标签:

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

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

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

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

【问题讨论】:

***.com/questions/2502340/… code.google.com/p/python-weather-api/wiki/Examples#NOAA bitbucket.org/btbytes/python-weather-api 【参考方案1】:
    找出包含您想要(或多个)信息的endpoint/dataset 将纬度/经度转换为邮政编码 找到邮政编码here的正确车站 对于每个端点,提取每个位置的数据。 ??? 利润???

【讨论】:

【参考方案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 那样将栅格值提取到属性表中。

【讨论】:

以上是关于如何使用 NOAA API 查询给定坐标集的过去天气数据的主要内容,如果未能解决你的问题,请参考以下文章

如何使用窗口函数获取每个日期值的今天、过去 7 天、过去 30 天的指标?

如何使用 CoreLocation 框架而不是谷歌地图 API 获取任何给定地址的坐标?

无法从 NOAA API 调用中获取数据

面对 Spark 上小数据集的大数据溢出

Spotify api 1.0.0 获取给定曲目集的播放列表的图像

获取查询集的当前 order_by 排序