Skip to content

Commit 7a8027a

Browse files
author
faaiz-25
committed
pushing changes from fork to branch
1 parent 4f91307 commit 7a8027a

File tree

683 files changed

+110376
-44346
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

683 files changed

+110376
-44346
lines changed

.DS_Store

2 KB
Binary file not shown.
File renamed without changes.

scripts archive/02-geomapping-ICS_21_22.R renamed to 02-geomapping-ICS_21_22.R

Lines changed: 91 additions & 95 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@
44
# Dependencies: main_jan21.R output
55
#########################################################################################
66

7+
library(rgdal)
78
library(dplyr)
89
library(ggplot2)
910
library(tidyverse)
@@ -28,9 +29,6 @@ library(plotly)
2829
library(htmlwidgets)
2930
library(leaflet.minicharts)
3031
library(leaflet)
31-
library(sf)
32-
library(sp)
33-
library(st)
3432

3533
#############################################
3634
# DSPT curated file
@@ -52,45 +50,45 @@ data$Short.Status = factor(data$Status,dsptlevels)
5250

5351
## Load STP shapefile
5452
# Source: https://geoportal.statistics.gov.uk/datasets/clinical-commissioning-groups-april-2020-full-clipped-boundaries-en/explore?location=52.950000%2C-2.000000%2C7.02
55-
stp_spdf <- read_sf("/Users/muhammad-faaiz.shanawas/Documents/GitHub/open-cyber/Inputs/shapefile/STP_APR_2021_EN_BUC_V2.shp")
53+
stp_spdf <- readOGR("/Users/muhammad-faaiz.shanawas/Documents/GitHub/open-cyber/Inputs/shapefile/STP_APR_2021_EN_BUC_V2.shp")
5654

57-
#proj4string(stp_spdf) <- CRS("+init=epsg:27700") # BNG projection system
55+
proj4string(stp_spdf) <- CRS("+init=epsg:27700") # BNG projection system
5856

59-
#stp_spdf@proj4string # check system
57+
stp_spdf@proj4string # check system
6058

61-
stp_spdf <- stp_spdf %>% st_transform(CRS("+init=epsg:4326")) # reproject to latlong system
59+
stp_spdf <- stp_spdf %>% sp::spTransform(CRS("+init=epsg:4326")) # reproject to latlong system
6260

63-
stp_data = stp_spdf
61+
stp_data = stp_spdf@data
6462
#############################################
6563
# CCG shapefile
6664
#############################################
6765

6866
## Load CCG shapefile
6967

70-
ccg_spdf <- read_sf("/Users/muhammad-faaiz.shanawas/Documents/GitHub/open-cyber/Inputs/shapefile/CCG_APR_2021_EN_BFC.shp")
68+
ccg_spdf <- readOGR("/Users/muhammad-faaiz.shanawas/Documents/GitHub/open-cyber/Inputs/shapefile/CCG_APR_2021_EN_BFC.shp")
7169

72-
#proj4string(ccg_spdf) <- CRS("+init=epsg:27700") # BNG projection system
70+
proj4string(ccg_spdf) <- CRS("+init=epsg:27700") # BNG projection system
7371

74-
#ccg_spdf@proj4string # check system
72+
ccg_spdf@proj4string # check system
7573

76-
ccg_spdf <- ccg_spdf %>% st_transform(CRS("+init=epsg:4326")) # reproject to latlong system
74+
ccg_spdf <- ccg_spdf %>% sp::spTransform(CRS("+init=epsg:4326")) # reproject to latlong system
7775

7876
# Write to shapefile
7977
#writeOGR(ccg_spdf, layer = 'myshp_simplified', 'C:/temp', driver="ESRI Shapefile")
8078

81-
region_spdf = read_sf('/Users/muhammad-faaiz.shanawas/Documents/GitHub/open-cyber/Inputs/shapefile/NHS_England_Regions_(April_2020)_Boundaries_EN_BUC.shp')
82-
#proj4string(region_spdf) <- CRS("+init=epsg:27700") # BNG projection system
79+
region_spdf = readOGR('/Users/muhammad-faaiz.shanawas/Documents/GitHub/open-cyber/Inputs/shapefile/NHS_England_Regions_(April_2020)_Boundaries_EN_BUC.shp')
80+
proj4string(region_spdf) <- CRS("+init=epsg:27700") # BNG projection system
8381

84-
#region_spdf@proj4string # check system
82+
region_spdf@proj4string # check system
8583

86-
region_spdf <- region_spdf %>% st_transform(CRS("+init=epsg:4326")) # reproject to latlong system
84+
region_spdf <- region_spdf %>% sp::spTransform(CRS("+init=epsg:4326")) # reproject to latlong system
8785

8886
region_full <- region_spdf
8987

90-
#region_s <- rgeos::gSimplify(region_full,tol=0.01, topologyPreserve=FALSE)
88+
region_s <- rgeos::gSimplify(region_full,tol=0.01, topologyPreserve=FALSE)
9189

9290
# Create a spatial polygon data frame (includes shp attributes)
93-
#regions_spdf = SpatialPolygonsDataFrame(region_full, data.frame(region_full))
91+
regions_spdf = SpatialPolygonsDataFrame(region_s, data.frame(region_full))
9492

9593

9694

@@ -131,15 +129,15 @@ regions_lookup = read.csv('/Users/muhammad-faaiz.shanawas/Documents/GitHub/open-
131129
data_regions = unique(select(regions_lookup, 'STP21CD', 'STP21NM', 'NHSER21NM'))
132130

133131
# Join the reduced DSPT info with the CCG shapefile
134-
ccg_spdf <- left_join(ccg_spdf,data_merged,by=c("CCG21CD"="CCG21CD"))
135-
data_ccg_spdf <- ccg_spdf
132+
ccg_spdf@data <- left_join(ccg_spdf@data,data_merged,by=c("CCG21CD"="CCG21CD"))
133+
data_ccg_spdf <- ccg_spdf@data
136134

137135

138136
#merge and assign to stp_spdf data
139-
stp_spdfdata = stp_spdf
137+
stp_spdfdata = stp_spdf@data
140138
stp_spdfdata = merge(stp_spdfdata, select(data_regions, 'STP21CD', 'NHSER21NM'), by = "STP21CD", all = TRUE)
141139
#stp_spdfdata = na.omit(stp_spdfdata)
142-
stp_spdf = stp_spdfdata
140+
stp_spdf@data = stp_spdfdata
143141

144142

145143

@@ -157,18 +155,18 @@ catpal <- colorFactor(my_palette, dsptlevels,reverse=F,ordered=T)
157155
## Plotting
158156
# Prepare the text for tooltips:
159157
mytext <- paste(
160-
"<b>SUB-ICB 2022 code (ODS): </b>", ccg_spdf$ICB22CD, "<br/>",
161-
"<b>SUB-ICB 2022 name: </b>", ccg_spdf$LOC22NM,"<br/>",
162-
"<b>2021 STP name: </b>", ccg_spdf$STP21NM,"<br/>",
163-
"<b>Region name: </b>", ccg_spdf$NHSER22NM,"<br/>",
164-
"<b>DSPT Status: </b>", ccg_spdf$Short.Status, "<br/>",
158+
"<b>SUB-ICB 2022 code (ODS): </b>", ccg_spdf@data$ICB22CD,"<br/>",
159+
"<b>SUB-ICB 2022 name: </b>", ccg_spdf@data$LOC22NM,"<br/>",
160+
"<b>2021 STP name: </b>", ccg_spdf@data$STP21NM,"<br/>",
161+
"<b>Region name: </b>", ccg_spdf@data$NHSER22NM,"<br/>",
162+
"<b>DSPT Status: </b>", ccg_spdf@data$Short.Status, "<br/>",
165163
sep="") %>%
166164
lapply(htmltools::HTML)
167165

168166
mytext_ics <- paste(
169-
"<b>ICS/STP 2021 code: </b>", stp_spdf$STP21CD,"<br/>",
170-
"<b>ICS/STP 2021 name: </b>", stp_spdf$STP21NM,"<br/>",
171-
"<b>Region name: </b>", stp_spdf$NHSER21NM,"<br/>",
167+
"<b>ICS/STP 2021 code: </b>", stp_spdf@data$STP21CD,"<br/>",
168+
"<b>ICS/STP 2021 name: </b>", stp_spdf@data$STP21NM,"<br/>",
169+
"<b>Region name: </b>", stp_spdf@data$NHSER21NM,"<br/>",
172170
sep="") %>%
173171
lapply(htmltools::HTML)
174172

@@ -196,7 +194,7 @@ m<-leaflet(ccg_spdf) %>%
196194
) %>%
197195
addLegend( pal=catpal, values=~Status, opacity=0.9, title = "21/22 DSPT Status (CCG)", position = "bottomleft" )
198196

199-
m
197+
#m
200198

201199
#############################################
202200
# Mapping - CCGS + ICS layer
@@ -250,11 +248,11 @@ m02_l <- m02 %>% addLegend( data=ccg_spdf,pal=catpal, values=~Short.Status, opac
250248
get_popup_content <- function(my_spdf) {
251249
paste0(
252250
"<b>Provider </b>",
253-
"<br><b>- Provider code</b>:", my_spdf$ODS.Code,
254-
"<br><b>- Provider name:</b> ", my_spdf$ODS.Org.Name,
255-
#"<br><b>- STP/ICS (HQ postcode-based):</b> ", my_spdf$STP20NM,
256-
#"<br><b>- Region:</b> ", my_spdf$`NHSER20NM`,
257-
"<br><b>- DSPT status:</b> ", my_spdf$Status,
251+
"<br><b>- Provider code</b>:", my_spdf@data$ODS.Code,
252+
"<br><b>- Provider name:</b> ", my_spdf@data$ODS.Org.Name,
253+
#"<br><b>- STP/ICS (HQ postcode-based):</b> ", my_spdf@data$STP20NM,
254+
#"<br><b>- Region:</b> ", my_spdf@data$`NHSER20NM`,
255+
"<br><b>- DSPT status:</b> ", my_spdf@data$Status,
258256
sep=""
259257
)
260258
}
@@ -379,8 +377,8 @@ data_metric_ICS <- data_metric_ICS %>% mutate(metric_CCG_simple = Simple.Score_C
379377

380378

381379

382-
stp_spdf <- stp_spdf %>% left_join(data_metric_ICS,by=c("STP21CD"="STP21CD"))
383-
stp_data = stp_spdf
380+
stp_spdf@data <- stp_spdf@data %>% left_join(data_metric_ICS,by=c("STP21CD"="STP21CD"))
381+
stp_data = stp_spdf@data
384382

385383

386384
# Create a continuous palette function
@@ -393,20 +391,20 @@ pal_metric <- colorNumeric(
393391

394392
#create the label text for the first composite map
395393
mytext_ics_score <- paste(
396-
"<b>STP code (ODS): </b>", stp_spdf$STP21CD,"<br/>",
397-
"<b>STP name (ODS): </b>", stp_spdf$STP21NM,"<br/>",
398-
"<b>ICS score (CCG+Trust simple), range [-3,3]: </b>",round(stp_spdf$metric_CCGp_Trusts.x,2),"<br/>",
394+
"<b>STP code (ODS): </b>", stp_spdf@data$STP21CD,"<br/>",
395+
"<b>STP name (ODS): </b>", stp_spdf@data$STP21NM,"<br/>",
396+
"<b>ICS score (CCG+Trust simple), range [-3,3]: </b>",round(stp_spdf@data$metric_CCGp_Trusts,2),"<br/>",
399397
sep="") %>%
400398
lapply(htmltools::HTML)
401399

402400

403401

404402
#create the label text to display the stp info for each polygon
405403
mytext_new <- paste(
406-
"<b>STP code (ODS): </b>", stp_spdf$STP21CD,"<br/>",
407-
"<b>STP name (ODS): </b>", stp_spdf$STP21NM,"<br/>",
408-
"<b>Region: </b>", stp_spdf$NHSER21NM,"<br/>",
409-
"<b>ICS score (CCG population + Trust simple), range [-3,3]: </b>",round(stp_spdf$metric_CCGp_Trusts,2),"<br/>",
404+
"<b>STP code (ODS): </b>", stp_spdf@data$STP21CD,"<br/>",
405+
"<b>STP name (ODS): </b>", stp_spdf@data$STP21NM,"<br/>",
406+
"<b>Region: </b>", stp_spdf@data$NHSER21NM,"<br/>",
407+
"<b>ICS score (CCG population + Trust simple), range [-3,3]: </b>",round(stp_spdf@data$metric_CCGp_Trusts,2),"<br/>",
410408
sep="") %>%
411409
lapply(htmltools::HTML)
412410

@@ -419,7 +417,7 @@ m04 = leaflet() %>%
419417
addMapPane(name = "ICS polygons", zIndex = 400) %>%
420418
addMapPane(name = "ICS Labels", zIndex = 450) %>%
421419
addPolygons(
422-
data=region_spdf,
420+
data=regions_spdf,
423421
group="Region boundary",
424422
fillOpacity=0,
425423
color='blue',
@@ -453,52 +451,51 @@ m04
453451
# Mapping the composite ICS for CCG(population weighted) and Trusts (Weighted for EPRR risk)
454452
##############################################################################################
455453

456-
# #create new map labels to contain the dspt metric and stp region info
457-
# mytext_new <- paste(
458-
# "<b>STP code (ODS): </b>", stp_spdf$stp20cd,"<br/>",
459-
# "<b>STP name (ODS): </b>", stp_spdf$stp20nm,"<br/>",
460-
# "<b>Region: </b>", stp_spdf$NHSER20NM.y,"<br/>",
461-
# "<b>ICS score (CCG+Trust simple), range [-3,3]: </b>",round(stp_spdf$metric_CCGp_Trusts_EPRR.x,2),"<br/>",
462-
# sep="") %>%
463-
# lapply(htmltools::HTML)
464-
#
465-
#
466-
#
467-
# m05 = leaflet() %>%
468-
# addMapPane(name = "regionBorder", zIndex = 425) %>%
469-
# addMapPane(name = "ICS polygons", zIndex = 400) %>%
470-
# addMapPane(name = "ICS Labels", zIndex = 450) %>%
471-
# addMapPane(name = "Minicharts", zIndex = 435) %>%
472-
# addPolygons(
473-
# data=region_spdf,
474-
# group="Region boundary",
475-
# fillOpacity=0,
476-
# color='blue',
477-
# weight=5,
478-
# options = leafletOptions(pane = "regionBorder")
479-
# ) %>%
480-
# addTiles() %>%
481-
# setView( lat=53, lng=-2 , zoom=6) %>%
482-
# addPolygons(
483-
# data=stp_spdf,
484-
# group="ICS",
485-
# fillOpacity=1,
486-
# fillColor=~pal_metric(metric_CCGp_Trusts_EPRR),
487-
# color="black",
488-
# weight=1,
489-
# options = leafletOptions(pane = "ICS polygons")) %>%
490-
# addPolygons(
491-
# data=stp_spdf,
492-
# group="ICS",
493-
# fillOpacity=0,
494-
# fillColor=~pal_metric(metric_CCGp_Trusts_EPRR),
495-
# color="black",
496-
# weight= 0,
497-
# options = leafletOptions(pane = "ICS Labels"),
498-
# label = mytext_new ) %>%
499-
# addLegend("bottomright",pal=pal_metric,values=-3:3,title="ICS score - CCG Population/Trust EPRR")
500-
#
501-
# m05
454+
#create new map labels to contain the dspt metric and stp region info
455+
mytext_new <- paste(
456+
"<b>STP code (ODS): </b>", stp_spdf@data$stp20cd,"<br/>",
457+
"<b>STP name (ODS): </b>", stp_spdf@data$stp20nm,"<br/>",
458+
"<b>Region: </b>", stp_spdf@data$NHSER20NM.y,"<br/>",
459+
"<b>ICS score (CCG+Trust simple), range [-3,3]: </b>",round(stp_spdf@data$metric_CCGp_Trusts_EPRR,2),"<br/>",
460+
sep="") %>%
461+
lapply(htmltools::HTML)
462+
463+
464+
m05 = leaflet() %>%
465+
addMapPane(name = "regionBorder", zIndex = 425) %>%
466+
addMapPane(name = "ICS polygons", zIndex = 400) %>%
467+
addMapPane(name = "ICS Labels", zIndex = 450) %>%
468+
addMapPane(name = "Minicharts", zIndex = 435) %>%
469+
addPolygons(
470+
data=regions_spdf,
471+
group="Region boundary",
472+
fillOpacity=0,
473+
color='blue',
474+
weight=5,
475+
options = leafletOptions(pane = "regionBorder")
476+
) %>%
477+
addTiles() %>%
478+
setView( lat=53, lng=-2 , zoom=6) %>%
479+
addPolygons(
480+
data=stp_spdf,
481+
group="ICS",
482+
fillOpacity=1,
483+
fillColor=~pal_metric(metric_CCGp_Trusts_EPRR),
484+
color="black",
485+
weight=1,
486+
options = leafletOptions(pane = "ICS polygons")) %>%
487+
addPolygons(
488+
data=stp_spdf,
489+
group="ICS",
490+
fillOpacity=0,
491+
fillColor=~pal_metric(metric_CCGp_Trusts_EPRR),
492+
color="black",
493+
weight= 0,
494+
options = leafletOptions(pane = "ICS Labels"),
495+
label = mytext_new ) %>%
496+
addLegend("bottomright",pal=pal_metric,values=-3:3,title="ICS score - CCG Population/Trust EPRR")
497+
498+
m05
502499

503500

504501

@@ -537,14 +534,13 @@ stp_filter_numpatients <- gppopdata %>% filter(SEX=="ALL",AGE=="ALL",ORG_TYPE=="
537534
#stp_filter_numpatients <- stp_filter_numpatients[c("STP21CD", "NUMBER_OF_PATIENTS")]
538535
#stp_filter_numpatients <- unique(stp_filter_numpatients)
539536
#merge together the separated dspt data with the gp population data and stp spatial data frame for mapping
540-
data_trust_spdf_pie = left_join(x = stp_spdf, y = data_trusts_aggregate, by = "STP21CD")
537+
data_trust_spdf_pie = left_join(x = stp_spdf@data, y = data_trusts_aggregate, by = "STP21CD")
541538
#data_trust_spdf_pie = merge(x = data_trust_spdf_pie, y = stp_filter_numpatients, by = "STP21CD")
542539
data_trust_spdf_pie[41, 7] = 51.0
543540
data_trust_spdf_pie[41, 6] = 0.0
544541

545542
#create the map with the ICS boundaries displayed in black
546543

547-
class(data_trust_spdf_pie) = 'data.frame'
548544
m06 <- leaflet() %>%
549545
addTiles %>%
550546
addPolygons(
@@ -577,7 +573,7 @@ m06
577573
gppopdata_blue <- gppopdata %>% filter(SEX=="ALL",AGE=="ALL",ORG_TYPE=="ICB") %>% select(c("ONS_CODE","NUMBER_OF_PATIENTS"))
578574
gppopdata_blue <- gppopdata_blue %>% rename("STP21CD" = 1)
579575

580-
stp_spdfdata <- stp_spdf
576+
stp_spdfdata <- stp_spdf@data
581577

582578
stp_spdfdata1 = merge(stp_spdfdata, gppopdata_blue, by = "STP21CD")
583579

0 commit comments

Comments
 (0)