options(repos = c(CRAN = "https://cloud.r-project.org"))
library(tidycensus)
library(tmap)
## Breaking News: tmap 3.x is retiring. Please test v4, e.g. with
## remotes::install_github('r-tmap/tmap')
library(sf)
## Linking to GEOS 3.11.0, GDAL 3.5.3, PROJ 9.1.0; sf_use_s2() is TRUE
library(tigris)
## To enable caching of data, set `options(tigris_use_cache = TRUE)`
## in your R script or .Rprofile.
#Q1
var <- c(poptotal='B03002_001E',
hispanic='B03002_012E')
st <-"TX"
ct <-"Bexar"
df <- get_acs(geography = "tract", variables = var, count=ct,
state = st,output="wide", year = 2021, geometry = TRUE)
## Getting data from the 2017-2021 5-year ACS
## Downloading feature geometry from the Census website. To cache shapefiles for use in future sessions, set `options(tigris_use_cache = TRUE)`.
## | | | 0% | |= | 1% | |= | 2% | |== | 2% | |== | 3% | |=== | 4% | |=== | 5% | |==== | 5% | |==== | 6% | |===== | 6% | |===== | 7% | |===== | 8% | |====== | 8% | |====== | 9% | |======= | 9% | |======= | 10% | |======== | 11% | |======== | 12% | |========= | 12% | |========= | 13% | |========== | 14% | |========== | 15% | |=========== | 15% | |=========== | 16% | |============ | 17% | |============ | 18% | |============= | 18% | |============= | 19% | |============== | 19% | |============== | 20% | |============== | 21% | |=============== | 21% | |=============== | 22% | |================ | 22% | |================ | 23% | |================= | 24% | |================= | 25% | |================== | 25% | |================== | 26% | |=================== | 27% | |=================== | 28% | |==================== | 28% | |==================== | 29% | |===================== | 29% | |===================== | 30% | |===================== | 31% | |====================== | 31% | |====================== | 32% | |======================= | 32% | |======================= | 33% | |======================== | 34% | |======================== | 35% | |========================= | 35% | |========================= | 36% | |========================== | 37% | |========================== | 38% | |=========================== | 38% | |=========================== | 39% | |============================ | 40% | |============================ | 41% | |============================= | 41% | |============================= | 42% | |============================== | 42% | |============================== | 43% | |============================== | 44% | |=============================== | 44% | |=============================== | 45% | |================================ | 45% | |================================ | 46% | |================================= | 46% | |================================= | 47% | |================================= | 48% | |================================== | 48% | |================================== | 49% | |=================================== | 49% | |=================================== | 50% | |==================================== | 51% | |==================================== | 52% | |===================================== | 52% | |===================================== | 53% | |====================================== | 54% | |====================================== | 55% | |======================================= | 55% | |======================================= | 56% | |======================================== | 57% | |========================================= | 58% | |========================================= | 59% | |========================================== | 59% | |========================================== | 60% | |========================================== | 61% | |=========================================== | 61% | |=========================================== | 62% | |============================================ | 62% | |============================================ | 63% | |============================================= | 64% | |============================================= | 65% | |============================================== | 65% | |============================================== | 66% | |=============================================== | 67% | |=============================================== | 68% | |================================================ | 68% | |================================================ | 69% | |================================================= | 70% | |================================================= | 71% | |================================================== | 71% | |================================================== | 72% | |=================================================== | 72% | |=================================================== | 73% | |==================================================== | 74% | |==================================================== | 75% | |===================================================== | 75% | |===================================================== | 76% | |====================================================== | 77% | |====================================================== | 78% | |======================================================= | 78% | |======================================================= | 79% | |======================================================== | 80% | |========================================================= | 81% | |========================================================= | 82% | |========================================================== | 82% | |========================================================== | 83% | |=========================================================== | 84% | |=========================================================== | 85% | |============================================================ | 85% | |============================================================ | 86% | |============================================================= | 87% | |============================================================= | 88% | |============================================================== | 88% | |============================================================== | 89% | |=============================================================== | 89% | |=============================================================== | 90% | |================================================================ | 91% | |================================================================ | 92% | |================================================================= | 93% | |================================================================== | 94% | |================================================================== | 95% | |=================================================================== | 95% | |=================================================================== | 96% | |==================================================================== | 97% | |==================================================================== | 98% | |===================================================================== | 98% | |===================================================================== | 99% | |======================================================================| 99% | |======================================================================| 100%
df$hispanic_pct <- df$hispanic/df$poptotal
tm_shape(df) +
tm_polygons(col = "hispanic_pct", palette = "YlOrRd", title = "Hispanic %") +
tm_compass(type = "8star", position = c("right", "top"), size = 1) +
tm_scale_bar(position = c("left", "bottom")) +
tm_layout(legend.position = c("center", "bottom"),
legend.outside = TRUE,
legend.outside.position = "right")
#Q2 Points
library<-st_read(dsn = "/Users/jayjay/Downloads/Proposed2022BondProjectsRepresentedByPoints")
## Reading layer `Proposed2022BondProjectsRepresentedByPoints' from data source
## `/Users/jayjay/Downloads/Proposed2022BondProjectsRepresentedByPoints'
## using driver `ESRI Shapefile'
## Simple feature collection with 129 features and 5 fields
## Geometry type: POINT
## Dimension: XY
## Bounding box: xmin: 2056470 ymin: 13643600 xmax: 2169367 ymax: 13783160
## Projected CRS: NAD83 / Texas South Central (ftUS)
bexar_tracts <-tracts(state = "tx", county= "Bexar", cb=T)
## Retrieving data for the year 2022
## | | | 0% | |= | 1% | |= | 2% | |== | 2% | |== | 3% | |=== | 4% | |=== | 5% | |==== | 5% | |==== | 6% | |===== | 7% | |===== | 8% | |====== | 8% | |====== | 9% | |======= | 9% | |======= | 10% | |======= | 11% | |======== | 11% | |======== | 12% | |========= | 12% | |========= | 13% | |========== | 14% | |========== | 15% | |=========== | 15% | |=========== | 16% | |============ | 17% | |============= | 18% | |============= | 19% | |============== | 19% | |============== | 20% | |=============== | 21% | |=============== | 22% | |================ | 22% | |================ | 23% | |================= | 24% | |================= | 25% | |================== | 25% | |================== | 26% | |=================== | 27% | |=================== | 28% | |==================== | 28% | |==================== | 29% | |===================== | 30% | |===================== | 31% | |====================== | 31% | |====================== | 32% | |======================= | 32% | |======================= | 33% | |======================== | 34% | |======================== | 35% | |========================= | 35% | |========================= | 36% | |========================== | 37% | |========================== | 38% | |=========================== | 38% | |=========================== | 39% | |============================ | 39% | |============================ | 40% | |============================ | 41% | |============================= | 41% | |============================= | 42% | |============================== | 42% | |============================== | 43% | |=============================== | 44% | |=============================== | 45% | |================================ | 45% | |================================ | 46% | |================================= | 46% | |================================= | 47% | |================================== | 48% | |================================== | 49% | |=================================== | 49% | |=================================== | 50% | |==================================== | 51% | |==================================== | 52% | |===================================== | 52% | |===================================== | 53% | |====================================== | 54% | |====================================== | 55% | |======================================= | 55% | |======================================= | 56% | |======================================== | 57% | |======================================== | 58% | |========================================= | 58% | |========================================= | 59% | |========================================== | 60% | |========================================== | 61% | |=========================================== | 61% | |=========================================== | 62% | |============================================ | 62% | |============================================ | 63% | |============================================= | 64% | |============================================= | 65% | |============================================== | 65% | |============================================== | 66% | |=============================================== | 67% | |=============================================== | 68% | |================================================ | 68% | |================================================ | 69% | |================================================= | 69% | |================================================= | 70% | |================================================= | 71% | |================================================== | 71% | |================================================== | 72% | |=================================================== | 72% | |=================================================== | 73% | |==================================================== | 74% | |==================================================== | 75% | |===================================================== | 75% | |===================================================== | 76% | |====================================================== | 77% | |====================================================== | 78% | |======================================================= | 78% | |======================================================= | 79% | |======================================================== | 79% | |======================================================== | 80% | |========================================================= | 81% | |========================================================= | 82% | |========================================================== | 82% | |========================================================== | 83% | |=========================================================== | 84% | |=========================================================== | 85% | |============================================================ | 85% | |============================================================ | 86% | |============================================================= | 87% | |============================================================== | 88% | |============================================================== | 89% | |=============================================================== | 90% | |=============================================================== | 91% | |================================================================ | 91% | |================================================================ | 92% | |================================================================= | 92% | |================================================================= | 93% | |================================================================== | 94% | |================================================================== | 95% | |=================================================================== | 95% | |=================================================================== | 96% | |==================================================================== | 97% | |==================================================================== | 98% | |===================================================================== | 98% | |===================================================================== | 99% | |======================================================================| 100%
tm_shape(bexar_tracts) +
tm_borders() +
tm_shape(library) +
tm_dots(col = "blue")
tm_layout(frame = FALSE)
## $tm_layout
## $tm_layout$frame
## [1] FALSE
##
## $tm_layout$style
## [1] NA
##
##
## attr(,"class")
## [1] "tm"
#Q3 Bond
bond<-st_read(dsn = "/Users/jayjay/Downloads/BondProjectLines2012")
## Reading layer `BondProjectLines2012' from data source
## `/Users/jayjay/Downloads/BondProjectLines2012' using driver `ESRI Shapefile'
## Simple feature collection with 60 features and 22 fields
## Geometry type: MULTILINESTRING
## Dimension: XY
## Bounding box: xmin: 2063846 ymin: 13665050 xmax: 2164365 ymax: 13780790
## Projected CRS: NAD83 / Texas South Central (ftUS)
tm_shape(bexar_tracts) +
tm_borders() +
tm_shape(bond) +
tm_lines(lwd = 2, col = "red") +
tm_layout(frame = FALSE)
#Q4 Polygons
growth_area<-st_read(dsn = "/Users/jayjay/Downloads/InclusiveGrowthArea")
## Reading layer `InclusiveGrowthArea' from data source
## `/Users/jayjay/Downloads/InclusiveGrowthArea' using driver `ESRI Shapefile'
## Simple feature collection with 1 feature and 4 fields
## Geometry type: MULTIPOLYGON
## Dimension: XY
## Bounding box: xmin: 2075668 ymin: 13626190 xmax: 2185797 ymax: 13789230
## Projected CRS: NAD83 / Texas South Central (ftUS)
tmap_options(check.and.fix = TRUE)
tm_shape(bexar_tracts) +
tm_borders() +
tm_shape(growth_area) +
tm_polygons(col = "green") +
tm_layout(frame = FALSE)
## Warning: The shape growth_area is invalid (after reprojection). See
## sf::st_is_valid
#Q5 Overlay Analysis
bond <- st_make_valid(bond)
growth_area <- st_make_valid(growth_area)
bond <- st_transform(bond,crs = 4326)
growth_area <- st_transform(growth_area,crs = 4326)
intersection_results <- st_intersection(bond, growth_area)
## Warning: attribute variables are assumed to be spatially constant throughout
## all geometries
library(raster)
## Loading required package: sp
#7
DEM_W <- raster("/Users/jayjay/Downloads/USGS_1_n43w084_20190412.tif")
DEM_W <- setMinMax(DEM_W)
cellStats(DEM_W, max)
## [1] 391.179
#Q8 Elevation Criteria
plot(DEM_W < 350, main = "Elevation Criteria",
col = c("#f03b20", "#fecc5c"))
#Q9 Slope Criteria
plot(terrain(DEM_W, opt = "slope", unit = "degrees") < 3,
main = "slope criteria",
col = c("#082267", "#ff9900"))
#Q9 Aspect Criteria
plot(terrain(DEM_W, opt = "aspect", unit = "degrees") < 22.5 &
terrain(DEM_W, opt = "aspect", unit = "degrees") < 157.5,
main = "aspect criteria")
#The results from this project contribute to the understanding of demographic patterns, infrastructure needs, and environmental conditions in Bexar County, Texas, and Washtenaw County, Michigan. In our analysis, we applied spatial analysis and GIS skills to map and analyze population data, infrastructure projects, growth areas, and environmental criteria such as elevation, slope, and aspect. These results are foundational to urban planning, environmental management, and community development efforts and provide a data-driven basis from which decision-making and policy formulation can be supported.