从NOAA Weather API获取露点和湿度

时间:2016-08-17 11:18:17

标签: python-2.7 noaa

我能够获得TMAX,TMIN,AWND(风速)等值。无法找到如何从API获得露点,湿度和压力

http://www.ncdc.noaa.gov/cdo-web/webservices/v2

我使用Python来获取历史数据。

任何人都可以在这方面指导我。

由于

1 个答案:

答案 0 :(得分:0)

运行此请求 URL =' http://www.ncdc.noaa.gov/cdo-web/api/v2/datatypes?limit=1000' 然后在结果完成时搜索DEW

id:HLY-DEWP-10PCTL maxdate:2010-12-31 datacoverage:1 名称:露点10% 记住:2010-01-01 id:HLY-DEWP-90PCTL maxdate:2010-12-31 datacoverage:1 名称:露点90% 记住:2010-01-01 id:HLY-DEWP-NORMAL maxdate:2010-12-31 datacoverage:1 名称:露点均值 记住:2010-01-01 id:HLY-HIDX-NORMAL maxdate:2010-12-31 datacoverage:1 名称:热指数均值 记住:2010-01-01 id:HLY-HTDH-NORMAL

然后运行,据我所知.. DEW点存储在NORMAL_HRL中 url =' http://www.ncdc.noaa.gov/cdo-web/api/v2/datasets?datatypeid=HLY-DEWP-10PCTL' id:NORMAL_HRL,name:Normals Hourly

这也有效......但是? URL =' http://www.ncdc.noaa.gov/cdo-web/api/v2/datatypes/HLY-DEWP-10PCTL'

返回所有DEW站。需要将其细化到1站,返回28000条记录 URL =' http://www.ncdc.noaa.gov/cdo-web/api/v2/locations?datatypeid=HLY-DEWP-10PCTL'

不是一个完美的答案,但这应该可以让你到达某个地方

这里有一些Python代码

import requests, json
def dumpclean(obj):
 if type(obj) == dict:
    for k, v in obj.items():
        if hasattr(v, '__iter__'):
           print k
           dumpclean(v)
        else:
          print '%s : %s' % (k, v)
 elif type(obj) == list:
    for v in obj:
        if hasattr(v, '__iter__'):
            dumpclean(v)
        else:
            print v
 else:
    print obj


#url ='http://www.ncdc.noaa.gov/cdo-web/api/v2/data?     limit=726&datasetid=GHCND&stationid=GHCND:USC00350694&units=standard&startdate=201 6-10-31&enddate=2016-10-31&datatypeid=TMAX&datatypeid=TMIN'
url='http://www.ncdc.noaa.gov/cdo-web/api/v2/datacategories'
#url='http://www.ncdc.noaa.gov/cdo-web/api/v2/datacategories/LAND'
#url='http://www.ncdc.noaa.gov/cdo-web/api/v2/datatypes?datacategoryid=HYDROMETEOR&limit=100'
#url='http://www.ncdc.noaa.gov/cdo-web/api/v2/datatypes?limit=10'
#url='http://www.ncdc.noaa.gov/cdo-web/api/v2/data?  datasetid=PRECIP_15&stationid=COOP:010008&units=metric&startdate=2010-05-01&enddate=2010-05-31'
#url= 'http://www.ncdc.noaa.gov/cdo-web/api/v2/datasets?datatypeid=HLY-DEWP-10PCTL'
#url='http://www.ncdc.noaa.gov/cdo-web/api/v2/datatypes/HLY-DEWP-10PCTL'
#url='http://www.ncdc.noaa.gov/cdo-web/api/v2/data?datasetid=GHCND&locationid=ZIP:28801&startdate=2010-05-01&enddate=2010-05-01'
url='http://www.ncdc.noaa.gov/cdo-web/api/v2/stations/COOP:010008'

headers = {'token': 'YOURCODEKEY'}
response = requests.get(url, headers = headers)
json_data = json.loads(response.text)
#print str(json_data)
obj = response.json()
dumpclean(obj)