R: получить ближайшее измерение температуры воздуха для данного места / даты

У меня есть latitude, longitude и date,

Q: Есть ли простой способ получить ближайший air_temperature измерение оттуда?

data$air_temperature = fetch_nearest_parameter(latitude = lat, longitude = lon, date = mydate, parameter = "air_temperature")

Отличная вспомогательная функция для решения этой задачи: выбрать ближайшую станцию ​​на широте / долготе, которая предлагает температуру воздуха на мою дату.

Это моя последняя попытка (на самом деле не работает) заключается в следующем. Шаг 1: выберите 50 ближайших станций. Шаг 2: для всех из них, попробуйте получить значение air_teuration на мою дату. Шаг 3: надеемся, что найдется хотя бы 1 совпадение, а затем воспользуйтесь этим. Проблема с этим подходом: на шаге 3 не бывает ни одного совпадения.

lat_lon_df <- data.frame(id = c("1"),
                         latitude = c(-33.8675),
                         longitude = c(151.2070))


# fetch 50 nearest stations
nearby_stations <- meteo_nearby_stations(lat_lon_df = lat_lon_df, limit=50,  var = c("TMAX"), 
                                          station_data = station_data, year_min=2000, year_max=2017)
ns <- do.call(rbind, lapply(nearby_stations, data.frame, stringsAsFactors=FALSE))

mydate = 20160503
# check all 50 stations for air_temperature at my given date
# the column 'xxx' always ends up being filled 100 % with NAs
ns$xxx = lapply(ns$id, function(x) { return(tryCatch(coops_search(station_name = x, begin_date=mydate, end_date=mydate, product="air_temperature"), error=function(e) NA)) })

0 ответов

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