Skip to content

Commit 54b0e37

Browse files
committed
replaced bety options w/ options()
reformatting code per personal preference
1 parent 601a811 commit 54b0e37

1 file changed

Lines changed: 33 additions & 38 deletions

File tree

traits/03-maricopa-field-scanner.Rmd

Lines changed: 33 additions & 38 deletions
Original file line numberDiff line numberDiff line change
@@ -16,8 +16,9 @@ library(sp) # for implicitly called rbind.SpatialPolygons method
1616
library(leaflet)
1717
1818
19-
betyurl <- "https://terraref.ncsa.illinois.edu/bety/"
20-
betykey <- "9999999999999999999999999999999999999999"
19+
options(betydb_key = readLines('~/.betykey', warn = FALSE),
20+
betydb_url = "https://terraref.ncsa.illinois.edu/bety/",
21+
betydb_api_version = 'beta')
2122
```
2223

2324

@@ -29,9 +30,7 @@ query sites for season 2
2930
```{r}
3031
sites <- betydb_query(
3132
table = "sites",
32-
city = "Maricopa", sitename = "~Season 2 range",
33-
limit = "none",
34-
betyurl = betyurl, key = betykey, api_version = "beta")
33+
city = "Maricopa", sitename = "~Season 2 range", limit = "none")
3534
```
3635

3736
plot polygons on a map
@@ -49,33 +48,27 @@ leaflet() %>% addTiles() %>% addPolygons(data=site_bounds)
4948
## Cultivars
5049

5150
```{r}
52-
cultivars <- (
53-
betydb_query(
54-
table = "cultivars", limit = "none",
55-
betyurl = betyurl, key = betykey, api_version = "beta")
56-
%>% rename(cultivar_id = id))
57-
58-
cultivars_traits <- (cultivars
59-
%>% group_by(cultivar_id)
60-
%>% do(trait_id = betydb_record(
61-
id = .$cultivar_id, table = "cultivars",
62-
betyurl = betyurl, key = betykey, api_version = "beta"
63-
)$traits$trait.id)
64-
%>% unnest())
65-
66-
sites_traits <- (sites
67-
%>% group_by(id)
68-
%>% do(trait_id = betydb_record(
69-
id = .$id, table = "sites",
70-
betyurl = betyurl, key = betykey, api_version = "beta"
71-
)$traits$trait.id)
72-
%>% unnest())
73-
74-
sites <- (sites
75-
%>% left_join(sites_traits, by = "id")
76-
%>% left_join(cultivars_traits, by = "trait_id")
77-
%>% left_join(cultivars, by = "cultivar_id")
78-
%>% unique())
51+
cultivars <- betydb_query(
52+
table = "cultivars", limit = "none") %>%
53+
rename(cultivar_id = id)
54+
55+
cultivars_traits <- cultivars %>%
56+
group_by(cultivar_id) %>%
57+
do(trait_id = betydb_record(id = .$cultivar_id, table = "cultivars"
58+
)$traits$trait.id) %>%
59+
unnest()
60+
61+
sites_traits <- sites %>%
62+
group_by(id) %>%
63+
do(trait_id = betydb_record(id = .$id, table = "sites"
64+
)$traits$trait.id) %>%
65+
unnest()
66+
67+
sites <- sites %>%
68+
left_join(sites_traits, by = "id") %>%
69+
left_join(cultivars_traits, by = "trait_id") %>%
70+
left_join(cultivars, by = "cultivar_id") %>%
71+
unique()
7972
8073
```
8174

@@ -86,23 +79,25 @@ First look up variables by name. Let's look for measurements related to canopy s
8679

8780
```{r}
8881
variables <- betydb_query(
89-
table = "variables", name = "~^(NDVI|canopy_height|canopy_cover|)$",
90-
betyurl = betyurl, key = betykey, api_version = "beta")
82+
table = "variables", name = "~^(NDVI|canopy_height|canopy_cover|)$")
9183
92-
variables %>% select(id, name, units, n_records = `number of associated traits`)
84+
variables %>%
85+
select(id, name, units, n_records = `number of associated traits`)
9386
```
9487

9588
Exercise: Why are there two variables named canopy_height, and what database fields should you examine to decide which one you want?
9689

9790
Now retrieve all available measurements for each variable.
9891

9992
```{r}
93+
traits <- list()
94+
for(var in variables$name){
95+
traits[[var]] <- betydb_record(name = var, table = "variables")
96+
}
10097
vars_measures <- (variables
10198
%>% group_by(id, name)
10299
%>% do(traits = betydb_record( # Get full trait list by variable ID
103-
id = .$id, table = "variables",
104-
betyurl = betyurl, key=betykey, api_version = "beta"
105-
)$traits))
100+
id = .$id, table = "variables")$traits))
106101
107102
# Only needed if some variables may contain zero traits
108103
# If none are empty, can just do `vars_measures %>% unnest()`

0 commit comments

Comments
 (0)