Usually when you use {nasapower} to fetch data, you use a vector of longitude and latitude locations to make requests from the API.
But if you have coordinates in a data frame, e.g. , sample locations with sampling dates that you want POWER weather data for, it may not be as intuitive.
Here’s a quick illustration how you can use a data frame object to feed into get_power()
and fetch relative humidity data that way using {purrr} and {dplyr} .
1
2
3
library ("nasapower" )
library ("purrr" )
library ("dplyr" )
Copy ##
## Attaching package: 'dplyr'
## The following objects are masked from 'package:stats':
##
## filter, lag
## The following objects are masked from 'package:base':
##
## intersect, setdiff, setequal, union
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
df <- data.frame (
stringsAsFactors = FALSE ,
lon = c (151.81 , 112.5 , 115.5 ),
lat = c (-27.48 , -55.5 , -50.5 ),
date = c ("3/3/2023" , "5/12/2023" , "1/3/2024" )
)
xy_list <-
as.list (as.data.frame (t (df[, 1 : 2 ]),
stringsAsFactors = FALSE ,
row.names = NA ))
bind_rows (
map2 (
.x = xy_list,
.y = df$ date,
.f = get_power,
community = "ag" ,
pars = "RH2M" ,
temporal_api = "daily" ,
)
)
Copy ## ────────────────────────────────────────────────────────────────────────────────
##
## ── NASA/POWER Source Native Resolution Daily Data ─────────────────────────────
## Dates (month/day/year): 03/03/2023 through 03/03/2023 in LST
## Location: latitude -27.48 longitude 151.81
## elevation from MERRA-2: Average for 0.5 x 0.625 degree lat/lon region = 442.77
## meters
## The value for missing source data that cannot be computed or is outside of the
## sources availability range: NA
## parameter(s):
## ────────────────────────────────────────────────────────────────────────────────
## Parameters:
## RH2M MERRA-2 Relative Humidity at 2 Meters (%)
## ────────────────────────────────────────────────────────────────────────────────
## # A tibble: 3 × 8
## LON LAT YEAR MM DD DOY YYYYMMDD RH2M
## <dbl> <dbl> <dbl> <int> <int> <int> <date> <dbl>
## 1 152. -27.5 2023 3 3 62 2023-03-03 64.6
## 2 112. -55.5 2023 12 5 339 2023-12-05 90.5
## 3 116. -50.5 2024 3 1 61 2024-03-01 85.6