R:获取给定位置/日期的最近空气温度测量值

时间:2017-07-19 17:19:50

标签: r noaa

我有latitudelongitudedate

问:有没有一种简单的方法可以从那里获得最近的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)) })

0 个答案:

没有答案