과거 원시 날씨 데이터는 어디에서 찾을 수 있습니까? [닫은]


80

미국과 캐나다에 중점을 둔 프로젝트의 과거 원시 날씨 데이터는 어디에서 찾을 수 있습니까? 나는 주로 온도가 필요하지만 다른 세부 사항은 좋을 것입니다. 이 데이터를 찾는 데 매우 어려움을 겪고 있습니다. 날씨 사이트를 긁어 내고 싶지 않습니다.


4
확인 forecast.io 당신이 사용하는 API에 매우 쉬운 히스토리 데이터뿐만 아니라 미래 예보를 얻을 수 있습니다
아이텍

답변:



59

저도이 같은 질문을하고 있다는 것을 알게되었고 향후 Google 직원들에게 제 경험을 공유 할 것입니다.

데이터 소스

나는 원시 데이터를 원했고 그 중 많은 것 ... API는 할 수 없습니다. 소스로 직접 가야했습니다. 모든 데이터에 대한 최상의 소스는 NCEP 또는 NCDC NOMADS 서버 인 것 같습니다.

http://nomads.ncdc.noaa.gov/dods/ <-과거 데이터에 적합
http://nomads.ncep.noaa.gov/dods/ <-최근 데이터에 적합

(참고 : 한 댓글 작성자가 http 대신 https를 사용해야한다고 말했습니다. 아직 테스트하지는 않았지만 문제가있는 경우 시도해보세요!)

데이터의 양에 대한 아이디어를 제공하기 위해 데이터는 1979 년까지 거슬러 올라갑니다! 캐나다와 미국을 찾고 있다면 북미 지역 재분석 데이터 세트가 가장 좋은 답일 것입니다.

데이터 사용

나는 큰 파이썬 사용자이고 pydap 또는 NetCDF 는 사용하기에 좋은 도구처럼 보였습니다. 특별한 이유없이 pydap을 가지고 놀기 시작했습니다.

nomads 웹 사이트에서 특정 위치에 대한 모든 온도 데이터를 얻는 방법에 대한 예제를 제공하려면 Python에서 다음을 시도하십시오.

from pydap.client import open_url

# setup the connection
url = 'http://nomads.ncdc.noaa.gov/dods/NCEP_NARR_DAILY/197901/197901/narr-a_221_197901dd_hh00_000'
modelconn = open_url(url)
tmp2m = modelconn['tmp2m']

# grab the data
lat_index = 200    # you could tie this to tmp2m.lat[:]
lon_index = 200    # you could tie this to tmp2m.lon[:]
print tmp2m.array[:,lat_index,lon_index] 

위의 스 니펫은 1979 년 1 월 전체 한 달 동안의 시계열 (3 시간마다) 데이터를 제공합니다! 여러 위치 또는 모든 달이 필요한 경우 위의 코드를 쉽게 수정할 수 있습니다.

슈퍼 데이터에 ... 그리고 그 이상!

나는 거기에서 멈추는 것이 행복하지 않았습니다. 저는이 데이터를 SQL 데이터베이스에 저장하여 쉽게 슬라이스하고 다듬을 수 있기를 원했습니다. 이 모든 작업을 수행하기위한 훌륭한 옵션은 파이썬 예측 모듈입니다.

공개 : 모듈 뒤에 코드를 모았습니다. 코드는 모두 오픈 소스입니다. 필요에 맞게 수정하거나 (아마도 화성에 대해 예측하고 있습니까?) 프로젝트에 대한 작은 조각을 가져올 수 있습니다.

내 목표는 Rapid Refresh 모델 에서 최신 예측을 가져올 수있는 것이 었습니다 (현재 날씨에 대한 정확한 정보를 원하는 경우 최선의 선택).

from forecasting import Model

rap = Model('rap')
rap.connect(database='weather', user='chef')
fields = ['tmp2m']
rap.transfer(fields)

그런 다음 좋은 'ole USA'의지도에 데이터를 플로팅합니다.

SQL의 데이터를 사용한 미국 온도의 히트 맵

플롯의 데이터는 SQL에서 직접 가져 왔으며 원하는 모든 유형의 데이터를 얻기 위해 쿼리를 쉽게 수정할 수 있습니다.

위의 예가 충분하지 않으면 더 많은 예를 찾을 수있는 설명서를 확인하세요.


1
과거 데이터 링크에는없는 2015 년 전체 날씨 데이터가 필요합니다. 201410에서 중지됩니다. 저에 대한 아이디어가 있습니까?
rjurney

첫 번째 코드 스 니펫에서 오는 모든 데이터는 9.999E20의 누락 된 값을 반환합니다. 내가 선택한 연도 또는 내가 선택한 위도 및 경도 지수에 관계없이. 어떤 아이디어?
Matias Grioni

간단한 팁 : 지금은 https 만 지원하는 것 같습니다. 예를 들어, 사용 URL = ' nomads.ncdc.noaa.gov/dods/NCEP_NARR_DAILY/197901/197901/... '
Junier

2
share my experience for future Googlers<-이 미래의 Google
직원

3
위의 링크는 액세스 할 수 없습니다
Anagha

1

wunderground.com에는 좋은 API가 있습니다. 하루 500 통화 무료입니다.

http://www.wunderground.com/weather/api/


47
과거 데이터는 포함되지 않습니다!
iTurki

1
@Rob 저는 wunderground.com과 관련이 없습니다. 도움이되지 않으면 답변에 투표하십시오.
Lance Fisher

4
사실 @iturki 죄송합니다. 다른 포스터가 잘못되었습니다. 날씨 지하 복용량에는 내가 찾을 수있는 유일한 역사적 투영 API가 있습니다 !!
Rob

1
@wilsotc 27C는 80F입니다. 캐나다의 모든 바보는 그것을 알았을 것입니다 :). 단위가 잘못 설정되었을 것입니다. 또한 보고서에 바람 냉각 이 포함 된 방송국을 방금 발견했을 수도 있습니다 . 확실히 말할 수는 없지만 25F는 냉기 범위 내에 있습니다. 알아두면 흥미로울 것입니다. 하지만 네, 동의합니다. WU는 이러한 불일치를 수정 /보고해야합니다.
aidan.plenert.macdonald

1
우리는 실제로 wunderground를 사용하고 있습니다 .... 불행히도 그들은 당신이 Weather Station을 호스팅하는 경우에만 API를 사용할 수 있다는 점에서 사용 약관을 변경했습니다. 그래서 대안을 연구하고 있습니다. 수년 동안 우리의 요구에 잘 맞았 기 때문에 wunderground에 +1.
Anthony Griggs 2019
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.