1
1
setwd(" ~/Documents/JIBE/travelDiaryProcessing" )
2
2
source(" script/Manchester/read.R" )
3
3
4
- # Spatial variation based on origin
5
- cycleTripsByStartOA <- TRADS $ trips %> %
6
- filter(t.startOA != " " ) %> %
7
- group_by(t.startOA ) %> %
8
- summarise(cycleStart = sum(t.m_main == " Bicycle" ),
9
- cycleStartShare = cycleStart / n())
10
-
11
- cycleTripsByEndOA <- TRADS $ trips %> %
12
- filter(t.endOA != " " ) %> %
13
- group_by(t.endOA ) %> %
14
- summarise(cycleEnd = sum(t.m_main == " Bicycle" ),
15
- cycleEndShare = cycleEnd / n())
4
+ OAs <- sf :: st_read(" ~/Documents/manchester/zones/gm_oa.shp" )
5
+ LSOAs <- sf :: st_read(" ~/Documents/manchester/zones/LSOA_studyArea.shp" )
6
+ MSOAs <- sf :: st_read(" ~/Documents/manchester/zones/MSOA_studyArea.shp" )
16
7
17
- cycleTripsByHomeOA <- TRADS $ trips %> %
18
- left_join(TRADS $ households ) %> %
19
- group_by(hh.OA ) %> %
20
- summarise(cycleHome = sum(t.m_main == " Bicycle" ),
21
- cycleHomeShare = cycleHome / n())
8
+ trips <- TRADS $ trips %> % left_join(select(TRADS $ households ,hh.id ,hh.OA ))
22
9
23
- OAs <- sf :: read_sf(" ~/Documents/manchester/JIBE/accessibility/OAs/gm_oa.shp" )
10
+ # Spatial variation based on origin
11
+ getTripsAndShares <- function (var ,suffix ,areaType ) {
12
+ lookup <- OA_lookup [,c(" OA11CD" ,areaType )]
13
+ colnames(lookup )[1 ] <- var
14
+
15
+ result <- trips %> %
16
+ left_join(lookup ) %> %
17
+ group_by_(areaType ) %> %
18
+ summarise(cycleCount = sum(t.m_main == " Bicycle" ),
19
+ walkCount = sum(t.m_main == " Walk" ),
20
+ trips = n(),
21
+ cycleShare = cycleCount / n(),
22
+ walkShare = walkCount / n())
23
+
24
+ colnames(result )[2 : 6 ] <- paste(colnames(result )[2 : 6 ],suffix ,sep = " _" )
25
+
26
+ return (result )
27
+ }
24
28
25
29
OAs <- OAs %> %
26
- left_join(cycleTripsByStartOA ,by = c(" geo_code" = " t.startOA" )) %> %
27
- left_join(cycleTripsByEndOA ,by = c(" geo_code" = " t.endOA" )) %> %
28
- left_join(cycleTripsByHomeOA ,by = c(" geo_code" = " hh.OA" )) %> %
29
- mutate(across(starts_with(" cycle" ),function (x ) replace_na(x ,0 )))
30
+ left_join(getTripsAndShares(" t.startOA" ," start" ," OA11CD" ),by = c(" geo_code" = " OA11CD" )) %> %
31
+ left_join(getTripsAndShares(" t.endOA" ," end" ," OA11CD" ),by = c(" geo_code" = " OA11CD" )) %> %
32
+ left_join(getTripsAndShares(" hh.OA" ," hh" ," OA11CD" ),by = c(" geo_code" = " OA11CD" )) %> %
33
+ mutate(across(starts_with(" cycle" ) | starts_with(" walk" ) | starts_with(" trip" ),function (x ) replace_na(x ,0 )))
34
+
35
+ MSOAs <- MSOAs %> %
36
+ left_join(getTripsAndShares(" t.startOA" ," start" ," MSOA11CD" )) %> %
37
+ left_join(getTripsAndShares(" t.endOA" ," end" ," MSOA11CD" )) %> %
38
+ left_join(getTripsAndShares(" hh.OA" ," hh" ," MSOA11CD" )) %> %
39
+ mutate(across(starts_with(" cycle" ) | starts_with(" walk" ) | starts_with(" trip" ),function (x ) replace_na(x ,0 )))
40
+
41
+ LSOAs <- LSOAs %> %
42
+ left_join(getTripsAndShares(" t.startOA" ," start" ," LSOA11CD" )) %> %
43
+ left_join(getTripsAndShares(" t.endOA" ," end" ," LSOA11CD" )) %> %
44
+ left_join(getTripsAndShares(" hh.OA" ," hh" ," LSOA11CD" )) %> %
45
+ mutate(across(starts_with(" cycle" ) | starts_with(" walk" ) | starts_with(" trip" ),function (x ) replace_na(x ,0 )))
46
+
30
47
31
- sf :: write_sf(OAs ," result/bikeShares.shp" )
48
+ sf :: st_write(OAs ," result/activeSharesOA.gpkg" ,append = FALSE )
49
+ sf :: st_write(MSOAs ," result/activeSharesMSOA.gpkg" ,append = FALSE )
50
+ sf :: st_write(LSOAs ," result/activeSharesLSOA.gpkg" ,append = FALSE )
0 commit comments