We need to find a suitable location for a new IKEA store in Boston, MA. Using data from GIS sources, we need to make sure the location fits the following criteria: 1. The store is located in census tracts with appropriate median income (25,000-80,000) and household value (200,000-500,000) 2. The store will be built in the current “OpenLand” areas 3. The store should be within 2000ft of the major roads 4. The store should be at least 200,000 sq ft.
library(tidyverse)
library(sf)
library(tmap)
tractsAll = read_sf("Data_CS05/Boston_CensusTracts.shp") %>% filter(Med_HouseV > 0)
land_use = read_sf("Data_CS05/Boston_LandUse.shp")
roads = read_sf("Data_CS05/Boston_MajorRoads.shp")
head(tractsAll)
head(land_use)
head(roads)
tracts = tractsAll %>% filter(Med_Income %in% (25000:80000), Med_HouseV %in% (200000:500000))
head(tracts)
land_use = land_use %>% filter(LU05_DESC == "Open Land")
head(land_use)
buffer = st_buffer(land_use, 2000)
inter = tracts %>% st_intersection(land_use) %>% st_intersection(buffer) %>% st_union() %>% st_cast("POLYGON")
head(inter)
area = st_area(inter)
head(area)
length(area)
candidates = inter[as.integer(area) > 200000]
length(candidates)
head(candidates)
ggplot(data = tractsAll) +
geom_sf(aes(fill = Med_Income)) +
geom_sf(data = candidates, fill = "green") +
# geom_sf(data = roads, col = "red")
labs(title = "Candidates for Boston IKEA Store", subtitle = "Locations selected based on median income/house value, area, and proximity to major roads, must currently be open land", fill = "Median Income", caption = "Green regions are potential locations for new store")
We found 20 candidates for the location of the new Boston IKEA store. They are mostly located in the northern area of Boston, though there are a few on the Eastern border of the city, with one candidate in the central area of the city. To narrow it down even further, we could potentially examine these locations’ proximity to large urban centers, which may be more suited to having an IKEA store since those areas already have frequent shoppers.