I went on a quick overnight to a spring fed creek above 8000 feet on Mount Shasta. I noticed these interesting flowers that I have never seen before. They reminded me of something that Dr. Suess would have illustrated in his various children’s books. After searching the internet with no luck I finally needed rely on some California Botany experts to help with the ID: Anemone occidentalis. The hair-like calyx tissue on top of each ovary are what give this plant it’s unique look once reproductively mature. These are similar structures to white dandelion heads and aid in seed dispersal via wind.

Load the libraries.

library(tidyverse)
library(rgbif)
library(gpx)

Make the large Northern California polygon to look for observations in GBIF.

norcal_geometry <- paste('POLYGON((-124.4323 42.0021, -121.5045 42.0021, -121.5045 40.194, -124.4323 40.194, -124.4323 42.0021))')

dr_suess <- occ_data(scientificName = "Anemone occidentalis", hasCoordinate = TRUE, limit = 1000,
                   geometry = norcal_geometry)
# length(dr_suess)
head(dr_suess)
## $meta
## $meta$offset
## [1] 0
## 
## $meta$limit
## [1] 300
## 
## $meta$endOfRecords
## [1] TRUE
## 
## $meta$count
## [1] 41
## 
## 
## $data
## # A tibble: 41 × 112
##    key        scientificName  decimalLatitude decimalLongitude issues datasetKey
##    <chr>      <chr>                     <dbl>            <dbl> <chr>  <chr>     
##  1 899744820  Anemone occide…            41.6            -123. colma… 7a2660bc-…
##  2 2417975310 Anemone occide…            40.5            -122. cdrep… ae33dc82-…
##  3 2982055079 Anemone occide…            41.2            -123. cdrou… 6958627a-…
##  4 3320762840 Anemone occide…            41.2            -123. gass8… 677aece2-…
##  5 3320797832 Anemone occide…            41.5            -122. gass8… 677aece2-…
##  6 3320792153 Anemone occide…            41.5            -123. gass8… 677aece2-…
##  7 2982018718 Anemone occide…            41.6            -123. gass8… 6958627a-…
##  8 2982054706 Anemone occide…            41.8            -124. colma… 6958627a-…
##  9 2430340130 Anemone occide…            41.5            -123. gass8… 9781ce05-…
## 10 2982048257 Anemone occide…            41.5            -123. colma… 6958627a-…
## # … with 31 more rows, and 106 more variables: publishingOrgKey <chr>,
## #   networkKeys <list>, installationKey <chr>, publishingCountry <chr>,
## #   protocol <chr>, lastCrawled <chr>, lastParsed <chr>, crawlId <int>,
## #   hostingOrganizationKey <chr>, basisOfRecord <chr>, occurrenceStatus <chr>,
## #   taxonKey <int>, kingdomKey <int>, phylumKey <int>, classKey <int>,
## #   orderKey <int>, familyKey <int>, genusKey <int>, speciesKey <int>,
## #   acceptedTaxonKey <int>, acceptedScientificName <chr>, kingdom <chr>, …

Quick map of observations in Northern California. There are a few observations across the general bioregion I live near, but none on the hike I went on.

dr_suess_coords <- dr_suess$data[ , c("decimalLongitude", "decimalLatitude", "occurrenceStatus", "coordinateUncertaintyInMeters", "institutionCode", "references")]

maps::map(database = "state", region = "california")
points(dr_suess_coords[ , c("decimalLongitude", "decimalLatitude")], pch = ".", col = "red", cex = 3)

Pull in my hike data using the gpx R library and subset the route to make plotting easier.

hike <-  read_gpx('../../../static/data/mount_shasta_hiking.gpx')
hike1 <- as.data.frame(hike$routes)

Overlay the hiking data and the image/observation coordinates as a triangle.

hike_plot2 <- ggplot() +
          coord_quickmap() +
          geom_point(data = hike1, aes(x = Longitude, y = Latitude), color = 'black') +
          geom_point(aes(x = -122.19, y = 41.36325), pch=25, size= 5, colour="purple") +
          xlab("Longitude") + ylab("Latitude")
hike_plot2