In class exercise 5

Published

February 6, 2023

Modified

April 3, 2023

#Gettin started

pacman::p_load(tidyverse, tmap, sf, sfdep)

#Importing data

studyArea <- st_read(dsn = 'data',
                    layer = 'study_area') %>%
  st_transform(crs = 3829)
Reading layer `study_area' from data source 
  `/Users/keredpoh/Desktop/keredpoh/IS415-GAA/In-class_Ex/In-class_Ex05/data' 
  using driver `ESRI Shapefile'
Simple feature collection with 7 features and 7 fields
Geometry type: POLYGON
Dimension:     XY
Bounding box:  xmin: 121.4836 ymin: 25.00776 xmax: 121.592 ymax: 25.09288
Geodetic CRS:  TWD97
stores <- st_read(dsn = 'data',
                    layer = 'stores') %>%
  st_transform(crs = 3829)
Reading layer `stores' from data source 
  `/Users/keredpoh/Desktop/keredpoh/IS415-GAA/In-class_Ex/In-class_Ex05/data' 
  using driver `ESRI Shapefile'
Simple feature collection with 1409 features and 4 fields
Geometry type: POINT
Dimension:     XY
Bounding box:  xmin: 121.4902 ymin: 25.01257 xmax: 121.5874 ymax: 25.08557
Geodetic CRS:  TWD97

#Plotting of maps

tmap_mode('view')
tm_shape(studyArea) +
  tm_polygons() +
  tm_shape(stores) +
    tm_dots(col = 'Name',
           size = 0.01,
           border.col = 'black',
           border.lwd = 0.5) +
  tm_view(set.zoom.limits = c(12,16))

#Local Colocation Quotients (LCLQ)

nb <- include_self(
  st_knn(st_geometry(stores), 6))

wt <- st_kernel_weights(nb, stores, 'gaussian',
                         adaptive = TRUE)

FamilyMart <- stores %>%
  filter(Name == 'Family Mart')
  
A <- FamilyMart$Name

SevenEleven <- stores %>%
  filter(Name == '7-Eleven')

B <- SevenEleven$Name

LCLQ <- local_colocation(A, B, nb, wt, 49)

LCLQ_stores <- cbind(stores, LCLQ)
tmap_mode("view") 

tm_shape(studyArea) +   
  tm_polygons() +
  tm_shape(LCLQ_stores) + 
  tm_dots(col = "X7.Eleven", size = 0.01,border.col = "black", border.lwd = 0.5) + 
  tm_view(set.zoom.limits = c(12,16))