我有latitude
,longitude
和date
。
问:有没有一种简单的方法可以从那里获得最近的air_temperature
测量结果?
data$air_temperature = fetch_nearest_parameter(latitude = lat, longitude = lon, date = mydate, parameter = "air_temperature")
解决该任务的一个很棒的辅助函数是:选择最近的lat / long站点,在我给定的日期提供air_temperature。
这是我最近的尝试(不是真的有效)如下。 第1步:选择最近的50个站 第2步:对于所有这些,尝试在我给定的日期抓住air_temperature。 第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)) })