library(sf)
library(tidyverse)
library(osrm)

## bring through the site geojson files
# Acute_sites
current_sites <- read_sf(
  "./Pins/Geojson/CurrentCLSites.geojson",
  agr = "identity"
)

# Proposed_site1
proposed_site1 <- read_sf(
  "./Pins//Geojson/Proposed1CLSites.geojson",
  agr = "identity"
)

# Proposed_site2
proposed_site2 <- read_sf(
  "./Pins//Geojson/Proposed2CLSites.geojson",
  agr = "identity"
)

# Proposed_site3
proposed_site3 <- read_sf(
  "./Pins//Geojson/Proposed3CLSites.geojson",
  agr = "identity"
)


## Isochrones from the geojson files
ccls_iso <- current_sites %>%
  mutate(iso = map(geometry,
                   osrmIsochrone,
                   breaks = seq(0, 90, by = 10),
                   returnclass = "sf")) %>%
  st_drop_geometry() %>%
  unnest(iso) %>%
  st_set_geometry("geometry") %>%
  st_transform(crs = 27700)

saveRDS(ccls_iso, "./Pins/Isochrones/ccls_iso")     #Save isochrone file
ccls_iso <- readRDS("./Pins/Isochrones/ccls_iso")   #View file has run ok and can be called

pcls1_iso <- proposed_site1 %>%
  mutate(iso = map(geometry,
                   osrmIsochrone,
                   breaks = seq(0, 90, by = 10),
                   returnclass = "sf")) %>%
  st_drop_geometry() %>%
  unnest(iso) %>%
  st_set_geometry("geometry") %>%
  st_transform(crs = 27700)

saveRDS(pcls1_iso, "./Pins/Isochrones/pcls1_iso")
pcls1_iso <- readRDS("./Pins/Isochrones/pcls1_iso")

pcls2_iso <- proposed_site2 %>%
  mutate(iso = map(geometry,
                   osrmIsochrone,
                   breaks = seq(0, 90, by = 10),
                   returnclass = "sf")) %>%
  st_drop_geometry() %>%
  unnest(iso) %>%
  st_set_geometry("geometry") %>%
  st_transform(crs = 27700)

saveRDS(pcls2_iso, "./Pins/Isochrones/pcls2_iso")
pcls2_iso <- readRDS("./Pins/Isochrones/pcls2_iso")

pcls3_iso <- proposed_site3 %>%
  mutate(iso = map(geometry,
                   osrmIsochrone,
                   breaks = seq(0, 90, by = 10),
                   returnclass = "sf")) %>%
  st_drop_geometry() %>%
  unnest(iso) %>%
  st_set_geometry("geometry") %>%
  st_transform(crs = 27700)

saveRDS(pcls3_iso, "./Pins/Isochrones/pcls3_iso")
pcls3_iso <- readRDS("./Pins/Isochrones/pcls3_iso")
