EDS223-HW1
│ README.md
│ HW1.qmd
│ Rmd/Proj files
│
└───data
└───easter-island └───ejscreen
You must earn a “Satisfactory” on all parts of the assignment to earn a “Satisfactory” on the assignment.
The assignment must be submitted through GitHub Classrooms. Each student receives one “free pass” for not submitting assignments via specified channels, after which you will receive a “Not Yet” mark.
Read each part of the assignment carefully, and use the check boxes to ensure you’ve addressed all elements of the assignment!
Learning outcomes
- build effective, responsible, accessible and aesthetically-pleasing maps
- practice manipulating vector and raster data to build multi-layer maps
- practice making maps in R, specifically using
tmap
Instructions
- Clone repository from GitHub Classrooms
- Download data from here
- Unzip data and place in repository
- Edit Quarto document with responses
- Push final edits before deadline
Your repository should have the following structure:
Part 1: Easter Island from land to sea
In this week’s discussion section, you practiced making a map of Easter Island. We will continue by extending our map into the sea by including bathymetry and seamounts.
Description
Create a map of Easter Island, including the following:
Data details
You will use the following new datasets:
- Seamounts from the Pacific Data Hub
- Bathymetry (or seadepth) from NOAA’s
marmap
API
The following code is provided to read in each dataset:
library(sf)
library(here)
library(terra)
# read in major points on the island
<- sf::read_sf(here::here("data", "easter_island", "ei_points.gpkg"))
ei_points # subset points to volcanoes
<- subset(ei_points, type == "volcano")
volcanoes
# read in island elevation
<- terra::rast(here::here("data", "easter_island", "ei_elev.tif"))
ei_elev
# read in island border
<- sf::read_sf(here::here("data", "easter_island", "ei_border.gpkg"))
ei_borders
# read in island road network
<- sf::read_sf(here::here("data", "easter_island", "ei_roads.gpkg"))
ei_roads
# read in bathymetry
<- terra::rast(here::here("data", "easter_island", "ei_bathy.tif"))
ei_bathymetry
# read in seamounts
<- sf::read_sf(here::here("data", "easter_island", "ei_seamounts.gpkg")) ei_seamounts
To make sure that all the bathymetry and seamount data are included in the map, create a bounding box that includes both.
# define larger plot bbox that is buffered around both of
# the two largest layers to display all 4 seamounts in view
<- st_bbox(ei_seamounts) # seamount bounding box
bbox_seamount <- st_bbox(ei_bathymetry) # bathymetry bounding box
bbox_bathymetry <- st_bbox(c(xmin = min(bbox_bathymetry[1], bbox_seamount[1]),
bbox_largest ymin = min(bbox_bathymetry[2], bbox_seamount[2]),
xmax = max(bbox_bathymetry[3], bbox_seamount[3]),
ymax = max(bbox_bathymetry[4], bbox_seamount[4])))
Now that you’ve defined the bounding box, make sure to use it!
Part 2: Exploring environmental (in)justice
As many of us are aware, environmental degradation, pollution, and hazards is not felt equally by all people. Environmental justice has many definitions, but the United States Environmental Protection Agency defines it as follows:
“Environmental justice” means the just treatment and meaningful involvement of all people, regardless of income, race, color, national origin, Tribal affiliation, or disability, in agency decision-making and other Federal activities that affect human health and the environment so that people:
- are fully protected from disproportionate and adverse human health and environmental effects (including risks) and hazards, including those related to climate change, the cumulative impacts of environmental and other burdens, and the legacy of racism or other structural or systemic barriers; and
- have equitable access to a healthy, sustainable, and resilient environment in which to live, play, work, learn, grow, worship, and engage in cultural and subsistence practices
For far too long, environmental inequities have been invisible, and thus ignored. Mapping environmental inequities can be a powerful tool for revealing injustices. We will be working with data from the United States Environmental Protection Agency’s EJScreen: Environmental Justice Screening and Mapping Tool.
According to the US EPA website:
This screening tool and data may be of interest to community residents or other stakeholders as they search for environmental or demographic information. It can also support a wide range of research and policy goals. The public has used EJScreen in many different locations and in many different ways.
EPA is sharing EJScreen with the public:
- to be more transparent about how we consider environmental justice in our work,
- to assist our stakeholders in making informed decisions about pursuing environmental justice and,
- to create a common starting point between the agency and the public when looking at issues related to environmental justice.
Description
For this assignment, you will explore an environmental justice topic of your choosing. You should select a region, community, or environmental issue that matters to you.
You must complete the following:
Data details
EJScreen provides on environmental and demographic information for the US at the Census tract and block group levels. You will be working with data at the block group level that has been downloaded from the EPA site. To understand the associated data columns, you will need to explore the following in the data
folder:
- Technical documentation:
ejscreen-tech-doc-version-2-2.pdf
- Column descriptions:
EJSCREEN_2023_BG_Columns.xlsx
You should also explore the limitations and caveats of the data.
The following code provides examples for reading and manipulating the EJScreen data. You MUST update this code to suite your problem of interest.
library(tidyverse)
library(sf)
library(here)
# read in geodatabase of EJScreen data at the Census Block Group level
<- sf::st_read(here::here("data", "ejscreen","EJSCREEN_2023_BG_StatePct_with_AS_CNMI_GU_VI.gdb"))
ejscreen
# filter to a state you are interested in
<- ejscreen %>%
california ::filter(ST_ABBREV == "CA")
dplyr
# filter to a county you are interested in
<- ejscreen %>%
santa_barbara ::filter(CNTY_NAME %in% c("Santa Barbara County"))
dplyr
# find the average values for all variables within counties
<- aggregate(california, by = list(california$CNTY_NAME), FUN = mean) california_counties
Rubric (specifications)
You must complete the following to receive a “Satisfactory” on the assignment:
-
- an informative title
- legends with legible titles, including units
- indication of scale and orientation (i.e. graticules/gridlines or scale bar and compass)
- color scales that are accessible (i.e. make intuitive sense) and appropriate to the data (i.e. discrete vs. continuous)
-
- it is not sufficient to make two unrelated maps
-
- see examples of professional and unprofessional output on the Assignments page