lvalnegri

bnd2rds.R

May 16th, 2018
308
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
R 1.14 KB | None | 0 0
  1. #######################################################
  2. # SHINY Explorer - boundaries conversion to rds format
  3. #######################################################
  4.  
  5. # load packages
  6. pkg <- c('rgdal', 'RMySQL', 'sp')
  7. invisible( lapply(pkg, require, character.only = TRUE) )
  8. loca.map <- c('CCG', 'LAT', 'NHSR', 'CCR', 'CTRY')
  9.  
  10. # load additional datasets
  11. db_conn <- dbConnect(MySQL(), group = 'shiny', dbname = 'common')
  12. areas <- suppressWarnings(data.table(dbReadTable(db_conn, 'locations') ) )
  13. centres <- suppressWarnings(data.table(dbReadTable(db_conn, 'centres'), key = 'HSP_id') )
  14. dbDisconnect(db_conn)
  15.  
  16. # load boundaries and build unique list
  17. boundaries <- lapply(loca.map, function(x) readOGR(shp.path, x))
  18. names(boundaries) <- loca.map
  19. for(m in loca.map){
  20.     boundaries[[m]] <- merge(boundaries[[m]], areas[, .(ons_id, nhs_id, name)], by.x = 'id', by.y = 'ons_id')
  21. #    boundaries[[m]] <- merge(boundaries[[m]], centres[, .(H = .N), .(ons_id = get(paste0(m, '_ons')))], by.x = 'id', by.y = 'ons_id')
  22. }
  23.  
  24. # save boundaries as RDS object
  25. saveRDS(boundaries, paste0(data.path, 'boundaries.rds'))
  26.  
  27. # clean and exit
  28. rm(list = ls())
  29. gc()
Advertisement
Add Comment
Please, Sign In to add comment