Araptus attenuatus the enigmatic Sonoran Desert Bark Beetle.

This homework is a bit quick but is designed to make sure that:

  1. To make sure everyone can get their computer up-to-date with the proper set of libraries so that we can work with geospatial data, and
  2. Give you some practice turning normal numerical data into geospatial coordinates and performing basic operations.

Spatial Libraries

The following code defines the set of necessary libraries for the next few weeks and then figures out which (potential) subset you need to install. It then installs them all in one call. It will not load them into your session, you’ll have to do that later in your code chunks.

needed_libraries <- c("sf",
                      "maps",
                      "units",
                      "rgdal",
                      "rgeos",
                      "GGally",
                      "raster",
                      "mapproj",
                      "leaflet",
                      "rnaturalearth",
                      "rnaturalearthdata"
                      )

# Determines which libraries you do not have
#   already installed.
need_inst <- setdiff( needed_libraries, 
                      rownames( installed.packages()) )

# Instrall the neccessary ones.
if( length( need_inst ) ) {
  install.packages( need_inst, dependencies = TRUE )
}

The Data - Preprocessing

The data for this is some site-level data from the Sonoran Desert bark beetle. The URL is in the next chunk, and is currently being hosted on my class Github repository. Load it in.

url <- \https://raw.githubusercontent.com/dyerlab/ENVS-Lectures/master/data/Araptus_Disperal_Bias.csv\

Interactive Map

Use the leaflet library and make an interactive map. If you can, add a label to each marker with the ID of the site. You can look at the provider tiles here and use on in the addProviderTiles() function.

There is a great tutorial here on how to customize the leaflet display. You may want to go look at it and see what you can use to make a better display.

# make leaflet map here

Converting to sf Objects

Convert the spatial data in the beetle data.frame into an sf object. Make sure you set the Coordinate Reference System to \(4326\).

# convert 

Questions

  1. How far apart (in km) are the sites Constitución (const) and San Francisquito (sfran)?

  2. Is there a correlation between habitat suitability and the ratio of males to female beetles?

  3. Make a plot using ggplot of the data with suitability as the size of the points and the sex ratio as the fill color.

  4. Reproject the data and plot it again using an EPSG code defined for Mexico UTM zone 12N.

LS0tCnRpdGxlOiAiU3BhdGlhbCBQb2ludHMgSG9tZXdvcmsiCm91dHB1dDogaHRtbF9ub3RlYm9vawotLS0KCjxjZW50ZXI+CiFbKkFyYXB0dXMgYXR0ZW51YXR1cyogdGhlIGVuaWdtYXRpYyBTb25vcmFuIERlc2VydCBCYXJrIEJlZXRsZS5dKGh0dHBzOi8vbGl2ZS5zdGF0aWNmbGlja3IuY29tLzY1NTM1LzUwNDQxMzM5NDE3Xzc0ZTA0MjE2ZmFfd19kLmpwZykKPC9jZW50ZXI+CgoKVGhpcyBob21ld29yayBpcyBhIGJpdCBxdWljayBidXQgaXMgZGVzaWduZWQgdG8gbWFrZSBzdXJlIHRoYXQ6CgoxLiBUbyBtYWtlIHN1cmUgZXZlcnlvbmUgY2FuIGdldCB0aGVpciBjb21wdXRlciB1cC10by1kYXRlIHdpdGggdGhlIHByb3BlciBzZXQgb2YgbGlicmFyaWVzIHNvIHRoYXQgd2UgY2FuIHdvcmsgd2l0aCBnZW9zcGF0aWFsIGRhdGEsIGFuZAoyLiBHaXZlIHlvdSBzb21lIHByYWN0aWNlIHR1cm5pbmcgbm9ybWFsIG51bWVyaWNhbCBkYXRhIGludG8gZ2Vvc3BhdGlhbCBjb29yZGluYXRlcyBhbmQgcGVyZm9ybWluZyBiYXNpYyBvcGVyYXRpb25zLgoKIyMgU3BhdGlhbCBMaWJyYXJpZXMKClRoZSBmb2xsb3dpbmcgY29kZSBkZWZpbmVzIHRoZSBzZXQgb2YgbmVjZXNzYXJ5IGxpYnJhcmllcyBmb3IgdGhlIG5leHQgZmV3IHdlZWtzIGFuZCB0aGVuIGZpZ3VyZXMgb3V0IHdoaWNoIChwb3RlbnRpYWwpIHN1YnNldCB5b3UgbmVlZCB0byBpbnN0YWxsLiBJdCB0aGVuIGluc3RhbGxzIHRoZW0gYWxsIGluIG9uZSBjYWxsLiAgSXQgd2lsbCBub3QgbG9hZCB0aGVtIGludG8geW91ciBzZXNzaW9uLCB5b3UnbGwgaGF2ZSB0byBkbyB0aGF0IGxhdGVyIGluIHlvdXIgY29kZSBjaHVua3MuCgpgYGB7cn0KbmVlZGVkX2xpYnJhcmllcyA8LSBjKCJzZiIsCiAgICAgICAgICAgICAgICAgICAgICAibWFwcyIsCiAgICAgICAgICAgICAgICAgICAgICAidW5pdHMiLAogICAgICAgICAgICAgICAgICAgICAgInJnZGFsIiwKICAgICAgICAgICAgICAgICAgICAgICJyZ2VvcyIsCiAgICAgICAgICAgICAgICAgICAgICAiR0dhbGx5IiwKICAgICAgICAgICAgICAgICAgICAgICJyYXN0ZXIiLAogICAgICAgICAgICAgICAgICAgICAgIm1hcHByb2oiLAogICAgICAgICAgICAgICAgICAgICAgImxlYWZsZXQiLAogICAgICAgICAgICAgICAgICAgICAgInJuYXR1cmFsZWFydGgiLAogICAgICAgICAgICAgICAgICAgICAgInJuYXR1cmFsZWFydGhkYXRhIgogICAgICAgICAgICAgICAgICAgICAgKQoKIyBEZXRlcm1pbmVzIHdoaWNoIGxpYnJhcmllcyB5b3UgZG8gbm90IGhhdmUKIyAgIGFscmVhZHkgaW5zdGFsbGVkLgpuZWVkX2luc3QgPC0gc2V0ZGlmZiggbmVlZGVkX2xpYnJhcmllcywgCiAgICAgICAgICAgICAgICAgICAgICByb3duYW1lcyggaW5zdGFsbGVkLnBhY2thZ2VzKCkpICkKCiMgSW5zdHJhbGwgdGhlIG5lY2Nlc3Nhcnkgb25lcy4KaWYoIGxlbmd0aCggbmVlZF9pbnN0ICkgKSB7CiAgaW5zdGFsbC5wYWNrYWdlcyggbmVlZF9pbnN0LCBkZXBlbmRlbmNpZXMgPSBUUlVFICkKfQpgYGAKCgoKIyMgVGhlIERhdGEgLSBQcmVwcm9jZXNzaW5nCgpUaGUgZGF0YSBmb3IgdGhpcyBpcyBzb21lIHNpdGUtbGV2ZWwgZGF0YSBmcm9tIHRoZSBTb25vcmFuIERlc2VydCBiYXJrIGJlZXRsZS4gIFRoZSBVUkwgaXMgaW4gdGhlIG5leHQgY2h1bmssIGFuZCBpcyBjdXJyZW50bHkgYmVpbmcgaG9zdGVkIG9uIG15IGNsYXNzIFtHaXRodWIgcmVwb3NpdG9yeV0oaHR0cHM6Ly9naXRodWIuY29tL2R5ZXJsYWIvRU5WUy1MZWN0dXJlcykuICBMb2FkIGl0IGluLgoKYGBge3J9CnVybCA8LSAiaHR0cHM6Ly9yYXcuZ2l0aHVidXNlcmNvbnRlbnQuY29tL2R5ZXJsYWIvRU5WUy1MZWN0dXJlcy9tYXN0ZXIvZGF0YS9BcmFwdHVzX0Rpc3BlcmFsX0JpYXMuY3N2IgpgYGAKCgojIyMgSW50ZXJhY3RpdmUgTWFwCgpVc2UgdGhlIGBsZWFmbGV0YCBsaWJyYXJ5IGFuZCBtYWtlIGFuIGludGVyYWN0aXZlIG1hcC4gIElmIHlvdSBjYW4sIGFkZCBhIGxhYmVsIHRvIGVhY2ggbWFya2VyIHdpdGggdGhlIElEIG9mIHRoZSBzaXRlLiAgWW91IGNhbiBsb29rIGF0IHRoZSBwcm92aWRlciB0aWxlcyBbaGVyZV0oaHR0cHM6Ly9sZWFmbGV0LWV4dHJhcy5naXRodWIuaW8vbGVhZmxldC1wcm92aWRlcnMvcHJldmlldy8pIGFuZCB1c2Ugb24gaW4gdGhlIGBhZGRQcm92aWRlclRpbGVzKClgIGZ1bmN0aW9uLiAKClRoZXJlIGlzIGEgZ3JlYXQgdHV0b3JpYWwgW2hlcmVdKGh0dHBzOi8vcnN0dWRpby5naXRodWIuaW8vbGVhZmxldC9tYXBfd2lkZ2V0Lmh0bWwpIG9uIGhvdyB0byBjdXN0b21pemUgdGhlIGxlYWZsZXQgZGlzcGxheS4gIFlvdSBtYXkgd2FudCB0byBnbyBsb29rIGF0IGl0IGFuZCBzZWUgd2hhdCB5b3UgY2FuIHVzZSB0byBtYWtlIGEgYmV0dGVyIGRpc3BsYXkuCgpgYGB7cn0KIyBtYWtlIGEgcXVpY2sgbGVhZmxldCBtYXAgaGVyZSB0byBnZXQgYW4gaWRlYSBvZiAKYGBgCgojIyMgQ29udmVydGluZyB0byBgc2ZgIE9iamVjdHMKCkNvbnZlcnQgdGhlIHNwYXRpYWwgZGF0YSBpbiB0aGUgYmVldGxlIGRhdGEuZnJhbWUgaW50byBhbiBgc2ZgIG9iamVjdC4gIE1ha2Ugc3VyZSB5b3Ugc2V0IHRoZSBDb29yZGluYXRlIFJlZmVyZW5jZSBTeXN0ZW0gdG8gJDQzMjYkLgoKCmBgYHtyfQojIGNvbnZlcnQgcmF3IGRhdGEgdG8gc2ltcGxlIGZlYXR1cmVzIGluIHlvdXIgZGF0YS5mcmFtZQpgYGAKCgojIyMgUXVlc3Rpb25zCgoxLiBIb3cgZmFyIGFwYXJ0IChpbiBrbSkgYXJlIHRoZSBzaXRlcyBDb25zdGl0dWNpw7NuIChgY29uc3RgKSBhbmQgU2FuIEZyYW5jaXNxdWl0byAoYHNmcmFuYCk/ICAKCjIuIElzIHRoZXJlIGEgY29ycmVsYXRpb24gYmV0d2VlbiBoYWJpdGF0IHN1aXRhYmlsaXR5IGFuZCB0aGUgcmF0aW8gb2YgbWFsZXMgdG8gZmVtYWxlIGJlZXRsZXM/ICAKCjMuIE1ha2UgYSBwbG90IHVzaW5nIGBnZ3Bsb3RgIG9mIHRoZSBkYXRhIHdpdGggc3VpdGFiaWxpdHkgYXMgdGhlIHNpemUgb2YgdGhlIHBvaW50cyBhbmQgdGhlIHNleCByYXRpbyBhcyB0aGUgZmlsbCBjb2xvci4KCjQuIFJlcHJvamVjdCB0aGUgZGF0YSBhbmQgcGxvdCBpdCBhZ2FpbiB1c2luZyBhbiBFUFNHIGNvZGUgZGVmaW5lZCBmb3IgTWV4aWNvIFVUTSB6b25lIDEyTi4KCgoKCgoKCgoKCgoKCg==