如何使用 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 获取任何给定地址的坐标?