diff --git a/data/boundaries/lsoa_solent.dbf b/data/boundaries/lsoa_solent.dbf new file mode 100644 index 0000000000000000000000000000000000000000..3c6085c1a7d46a1a6fc3beca3704a2c69aed34e6 Binary files /dev/null and b/data/boundaries/lsoa_solent.dbf differ diff --git a/data/boundaries/lsoa_solent.prj b/data/boundaries/lsoa_solent.prj new file mode 100644 index 0000000000000000000000000000000000000000..fec0ee28909bd20afacd2e85077f13f60e8f6f62 --- /dev/null +++ b/data/boundaries/lsoa_solent.prj @@ -0,0 +1 @@ +PROJCS["British_National_Grid",GEOGCS["GCS_OSGB_1936",DATUM["D_OSGB_1936",SPHEROID["Airy_1830",6377563.396,299.3249646]],PRIMEM["Greenwich",0.0],UNIT["Degree",0.0174532925199433]],PROJECTION["Transverse_Mercator"],PARAMETER["False_Easting",400000.0],PARAMETER["False_Northing",-100000.0],PARAMETER["Central_Meridian",-2.0],PARAMETER["Scale_Factor",0.9996012717],PARAMETER["Latitude_Of_Origin",49.0],UNIT["Meter",1.0]] \ No newline at end of file diff --git a/data/boundaries/lsoa_solent.shp b/data/boundaries/lsoa_solent.shp new file mode 100644 index 0000000000000000000000000000000000000000..78653dae6f10852debdab1c2693dc9ecfc92bb39 Binary files /dev/null and b/data/boundaries/lsoa_solent.shp differ diff --git a/data/boundaries/lsoa_solent.shx b/data/boundaries/lsoa_solent.shx new file mode 100644 index 0000000000000000000000000000000000000000..e73949ff25deaf82e9e0acef74878af093fb40c9 Binary files /dev/null and b/data/boundaries/lsoa_solent.shx differ diff --git a/getBoundaryData.R b/getBoundaryData.R index eb41391b739b02a3400dae5ea7038ee43cf591a8..e57b9651231d3dc8d12765dbf650decefffb7b05 100644 --- a/getBoundaryData.R +++ b/getBoundaryData.R @@ -68,3 +68,53 @@ table(msoa_solent$LAD11NM) # save it out for re-use outf <- path.expand(paste0(here::here("data", "boundaries", "msoa_solent.shp"))) sf::write_sf(msoa_solent, outf) + +# LSOA boundaries for the Solent region ---- +# use the generalised boundaries (smaller file) + +# manually downloaded for now +# load all LSOAs from file + +inFile <- path.expand("~//Dropbox/data/UK_census2011/Lower_Layer_Super_Output_Areas_(December_2011)_Boundaries_Generalised_Clipped_(BGC)_EW_V3-shp/Lower_Layer_Super_Output_Areas_(December_2011)_Boundaries_Generalised_Clipped_(BGC)_EW_V3.shp") # local version +lsoa_all_sf <- sf::read_sf(inFile) + +# load the look up table so we can filter +lutFile <- here::here("data", "Output_Area_to_Lower_Layer_Super_Output_Area_to_Middle_Layer_Super_Output_Area_to_Local_Authority_District_(December_2011)_Lookup_in_England_and_Wales.csv") + +oa_lut <- data.table::fread(lutFile) + +# las_to_load <- c("Southampton","Portsmouth","Winchester", +# "Eastleigh","Isle of Wight","Fareham", +# "Gosport","Test Valley","East Hampshire", +# "Havant","New Forest","Hart","Basingstoke and Deane") + +# select the OAs we want via LAs +oa_solentLut <- oa_lut[LAD11NM == "Southampton" | + LAD11NM == "Portsmouth" | + LAD11NM == "Winchester" | + LAD11NM == "Eastleigh" | + LAD11NM == "Isle of Wight" | + LAD11NM == "Fareham" | + LAD11NM == "Gosport" | + LAD11NM == "Test Valley" | + LAD11NM == "East Hampshire" | + LAD11NM == "Havant" | + LAD11NM == "New Forest" | + LAD11NM == "Hart" | + LAD11NM == "Basingstoke and Deane"] + + +# collapse the OA level file to an LSOA level file +lsoa_solentLut <- oa_solentLut[, .(nLSOAs = .N), + keyby = .(LSOA11CD, MSOA11CD, MSOA11NM , LAD11CD, LAD11NM )] +lsoa_solentLut[, .(nOAs = .N), keyby = .(LAD11NM)] + +# merge the MSOA level file with the MSOA level shape file +lsoa_solent <- merge(lsoa_all_sf, lsoa_solentLut) + +# check +table(lsoa_solent$LAD11NM) + +# save it out for re-use +outf <- paste0(here::here("data", "boundaries", "lsoa_solent.shp")) +sf::write_sf(lsoa_solent, outf)