Ежедневное извлечение погоды NOAA

Я действительно новичок в R и пытаюсь использовать rnoaa для извлечения информации.

У меня есть набор из двух дат:

  • 3-30 сентября 2013 г.
  • 3–31 декабря 2013 г.

и мне нужно извлечь ежедневные значения погоды для Анн-Арбор, Мичиган, Нью-Хейвен и Лос-Анджелес, Калифорния. У меня есть идентификатор станции для каждого из этих трех городов, и они: USC00200230, US090004, US060013, соответственно.

Может ли кто-нибудь помочь мне извлечь значения для ежедневной минимальной температуры, максимальной температуры, влажности, осадков и солнечного света?

Пока я только что смог получить доступ к базе данных:

library(rnoaa)  #get rnoaa from your R library to run
library(devtools)
options(noaakey= "mykey") 

Я знаю, что для получения информации мне нужно ввести что-то в следующем формате:

noaa(datasetid='NORMAL_DLY', stationid='putinstationidhere', datacategoryid="TEMP")

Я просто не знаком со схемой этой базы данных, так как я всегда использовал онлайн-версию, и я очень плохо знаком с программированием на R. Документация по этому вопросу также очень скудна, поэтому я надеюсь, что кто-то здесь знает, как правильно использовать rnoaa,

1 ответ

Решение

Вот моя попытка того, что вы просите.

Идентификаторы станции должны иметь префикс данных с двоеточием, поэтому GHCND:USC00200230 вместо USC00200230

Вы не можете передать datacategoryid ncdc функция. Смотрите документацию по API здесь

Например, получить данные об осадках:

out <- ncdc(datasetid='GHCND', datatypeid = 'PRCP', stationid='GHCND:USC00200230', startdate = "2013-09-03", enddate = "2013-09-30", limit=30)
head(out$data)

             station value attributes datatype                date
1  GHCND:USC00200230     0   ,,7,1800     PRCP 2013-09-03T00:00:00
2  GHCND:USC00200230     0   ,,7,1800     PRCP 2013-09-04T00:00:00
3  GHCND:USC00200230     0   ,,7,1800     PRCP 2013-09-05T00:00:00
4  GHCND:USC00200230     0   ,,7,1800     PRCP 2013-09-06T00:00:00
5  GHCND:USC00200230     8   ,,7,1800     PRCP 2013-09-07T00:00:00
6  GHCND:USC00200230     0   ,,7,1800     PRCP 2013-09-08T00:00:00    

Другой пример, получить минимальную температуру

out <- ncdc(datasetid='GHCND', datatypeid = 'TMIN', stationid='GHCND:USC00200230', startdate = "2013-09-03", enddate = "2013-09-30", limit=30)
head(out$data)

             station value attributes datatype                date
1  GHCND:USC00200230   139   ,,7,1800     TMIN 2013-09-03T00:00:00
2  GHCND:USC00200230   128   ,,7,1800     TMIN 2013-09-04T00:00:00
3  GHCND:USC00200230   111   ,,7,1800     TMIN 2013-09-05T00:00:00
4  GHCND:USC00200230    83   ,,7,1800     TMIN 2013-09-06T00:00:00
5  GHCND:USC00200230   139   ,,7,1800     TMIN 2013-09-07T00:00:00
6  GHCND:USC00200230   183   ,,7,1800     TMIN 2013-09-08T00:00:00

Если вы пропустите datatypeid Вы получаете данные для всех типов данных.

Другие вопросы по тегам