Ежедневное извлечение погоды 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
Вы получаете данные для всех типов данных.