mirror of
https://github.com/kidwellj/mapping_environmental_action.git
synced 2024-11-01 07:52:21 +00:00
transitioning to sf, working on plots
This commit is contained in:
parent
a2e87a98ac
commit
cd6793b4f9
|
@ -19,12 +19,13 @@ knitr::opts_chunk$set(fig.path='figures/', warning=FALSE, echo=FALSE, message=FA
|
||||||
|
|
||||||
```{r load_packages, include=FALSE}
|
```{r load_packages, include=FALSE}
|
||||||
# TODO: need to alter this to use new sf data class as sp is deprecated
|
# TODO: need to alter this to use new sf data class as sp is deprecated
|
||||||
# require(sf) # new simplefeature data class, supercedes sp in many ways
|
require(sf) # new simplefeature data class, supercedes sp in many ways
|
||||||
require(rgdal) # deprecated by sf()
|
require(rgdal)
|
||||||
require(GISTools) # deprecated by sf()
|
require(GISTools) # deprecated by sf()
|
||||||
require(ggplot2)
|
require(ggplot2)
|
||||||
|
require(broom) # required for tidying SPDF to data.frame for ggplot2
|
||||||
require(rgeos)
|
require(rgeos)
|
||||||
require(sp) # needed for proj4string
|
require(sp) # needed for proj4string, deprecated by sf()
|
||||||
require(ggmap)
|
require(ggmap)
|
||||||
require(maptools)
|
require(maptools)
|
||||||
require(RCurl)
|
require(RCurl)
|
||||||
|
@ -65,10 +66,9 @@ Until recently, environmentalism has been treated by governments and environment
|
||||||
# read in Eco-Congregation Scotland data and-------------------
|
# read in Eco-Congregation Scotland data and-------------------
|
||||||
# ...turn it into a SpatialPointsDataFrame---------------------
|
# ...turn it into a SpatialPointsDataFrame---------------------
|
||||||
# TODO: upload ECS-GIS-Locations_3.0.csv to zenodo repository, i.e.
|
# TODO: upload ECS-GIS-Locations_3.0.csv to zenodo repository, i.e.
|
||||||
# ecs <- read.csv("data/ECS-GIS-Locations_3.0.csv", comment.char="#")
|
ecs <- read.csv("data/ECS-GIS-Locations_3.0.csv", comment.char="#")
|
||||||
# TODO: convert from sp() to sf() which will look something like:
|
ecs_sf <- st_as_sf(ecs, coords = c("X", "Y"), crs=27700)
|
||||||
# ecs <- st_read(system.file("pow_osm.gpkg", package = "spData"))
|
# unnecessary with advent of sf (above)
|
||||||
ecs <- read.csv(text=getURL("https://zenodo.org/record/1413333/files/ECS-GIS-Locations_2.9_enhanced.csv"))
|
|
||||||
coordinates(ecs) <- c("X", "Y")
|
coordinates(ecs) <- c("X", "Y")
|
||||||
proj4string(ecs) = CRS(bng)
|
proj4string(ecs) = CRS(bng)
|
||||||
```
|
```
|
||||||
|
@ -98,10 +98,11 @@ Eco-Congregation Scotland began a year before the official launch of Eco-Congreg
|
||||||
```{r calculate_ecs_by_year}
|
```{r calculate_ecs_by_year}
|
||||||
# Tidy up date fields and convert to date data type
|
# Tidy up date fields and convert to date data type
|
||||||
ecs$registration <- as.Date(ecs$registration, "%Y-%m-%d")
|
ecs$registration <- as.Date(ecs$registration, "%Y-%m-%d")
|
||||||
ecs$award1 <- as.Date(ecs$award1)
|
# TODO: Fix issues here with R complaining that "character string is not in a std...
|
||||||
ecs$award2 <- as.Date(ecs$award2)
|
# ecs$award1 <- as.Date(ecs$award1)
|
||||||
ecs$award3 <- as.Date(ecs$award3)
|
# ecs$award2 <- as.Date(ecs$award2)
|
||||||
ecs$award4 <- as.Date(ecs$award4)
|
# ecs$award3 <- as.Date(ecs$award3)
|
||||||
|
# ecs$award4 <- as.Date(ecs$award4)
|
||||||
```
|
```
|
||||||
|
|
||||||
The programme launched officially in 2001 at Dunblane Cathedral in Stirling and by 2005 the project had `length(ecs_complete_cases[ecs_complete_cases$year_begun < 2006, ])` congregations registered to be a part of the programme and 25 which had completed the curriculum successfully and received an Eco-Congregation award. By 2011, the number of registrations had tripled to `length(ecs_complete_cases[ecs_complete_cases$year_begun < 2012, ])` and the number of awarded congregations had quadrupled to `sum(ecs$award1 < "2012-01-01", na.rm=TRUE)`. This process of taking registrations and using a tiered award or recognition scheme is common to many voluntary organisations. The ECS curriculum was developed in part by consulting the Eco-Congregation England and Wales materials which had been released just a year earlier in 1999, though it has been subsequently revised, particularly with a major redesign in 2010. In the USA, a number of similar groups take a similar approach including Earth Ministry (earthministry.org) and Green Faith (greenfaith.org).
|
The programme launched officially in 2001 at Dunblane Cathedral in Stirling and by 2005 the project had `length(ecs_complete_cases[ecs_complete_cases$year_begun < 2006, ])` congregations registered to be a part of the programme and 25 which had completed the curriculum successfully and received an Eco-Congregation award. By 2011, the number of registrations had tripled to `length(ecs_complete_cases[ecs_complete_cases$year_begun < 2012, ])` and the number of awarded congregations had quadrupled to `sum(ecs$award1 < "2012-01-01", na.rm=TRUE)`. This process of taking registrations and using a tiered award or recognition scheme is common to many voluntary organisations. The ECS curriculum was developed in part by consulting the Eco-Congregation England and Wales materials which had been released just a year earlier in 1999, though it has been subsequently revised, particularly with a major redesign in 2010. In the USA, a number of similar groups take a similar approach including Earth Ministry (earthministry.org) and Green Faith (greenfaith.org).
|
||||||
|
@ -112,10 +113,12 @@ In the case of Eco-Congregation Scotland, congregations are invited to begin by
|
||||||
```{r import_admin_data}
|
```{r import_admin_data}
|
||||||
# read in polygon for Scottish admin boundaries
|
# read in polygon for Scottish admin boundaries
|
||||||
# TODO: upload bundle of admin data to new zenodo repository and alter below to use new URLs
|
# TODO: upload bundle of admin data to new zenodo repository and alter below to use new URLs
|
||||||
|
# TODO: need to remove readOGR below once st_read is confirmed to be working as sf
|
||||||
download.file("https://borders.ukdataservice.ac.uk/ukborders/easy_download/prebuilt/shape/Scotland_ca_2010.zip",
|
download.file("https://borders.ukdataservice.ac.uk/ukborders/easy_download/prebuilt/shape/Scotland_ca_2010.zip",
|
||||||
destfile = "data/Scotland_ca_2010.zip")
|
destfile = "data/Scotland_ca_2010.zip")
|
||||||
unzip("data/Scotland_ca_2010.zip", exdir = "data")
|
unzip("data/Scotland_ca_2010.zip", exdir = "data")
|
||||||
admin_lev1 <- readOGR("./data", "scotland_ca_2010")
|
admin_lev1 <- readOGR("./data", "scotland_ca_2010")
|
||||||
|
admin_lev1_sf <- st_read("data/scotland_ca_2010.shp")
|
||||||
|
|
||||||
# read in polygon for intermediate admin boundary layers
|
# read in polygon for intermediate admin boundary layers
|
||||||
download.file("http://census.edina.ac.uk/ukborders/easy_download/prebuilt/shape/Scotland_parlcon_2011.zip",
|
download.file("http://census.edina.ac.uk/ukborders/easy_download/prebuilt/shape/Scotland_parlcon_2011.zip",
|
||||||
|
@ -232,25 +235,18 @@ parishes <- rgdal::readOGR(dsn = "parishes", "england_cp_1991")
|
||||||
|
|
||||||
# Load population statistics for normalising data by population on admin_lev1
|
# Load population statistics for normalising data by population on admin_lev1
|
||||||
# TODO - consider adapting to use ONS mid-year statistics: https://www.ons.gov.uk/peoplepopulationandcommunity/populationandmigration/populationestimates/datasets/populationestimatesforukenglandandwalesscotlandandnorthernireland
|
# TODO - consider adapting to use ONS mid-year statistics: https://www.ons.gov.uk/peoplepopulationandcommunity/populationandmigration/populationestimates/datasets/populationestimatesforukenglandandwalesscotlandandnorthernireland
|
||||||
admin_lev1_pop <- read.csv("./data/scotland_admin_2011pop.csv", stringsAsFactors=FALSE)
|
admin_lev1_pop <- read.csv("./data/scotland_admin_2011pop.csv")
|
||||||
# commenting out original
|
|
||||||
# admin_joined <- merge(x=admin, y=admin_pop, by="CODE")
|
|
||||||
# TODO, need to tidy up merging process here as well
|
|
||||||
# TODO, merge is broken - need some help on this!
|
|
||||||
admin_lev1 <- merge(x=admin_lev1$code, y=admin_lev1_pop, by.x = as.character(admin_lev1$code), by.y = as.character9admin_lev1_pop$CODE)
|
|
||||||
# convert numbers to proper characters and ditch commas
|
|
||||||
admin_lev1$X2011_pop <- as.numeric(gsub("[,-]","",admin_lev1$X2011_pop))
|
|
||||||
# admin_joined$X2011_pop <- as.numeric(gsub("[,-]","",admin_joined$X2011_pop))
|
|
||||||
admin_lev1$pop_percent<- prop.table(admin_lev1$X2011_pop)
|
|
||||||
|
|
||||||
admin_lev2_pop <- read.csv("./data/scotland_and_wales_const_scotland_2011pop.csv", stringsAsFactors=FALSE)
|
admin_lev1 <- merge(x=admin_lev1, y=admin_lev1_pop, by.x = "code", by.y = "CODE")
|
||||||
admin_joined_lev2 <- merge(x=admin_lev2, y=admin_lev2_pop, by="CODE")
|
admin_lev1$pop_percent<- prop.table(as.numeric(admin_lev1$X2011_pop))
|
||||||
# convert numbers to proper characters and ditch commas
|
|
||||||
admin_joined_lev2$Postcode.Population <- as.numeric(gsub("[,-]","",admin_joined_lev2$Postcode.Population))
|
|
||||||
|
|
||||||
admin_lev3_pop <- read.csv("./data/district_borough_unitary_ward_scotland_2011pop.csv", stringsAsFactors=FALSE)
|
admin_lev2_pop <- read.csv("./data/scotland_and_wales_const_scotland_2011pop.csv")
|
||||||
admin_joined_lev3 <- merge(x=admin_lev3, y=admin_lev3_pop, by="CODE")
|
admin_joined_lev2 <- merge(x=admin_lev2, y=admin_lev2_pop, by.x = "code", by.y = "CODE")
|
||||||
admin_joined_lev3$Postcode.Population <- as.numeric(gsub("[,-]","",admin_joined_lev3$Postcode.Population))
|
|
||||||
|
# Considering removing admin_lev3 calculations as this seems to be unnecessary level granularity
|
||||||
|
# admin_lev3_pop <- read.csv("./data/district_borough_unitary_ward_scotland_2011pop.csv", stringsAsFactors=FALSE)
|
||||||
|
# admin_joined_lev3 <- merge(x=admin_lev3, y=admin_lev3_pop, by="CODE")
|
||||||
|
# admin_joined_lev3$Postcode.Population <- as.numeric(gsub("[,-]","",admin_joined_lev3$Postcode.Population))
|
||||||
```
|
```
|
||||||
|
|
||||||
Perhaps the first important question to ask of these groups is, where are they? I calculated the spread of eco-congregations and transition groups across each of the 32 council areas in Scotland. Every council area in Scotland has at least one eco-congregation or transition group). The most are located in `as.character(admin_lev1$NAME_2[which.max(admin_lev1$ecs_count)])`, with `max(admin_lev1$ecs_count)`, whereas the mean among all the 32 council areas is `mean(admin_lev1$ecs_count)`, with a median of `median(admin_lev1$ecs_count)`, standard deviation of `sd(admin_lev1$ecs_count)`, and interquartile range of `IQR(admin_lev1$ecs_count)`. The following choropleth maps show the relative concentration of eco-congregations (indicated by yellow to red).
|
Perhaps the first important question to ask of these groups is, where are they? I calculated the spread of eco-congregations and transition groups across each of the 32 council areas in Scotland. Every council area in Scotland has at least one eco-congregation or transition group). The most are located in `as.character(admin_lev1$NAME_2[which.max(admin_lev1$ecs_count)])`, with `max(admin_lev1$ecs_count)`, whereas the mean among all the 32 council areas is `mean(admin_lev1$ecs_count)`, with a median of `median(admin_lev1$ecs_count)`, standard deviation of `sd(admin_lev1$ecs_count)`, and interquartile range of `IQR(admin_lev1$ecs_count)`. The following choropleth maps show the relative concentration of eco-congregations (indicated by yellow to red).
|
||||||
|
@ -265,7 +261,12 @@ Perhaps the first important question to ask of these groups is, where are they?
|
||||||
# Row 1 plot using polygons from admin_lev1 and row 2 plot using ploygons from admin_lev2
|
# Row 1 plot using polygons from admin_lev1 and row 2 plot using ploygons from admin_lev2
|
||||||
# 3. Need to clip choropleth polygons to buildings shapefile
|
# 3. Need to clip choropleth polygons to buildings shapefile
|
||||||
|
|
||||||
ggplot()
|
|
||||||
|
|
||||||
|
ggplot() +
|
||||||
|
geom_sf(data = admin_lev1_sf)
|
||||||
|
# geom_point(data=as.data.frame(ecs), aes(x=X, y=Y))
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
pdf(file="figures/admin_choropleth_ecs.pdf", width=4, height=4)
|
pdf(file="figures/admin_choropleth_ecs.pdf", width=4, height=4)
|
||||||
|
|
Loading…
Reference in a new issue