Middlebury College’s Human Geography with GIS course (GEOG 0261) regularly conducts an analysis on “Flood Hazard Vulnerability in Vermont’s Mobile Homes” using QGIS; the GEOG 0261 analysis builds on Baker et al.’s 2011 study on Rapid Flood Exposure Assessment of Vermont Mobile Home Parks Following Tropical Storm Irene (see bottom of this report for formal citation).
In this report, I conduct a reproduction study of the analysis conducted in GEOG 0261, however I use a code-based approach to spatial analysis using R instead of QGIS. The motivation for this study is to see whether a basic spatial analysis assignment geared towards beginner geography students can be reproduced using a code-based approach. Additionally, I seek to improve internal validity to the study by reducing the impact of a boundary distortion along the Connecticut River. See below for background on the “Flood Hazard Vulnerability in Vermont’s Mobile Homes” assignment that students in GEOG 0261 are assigned:
“Accurate assessment of risk is an essential for effective response to any natural disaster. The methodologies used to assess risk can end up underestimating vulnerabilities. Tropical Storm Irene offers an example of inadequate assessment of risk, which then leads to inadequate planning for and response to a disaster. The storm inundated Vermont with unprecedented rainfall on August 28 and 29 of 2011. The storm destroyed 480 bridges and 960 culverts (where streams cross under a road), causing $350 million in road damage and cutting off road access to 13 mountain communities. Even Vermont’s emergency management offices were flooded! Some of the most affected people were living in mobile homes, whether on individual parcels of land or in mobile home parks. At least 130 mobile homes were destroyed and an additional 300 severely damaged (Figure 1). Our problem will evaluate assessments of flooding risks with a focus on mobile homes in Vermont. There are two different ways of assessing flooding risk in Vermont: one is by the federal agency, FEMA (The Federal Emergency Management Association), and one by a state agency, Vermont Rivers Program. The federal agency, FEMA, estimates flood risk in terms of inundation from rising water levels in stable river channels. Based on existing channels, FEMA hydrologists estimate the region of land that would be potentially flooded by a 1% (100-year) flood. The residents with mortgages in that region are required to purchase flood insurance. The state of Vermont’s River Corridors Program estimates flooding risk differently, using river corridors. After Irene, the state of Vermont recognized that the most damaging flooding in Vermont is not due to inundation but rather due to fluvial erosion: the erosion of riverbanks as the river channel widens or migrates to form new channels (Figure 1 and Figure 2). By this estimation, regions where rivers may erode and migrate to in the future are also at risk of flooding.”
There are five layers for this analysis, each coming from a different primary source. Primary data sources for the study are to include …
1. e911pts.shp - point - epsg: 32145 e911 point location data for all residences and buildings in Vermont, for use with emergency response. The data file can be found on the Vermont Open GeoData Portal http://geodata.vermont.gov/ - SITETYPE: type of building structure/use case of the structure. “MOBILEHOME” is the SITETYPE that indicates a site is a mobile home/
Title
: e911pts.shpAbstract
: Point location data for all ocations of
residences and buildings in Bennington, Rutland, Windham, and Windsor
counties for use with emergency responseSpatial Coverage
: Bennington, Rutland, Windham, and
Windsor countiesSpatial Resolution
: Specify the spatial resolution as a
scale factor, description of the level of detail of each unit of
observation (including administrative level of administrative areas),
and/or or distance of a raster GRID sizeSpatial Reference System
: EPSG 32145 - NAD 83
VermontTemporal Coverage
: Some time 2014-2022Temporal Resolution
: N/ALineage
: Downloaded from the VT Open GeoData Portal by
GEOG 0261 instructors, and cleaned to only include the 4 southernmost
counties, and to select only the sitetype
variable.Distribution
: The raw data is publicly available from
the VT Open GeoData Portal, although the e911 point data is intended for
use with emergency responseConstraints
: N/AData Quality
: Assumed to be accurate and representative
of all residences and structures in Southern VTVariables
: For each variable, enter the following
information. If you have two or more variables per data source, you may
want to present this information in table form (shown below)
Label
: variable name as used in the data or codeAlias
: intuitive natural language nameDefinition
: Short description or definition of the
variable. Include measurement units in description.Type
: data type, e.g. character string, integer,
realAccuracy
: e.g. uncertainty of measurementsDomain
: Expected range of Maximum and Minimum of
numerical data, or codes or categories of nominal data, or reference to
a standard codebookMissing Data Value(s)
: Values used to represent missing
data and frequency of missing data observationsMissing Data Frequency
: Frequency of missing data
observations: not yet known for data to be collectedLabel | Alias | Definition | Type | Accuracy | Domain | Missing Data Value(s) | Missing Data Frequency |
---|---|---|---|---|---|---|---|
OBJECTID | unique identifier for each unique structure/residence | … | numeric | … | … | n/a | n/a |
sitetype | Type of location, of which one category is ‘MOBILE HOME’ | … | character | … | … | n/a | n/a |
geometry | point geometry | … | unknown | … | … | n/a | n/a |
2. FEMA_100yr.shp - polygon - epsg: 32145 FEMA Flood Zone polygons with codes. Codes starting with “A” indicate a 100-year flood risk zone. The data file can be found on the Vermont Open GeoData Portal http://geodata.vermont.gov/ - FLD_Zone: contains FEMA Flood Zone Codes. If a polygon has a code begins with an “A”, then that polygon indicates a 100-year flood zone.
Title
: FEMA_100yr.shpAbstract
: multipart polygons of flood zones determined
by FEMASpatial Coverage
: Bennington, Rutland, Windham, and
Windsor countiesSpatial Resolution
: N/ASpatial Reference System
: EPSG 32145 - NAD 83
VermontTemporal Coverage
: Some time 2014-2022Temporal Resolution
: N/ALineage
: Downloaded from the VT Open GeoData Portal by
GEOG 0261 instructors, and cleaned to only include the 4 southernmost
counties.Distribution
: The raw data is publicly available from
the VT Open GeoData PortalConstraints
: N/AData Quality
: Assumed to be accurate and representative
of all determined FEMA flood zones in southern VTVariables
: For each variable, enter the following
information. If you have two or more variables per data source, you may
want to present this information in table form (shown below)
Label
: variable name as used in the data or codeAlias
: intuitive natural language nameDefinition
: Short description or definition of the
variable. Include measurement units in description.Type
: data type, e.g. character string, integer,
realAccuracy
: e.g. uncertainty of measurementsDomain
: Expected range of Maximum and Minimum of
numerical data, or codes or categories of nominal data, or reference to
a standard codebookMissing Data Value(s)
: Values used to represent missing
data and frequency of missing data observationsMissing Data Frequency
: Frequency of missing data
observations: not yet known for data to be collectedLabel | Alias | Definition | Type | Accuracy | Domain | Missing Data Value(s) | Missing Data Frequency |
---|---|---|---|---|---|---|---|
FLD_ZONE | Identifies type of flood zone…FEMA Flood Zone Codes | All codes beginning with ‘A’ are included in the 1% flood risk zone (100-year flood risk) | character | … | … | n/a | n/a |
geometry | point geometry | … | unknown | … | … | n/a | n/a |
3. river_corridors.shp - polygon - epsg: 32145 Vermont river corridor polygons, as defined by Flood Ready Vermont. This flood hazard approach includes streams (with a 50 foot buffer) and rivers with watersheds more than 2km. The data file can be found on the Vermont Open GeoData Portal http://geodata.vermont.gov/
Title
: river_corridors.shpAbstract
: multipart polygon layer of river corridors
determined by Flood Ready VermontSpatial Coverage
: Bennington, Rutland, Windham, and
Windsor countiesSpatial Resolution
: N/ASpatial Reference System
: EPSG 32145 - NAD 83
VermontTemporal Coverage
: Some time 2014-2022Temporal Resolution
: N/ALineage
: Downloaded from the VT Open GeoData Portal by
GEOG 0261 instructors, and cleaned to only include the 4 southernmost
countiesDistribution
: The raw data is publicly available from
the VT Open GeoData PortalConstraints
: N/AData Quality
: Assumed to be complete for all river
corridors determined by Flood Ready VermontVariables
: For each variable, enter the following
information. If you have two or more variables per data source, you may
want to present this information in table form (shown below)
Label
: variable name as used in the data or codeAlias
: intuitive natural language nameDefinition
: Short description or definition of the
variable. Include measurement units in description.Type
: data type, e.g. character string, integer,
realAccuracy
: e.g. uncertainty of measurementsDomain
: Expected range of Maximum and Minimum of
numerical data, or codes or categories of nominal data, or reference to
a standard codebookMissing Data Value(s)
: Values used to represent missing
data and frequency of missing data observationsMissing Data Frequency
: Frequency of missing data
observations: not yet known for data to be collectedLabel | Alias | Definition | Type | Accuracy | Domain | Missing Data Value(s) | Missing Data Frequency |
---|---|---|---|---|---|---|---|
OBJECTID | Unique identifier for each individual river corridor | … | numeric | … | … | n/a | n/a |
GNIS_NAME | name of the river/creek/stream that defines the river corridor | … | character | … | … | n/a | n/a |
OBJECTID_1 | n/a | … | numeric | … | … | n/a | n/a |
ReachCode | n/a | … | numeric | … | … | n/a | n/a |
geometry | point geometry | … | unknown | … | … | n/a | n/a |
4. block_groups.shp - polygon - epsg: 32145 Census block group polygons in southern Vermont, with data on housing. The data file was acquired from the US Census ACS Survey 2014-2018 https://data.census.gov/ - mobileHU: estimated total number of mobile home housing units within the block group - totalHU: estimated total number of all housing units within the block group - county: name of county in which the block_group is located
Title
: block_groups.shpAbstract
: multipart polygon layer of the block groups
and counties for the 4 southernmost counties in VermontSpatial Coverage
: Bennington, Rutland, Windham, and
Windsor countiesSpatial Resolution
: N/ASpatial Reference System
: EPSG 32145 - NAD 83
VermontTemporal Coverage
: 2014-2018 ACS estimatesTemporal Resolution
: N/ALineage
: Downloaded from the US Census American
Community Survey by GEOG 0261 instructors, and cleaned to only include
the 4 southernmost counties, and select the variables for number mobile
housing units and number of total housing unitsDistribution
: The raw data is publicly available from
the US Census/ACSConstraints
: N/AData Quality
: Assumed to be complete (so far as the ACS
estimates are complete) for the 4 southern VT countiesVariables
: For each variable, enter the following
information. If you have two or more variables per data source, you may
want to present this information in table form (shown below)
Label
: variable name as used in the data or codeAlias
: intuitive natural language nameDefinition
: Short description or definition of the
variable. Include measurement units in description.Type
: data type, e.g. character string, integer,
realAccuracy
: e.g. uncertainty of measurementsDomain
: Expected range of Maximum and Minimum of
numerical data, or codes or categories of nominal data, or reference to
a standard codebookMissing Data Value(s)
: Values used to represent missing
data and frequency of missing data observationsMissing Data Frequency
: Frequency of missing data
observations: not yet known for data to be collectedLabel | Alias | Definition | Type | Accuracy | Domain | Missing Data Value(s) | Missing Data Frequency |
---|---|---|---|---|---|---|---|
fid | unique identifier | … | numeric | … | … | n/a | n/a |
GEOID | unique identifier | … | numeric | … | … | n/a | n/a |
mobileHU | estimated total of mobile home housing units in each block group | … | numeric | … | … | n/a | n/a |
totalHU | estimated total of all housing units in each block group | … | numeric | … | … | n/a | n/a |
COUNTYFP | code indicating which county the block group is in | … | numeric | … | … | n/a | n/a |
county | name of county in which the block_group is located | … | character | … | … | n/a | n/a |
geometry | point geometry | … | unknown | … | … | n/a | n/a |
5. towns.shp - polygon - epsg:32145 Downloaded from the US Census Bureau. https://data.census.gov/ - townName: name of the town
Title
: towns.shpAbstract
: multipart polygon layer of the towns within
the 4 southernmost counties in VermontSpatial Coverage
: Bennington, Rutland, Windham, and
Windsor countiesSpatial Resolution
: N/ASpatial Reference System
: EPSG 32145 - NAD 83
VermontTemporal Coverage
: 2014-2018 ACS estimatesTemporal Resolution
: N/ALineage
: Downloaded from the US Census American
Community Survey by GEOG 0261 instructors, and cleaned to only include
the towns in the 4 southernmost counties.Distribution
: The raw data is publicly available from
the US Census/ACSConstraints
: N/AData Quality
: Assumed to be complete (so far as the ACS
estimates are complete) for the 4 southern VT countiesVariables
: For each variable, enter the following
information. If you have two or more variables per data source, you may
want to present this information in table form (shown below)
Label
: variable name as used in the data or codeAlias
: intuitive natural language nameDefinition
: Short description or definition of the
variable. Include measurement units in description.Type
: data type, e.g. character string, integer,
realAccuracy
: e.g. uncertainty of measurementsDomain
: Expected range of Maximum and Minimum of
numerical data, or codes or categories of nominal data, or reference to
a standard codebookMissing Data Value(s)
: Values used to represent missing
data and frequency of missing data observationsMissing Data Frequency
: Frequency of missing data
observations: not yet known for data to be collectedLabel | Alias | Definition | Type | Accuracy | Domain | Missing Data Value(s) | Missing Data Frequency |
---|---|---|---|---|---|---|---|
fid | unique identifier | … | numeric | … | … | n/a | n/a |
COUNTYFP | code indicating which county the block group is in | … | numeric | … | … | n/a | n/a |
COUSUBFP | unknown | … | numeric | … | … | n/a | n/a |
GEOID | unique identifier | … | numeric | … | … | n/a | n/a |
townName | name of the town | … | numeric | … | … | n/a | n/a |
geometry | point geometry | … | unknown | … | … | n/a | n/a |
6. CT_corridor_final_dissolved_buffered.shp
Title
: CT_corridor_final_dissolved_buffered.shpAbstract
: singlepart polygon of width 1080 meters of an
estimated river corridor for the Connecticut River that I createdSpatial Coverage
: along Windham and Windson
Counties…Connecticut River mainstem from Wilder Dam down to confluence
of Sugar River, NH/Ascutney, VTSpatial Resolution
: N/ASpatial Reference System
: EPSG 32145 - NAD 83
VermontTemporal Coverage
: December 2023Temporal Resolution
: N/ALineage
: Modified (buffered to 1080m width) version of
a linestring layer for the CT River downloaded from the VT Open GeoData
PortalDistribution
: The raw data (linestring) is publicly
available from the VT Open GeoData PortalConstraints
: N/AData Quality
: This is my best estimate of what the
river corridor for areas along the Connecticut River would look
likeVariables
: For each variable, enter the following
information. If you have two or more variables per data source, you may
want to present this information in table form (shown below)
Label
: variable name as used in the data or codeAlias
: intuitive natural language nameDefinition
: Short description or definition of the
variable. Include measurement units in description.Type
: data type, e.g. character string, integer,
realAccuracy
: e.g. uncertainty of measurementsDomain
: Expected range of Maximum and Minimum of
numerical data, or codes or categories of nominal data, or reference to
a standard codebookMissing Data Value(s)
: Values used to represent missing
data and frequency of missing data observationsMissing Data Frequency
: Frequency of missing data
observations: not yet known for data to be collectedLabel | Alias | Definition | Type | Accuracy | Domain | Missing Data Value(s) | Missing Data Frequency |
---|---|---|---|---|---|---|---|
OBJECTID | Unique identifier for each individual river corridor | … | numeric | … | … | n/a | n/a |
WBID | unknown | … | character | … | … | n/a | n/a |
WBDESC | description of spatial extent | … | character | … | … | n/a | n/a |
geometry | point geometry | … | unknown | … | … | n/a | n/a |
I received pre-processed versions of these data from the course instructors of Middlebury College’s GEOG 0261 so as to best reproduce the students’ analysis using the exact same data that the students receive; however, the instructors downloaded these data from the sources listed. It is unknown the exact dates which the instructors downloaded and pre-processed these data, nor is it know the exact pre-processing steps taken by the instructors. For the purpose of this reproduction, I am assuming that a competent GIS analyst or data analyst could easily download the raw files from the sources mentioned above, and pre-process them into the format that is ultimately provided to the students. The .shp files included in the data/derived folder of the repository are those pre-processed files that the students receive, with the exception of the towns.shp file (the copy that I received from an instructor was corrupted), so I downloaded this directly from the ACS, and the CT_corridor_final_dissolved_buffered.shp which I produced in QGIS using methodology outlined below. The root source of this CT corridor layer is a linestring layer of the Connecticut River which I downloaded from the Vermont Open GeoData Portal (publicly accessible)
You can find the full metadata for each of these variables in
the data/metadata
section of the repository
I - the author of this reproduction study - have spent the past 3.5 years living as a student in Vermont. I am familiar with the flood risk faced in Vermont, the geography of the state, and how the state makes data publicly accessible. Thus, I have prior experience with the entirety of this study, although this is not a concern given that no statistical tests are conducted and no models are built. The goal of this study is merely to reproduce a study that is usually conducted in QGIS but in R.
I was also a student in GEOG 0261 (formerly GEOG 0120) and I conducted this study in January, 2022 in QGIS.
Going into this study, I know that there is a boundary distortion along the eastern edge of the state along the Connecticut River error that compromises internal validity. Vermont River Corridors (the shapefile) does not include a river corridor model for the Connecticut River. I will attempt to estimate my own river corridor for the Connecticut River.
Also, I know going into this study that there are issues with small numbers of mobile homes in some towns that are used as denominators in calculating percentages, and this will lead to overly sensitive and overly inflated percentages in some towns. I do not plan to change this, as that would require calculating the area of towns and counties, which I did not have time for when completing this study.
Lastly, the original QGIS study utilizes an area weighted re-aggregation for determining a number of mobile homes at risk in the FEMA flood zones, based on ACS 2014-2018 survey data and assuming an even distribution of mobile homes across counties. However, the GEOG 0261 course has repeatedly demonstrated that this is an inaccurate approach to the research question, and thus I will not try to reproduce this part of the study. This is an issue of a modifiable areal unit problem.
Describe all data transformations planned to prepare data sources for analysis. This section should explain with the fullest detail possible how to transform data from the raw state at the time of acquisition or observation, to the pre-processed derived state ready for the main analysis. Including steps to check and mitigate sources of bias and threats to validity. The method may anticipate contingencies, e.g. tests for normality and alternative decisions to make based on the results of the test. More specifically, all the geographic and variable transformations required to prepare input data as described in the data and variables section above to match the study’s spatio-temporal characteristics as described in the study metadata and study design sections. Visual workflow diagrams may help communicate the methodology in this section.
Examples of geographic transformations include coordinate system transformations, aggregation, disaggregation, spatial interpolation, distance calculations, zonal statistics, etc.
Examples of variable transformations include standardization, normalization, constructed variables, imputation, classification, etc.
Be sure to include any steps planned to exclude observations with missing or outlier data, to group observations by attribute or geographic criteria, or to impute missing data or apply spatial or temporal interpolation.
## tmap mode set to plotting
## Map saved to C:\Users\wprocter\Documents\GitHub\VT-Mobile-Home-Flooding\results\figures\FEMA_flood_zone_map.pdf
## Size: 6.25 by 7.819444 inches
## Map saved to C:\Users\wprocter\Documents\GitHub\VT-Mobile-Home-Flooding\results\figures\river_corridor_map.pdf
## Size: 6.25 by 7.819444 inches
##
## A AE AO
## 567 1832 2
## Simple feature collection with 2401 features and 2 fields
## Geometry type: MULTIPOLYGON
## Dimension: XY
## Bounding box: xmin: 424802.5 ymin: 25228.79 xmax: 523718.9 ymax: 158609.9
## Projected CRS: NAD83 / Vermont
## # A tibble: 2,401 × 3
## FLD_ZONE geometry flood
## * <chr> <MULTIPOLYGON [m]> <lgl>
## 1 AE (((446276.7 124090.2, 446286.8 124096.6, 446295.7 124103.9, 4… TRUE
## 2 AE (((446494.3 124089.5, 446493.5 124098, 446491.4 124108.5, 446… TRUE
## 3 AE (((444273.9 123609.2, 444286.7 123605.9, 444296.5 123602.8, 4… TRUE
## 4 AE (((442981.8 122314.2, 442982.7 122310.9, 442986.9 122303.6, 4… TRUE
## 5 AE (((448164.3 123952.9, 448168.3 123952.4, 448171.6 123951.9, 4… TRUE
## 6 AE (((444449.3 123728.5, 444452.7 123721.8, 444458.8 123713.4, 4… TRUE
## 7 A (((453734.8 130105.7, 453734.8 130137.5, 453734.8 130172.4, 4… TRUE
## 8 AE (((443409.4 123216.8, 443410.1 123219.9, 443412.3 123223.9, 4… TRUE
## 9 AE (((448766.4 123935.4, 448768.5 123934.6, 448772.2 123933.4, 4… TRUE
## 10 AE (((448860.4 123953.6, 448859.9 123957.1, 448854 123964.4, 448… TRUE
## # ℹ 2,391 more rows
county | number_of_MHs |
---|---|
Bennington | 1277 |
Rutland | 1992 |
Windham | 1833 |
Windsor | 2427 |
I exclude column 2, which was created using area weighted aggregation of mobile homes.However, the GEOG 0261 instructors discovered that this approach is less accurate than using the e911 point data to identify mobile homes at risk, so I will forego reproducing the AWR approach.
NOTE: I attempted also to sum the number of e911 mobile home points
for each county. This yielded a different number of mobile homes than
Column 1 indicates. Because the ACS measurement of mobileHU
is a survey-based estimate, it does not represent the true number of
mobile home structures. This is a source of geographic uncertainty to
this analysis, specifically an issue of spatial heterogeneity and
construct validity.
I will proceed with using Total Number of Mobile Homes column from the ACS data to be consistent with the GEOG 0261 analysis, but this is something that may want to be changed in the future.
## Warning: attribute variables are assumed to be spatially constant throughout
## all geometries
county | mobile_home_count |
---|---|
Bennington | 189 |
Rutland | 164 |
Windham | 299 |
Windsor | 198 |
county | mobile_home_count |
---|---|
Bennington | 130 |
Rutland | 204 |
Windham | 298 |
Windsor | 353 |
county | number_of_MHs | MHs_at_risk_FEMA | MHs_at_risk_River_Corridors | FEMA_rate | RC_rate |
---|---|---|---|---|---|
Bennington | 1277 | 189 | 130 | 0.1480031 | 0.1018011 |
Rutland | 1992 | 164 | 204 | 0.0823293 | 0.1024096 |
Windham | 1833 | 299 | 298 | 0.1631206 | 0.1625750 |
Windsor | 2427 | 198 | 353 | 0.0815822 | 0.1454471 |
Unplanned deviation for reproduction: I decided to calculate “risk rates” to indicate what proportion of a county’s mobile homes lie within the FEMA flood zones and the River Corridors, respectively (the last two columns at the righthand side of the table). They are pretty similar for Windham County. In Bennington County, the FEMA risk rate is higher than the River Corridor risk rate. In Windsor County and Rutland County, the River Corridor risk rate is higher than the FEMA risk rate.
These results perfectly match the results achieved using the QGIS approach in GEOG 0261. The reproduction of this table was a success!
This will cast a wider net than if we look at just flood zones or river corridors individually, as this will maximize the number of mobile homes that are determined to be at risk. At this stage in the analysis, we care more about seeing which towns have the highest vulnerability of mobile homes to flooding, not whether the VT River Corridor or FEMA Flood Zone approach is more accurate. Thus, including both flood risk identification metrics is a safer approach to ensure we identify all mobile homes that are at some level of risk to flooding.
town | mobile_home_count | at_risk_count | pct_mh_at_risk |
---|---|---|---|
Woodford | 27 | 23 | 0.8518519 |
Woodstock | 70 | 48 | 0.6857143 |
Sandgate | 7 | 4 | 0.5714286 |
Jamaica | 100 | 49 | 0.4900000 |
Windsor | 63 | 30 | 0.4761905 |
Killington | 13 | 6 | 0.4615385 |
Pittsfield | 9 | 4 | 0.4444444 |
Plymouth | 18 | 8 | 0.4444444 |
Wilmington | 94 | 38 | 0.4042553 |
Proctor | 15 | 6 | 0.4000000 |
Results slightly differ between this and the GEOG 0261 results because I directly downloaded the towns.shp file from the VT Open GeoData Portal, while the GEOG 0261 class uses a pre-cleaned provided towns shapefile layer. I could not use the provided one due to file corruption issues. However, the provided one for the class distinguishes between Rutland Town and Rutland City, while the layer that I downloaded treated the two as a combined town of “Rutland.” Rutland Town has a pct_mh_at_risk value of 57.89, so if my towns file distinguished just the town portion, it would be in the top 10 of highest risk towns for mobile homes at risk.
However, overall, this is basically a perfect reproduction! Not much more to add here, other than a celebration that the code-based approach in R seems to be doing an excellent job at producing the QGIS results from GEOG 0261.
## tmap mode set to plotting
## Map saved to C:\Users\wprocter\Documents\GitHub\VT-Mobile-Home-Flooding\results\figures\pct_mh_at_risk_by_town.pdf
## Size: 9.125 by 5.361111 inches
Technically an optional map in GEOG 0261, but most students did create this.
Aside from the Rutland Town boundary issue, this map perfectly resembles the QGIS output from GEOG 0261. Another win for !
I was curious about the discrepancy between the two metrics so created a layer that differences the two polygon layers and plots it with a satellite base-map. Notably, the River Corridors include fewer lakes/ponds and large rivers. This is significant, because these water bodies can still cause severe flooding if water influx causes them to over spill their banks. Additionally, note that the Connecticut River is not included at all in the River Corridors.
## Warning: attribute variables are assumed to be spatially constant throughout
## all geometries
## tmap mode set to interactive viewing