R/clean_stops_data.R

Defines functions clean_stops_data

Documented in clean_stops_data

#' @title Clean stops data
#' @description Clean and combine stops data from Opendata
#' @import data.table
#' @import fst
#' @param import_folder Folder where data is located
#' @param export_folder Folder to export dataset
#' @return CSV file of stops data
#' @export

clean_stops_data <- function(import_folder, export_folder) {

  # Clean folder names
  import_folder <- clean_folder(import_folder)

  if (is.null(export_folder)) {
    export_folder <- import_folder
  } else {
    export_folder <- clean_folder(export_folder)
  }

  # Clean stops file
  stops <- paste0(import_folder, "stops.csv")
  stops <- data.table::fread(stops, encoding = "UTF-8")
  stops[stop_name == "Zürich, Kantonalbank", stop_name := "Zürich, Börsenstrasse"]
  stops[stop_name == "Bhf. Wollishofen/Staubstrasse", stop_name := "Zürich, Bhf Wollishofen (Tram)"]
  stops[stop_name == "Zürich, Bhf. Wollishofen/Werft", stop_name := "Zürich, Bhf Wollishofen (Bus)"]
  luggwegstrasse <- data.table::data.table(
    stop_name = "Zürich, Luggwegstrasse",
    stop_lat = 47.389189,
    stop_lon = 8.494737
  )
  stops <- data.table::rbindlist(list(stops, luggwegstrasse), fill = TRUE)

  # Change encoding of data.table to native
  character_columns <- names(stops)[lapply(stops, class) == "character"]
  stops[, (character_columns) := lapply(.SD, enc2native), .SDcols = character_columns]

  fwrite(stops, paste0(export_folder, "stops_cleaned.csv"))
}
lucasjamar/VBZtools documentation built on May 20, 2020, 3:44 a.m.