After having a rough understanding of the data representing the road network (but see my warnings of yesterday), I am testing to merge the data concerning bike accidents with the map of the road.
Exhibit of the day
A map plot of accidents location over the road network
Show the code of the exhibit
library(sf)library(dplyr)library(ggplot2)library(units)# Load data road network# "https://fbinter.stadt-berlin.de/fb/wfs/data/senstadt/s_vms_detailnetz_spatial_gesamt"dsn$strassenkl <-factor(dsn$strassenkl)dsn$strassenkl <-factor(dsn$strassenkl,rev(levels(dsn$strassenkl)))dsn$length <-st_length(dsn)# Load data: crashcrash <-read.csv2("raw_data/AfSBBB_BE_LOR_Strasse_Strassenverkehrsunfaelle_2020_Datensatz.csv",colClasses =c(rep("character", 3),rep("factor", 9),rep("integer", 6),rep("factor", 1),rep("numeric", 5)))colnames(crash) |>tolower() ->colnames(crash)crash[13:18] <-sapply(crash[13:18] , as.logical)crash$umonat <-factor(crash$umonat, levels =1:12)levels(crash$umonat) <-format(seq.Date(as.Date('2000-01-01'), by ='month', len =12), "%b")# Change name and reorder weekday# 1 = Sonntag 2 = Montag 3 = Dienstag# 4 = Mittwoch 5 = Donnerstag 6 = Freitag 7 = Samstaglevels(crash$uwochentag) <-format(seq.Date(as.Date('2000-01-02'), by ='day', len =7), "%a")crash$uwochentag <-factor(crash$uwochentag,levels(crash$uwochentag)[c(7,1:6)])# Select Bike Crashcrash <-subset(crash, istrad ==TRUE)crash_longlat <-as.matrix(crash[c("xgcswgs84", "ygcswgs84")])crash_geom <- sfheaders::sf_point(crash_longlat)crash <-st_sf(cbind(crash[1:22], geom=st_geometry(crash_geom)))st_crs(crash) <-4326crash <-st_transform(crash, st_crs(dsn))# Berlin outlinelor <-st_read("raw_data/lor_planungsraeume_2021.gml")colnames(lor)[1:6] |>tolower() ->colnames(lor)[1:6]lor$plr_id <- lor$plr_id |>as.factor()subset(lor, select=-bez) -> lorlor_outer <-st_as_sf(st_union(lor))ggplot() +geom_sf(data = lor_outer,fill ="white") +geom_sf(data = dsn,col ="black",alpha =0.5) +geom_sf(data = crash,col ="red",size =0.3,alpha =0.5) +theme_void() +labs(title ="Accidents involving a bike",subtitle ="Berlin / 2020",caption ="Data: Strassenverkehrsunfälle 2020 + Detailnetz - Straßenabschnitte \nCC BY Amt für Statistik Berlin-Brandenburg & Geoportal Berlin")ggsave("2022-03-22_roads_bike_accidents.jpg",width =7.0,height =6,bg ="white",dpi =220)
Data: Strassenverkehrsunfälle nach Unfallort in Berlin 2020 CC BY Amt für Statistik Berlin-Brandenburg + Detailnetz Straßenabschnitte CC BY Geoportal Berlin”.