Get access to all lessons in this course.
- Welcome to Mapping with R (01_01)
-
Geospatial Data
- Making Maps is Complex (01_02)
- mapview for Quick Maps (01_03)
- sf for Simple Features (01_04)
- Turning Data Frames into sf Objects (01_05)
- Importing Shapefiles (01_06)
- Joining Geospatial Datasets (01_07)
- Disambiguating Country Names (01_08)
- Converting Addresses to Coordinates (01_09)
- U.S.-Specific Datasets (01_10)
- Advice on Finding International Datasets (01_11)
- CRS and Projections: Geographic and Projected CRS (01_12)
- CRS and Projections: How to Choose a CRS (01_13)
- Introducing Raster GIS with raster and stars (01_14)
- Basics of Using the raster Package (01_15)
-
Static Maps
- ggplot2 Essentials (02_01)
- Starting a Map in ggplot2 (02_02)
- Labelling ggplot2 Maps (02_03)
- Compare Locations/Events with Geobubble Charts (02_04)
- Highlight a Region in a Country with ggplot2 (02_05)
- Make a Choropleth Map of Discrete Variables with ggplot2 (02_06)
- Make a Choropleth Map of Continuous Variables with ggplot2 (02_07)
- Faceting Choropleth Maps with ggplot2 (02_08)
- Visualize Raster Data with ggplot2 (02_09)
- Adding Scale Bars and North Arrows with ggplot2 (02_10)
-
Interactive Maps
- What is leaflet? (03_01)
- Starting a Map in leaflet (03_02)
- Necessary HTML for Labelling leaflet Maps (03_03)
- Highlight a Region in a Country with leaflet (03_04)
- Compare Locations/Events with Geobubble Charts in leaflet (03_05)
- Make a Choropleth Map of Discrete Variables with leaflet (03_06)
- Make a Choropleth Map of Continuous Variables with leaflet (03_07)
- Visualize Raster Data with leaflet (03_08)
-
Wrapping Up
- You Did It!
Mapping with R
Highlight a Region in a Country with leaflet (03_04)
This lesson is locked
This lesson is called Highlight a Region in a Country with leaflet (03_04), part of the Mapping with R course. This lesson is called Highlight a Region in a Country with leaflet (03_04), part of the Mapping with R course.
If the video is not playing correctly, you can watch it in a new window
Transcript
Click on the transcript to go to that point in the video. Please note that transcripts are auto generated and may contain minor inaccuracies.
Learn More
In this I used the function st_touches()
from the {sf} package to extract the states that border Texas. The {sf} package contains several functions like this for detecting/extracting parts of an {sf} object that meet a specific geometric condition. Some examples include:
st_touches()
for testing if polygons share a border (that does not overlap)st_overlaps()
for testing if polygons overlapst_covers()
for testing if points belong to a polygon
It’s easiest to demonstrate how st_covers()
works:
st_covers(x, y, sparse = FALSE)
This function will test if the features in x are covered by y. We set spare = FALSE because otherwise the function will return a complicated “sparse geometry predicate”, instead what we get back is a vector containing TRUE for covered parts of x and FALSE for uncovered parts.
With that in mind, here’s the code I showed again:
us_contiguous[st_touches(texas_state, us_contiguous, sparse = FALSE),]
st_covers()
returns a vector of TRUE/FALSE for states fromus_contiguous
that touchtexas_state
. Let’s call this vector touching_predicate.The code can now be read as follows,
us_contiguous[touching_predicate, ]
This will return those rows from
us_contiguous
touchtexas_state
.
Unfortunately, there isn't a tidyverse-friendly way to work with these functions. The Spatial Data Operations chapter of Geocomputation with R provides more information about how to do these types of {sf} data manipulation.
You need to be signed-in to comment on this post. Login.