This document summarizes data provided by MnDOT for KA crashes (via email on 2021-02-04).

Read in data and display with glimpse() function:

KA2020 <- read_excel("shape/Data-4-Coordinators_2015-2020_KA-prelim.xlsx", 
                     sheet = "2015-2020 prelim DATA") #specifies that we only want the raw data sheet; 
                                                      #can also just specify tab number (4)
glimpse(KA2020)
## Rows: 10,265
## Columns: 36
## $ YEAR           <dbl> 2015, 2015, 2015, 2015, 2015, 2015, 2015, 2015, 2015...
## $ MODIFIERS      <chr> "None", "None", "None", "Geolocation", "None", "None...
## $ ACCN           <chr> "150140257", "150200277", "150090425", "150360058", ...
## $ INCIDENT_ID    <dbl> 11035936, 11044663, 11035438, 11045742, 11014786, 11...
## $ SOURCE         <chr> "DPS-FZN", "DPS-FZN", "DPS-FZN", "DPS-FZN", "DPS-FZN...
## $ F01_YOUNG      <chr> "Y", "N", "N", "N", "N", "N", "N", "N", "N", "N", "N...
## $ F02_UNLIC      <chr> "N", "N", "N", "N", "N", "N", "N", "N", "N", "N", "N...
## $ F03_OLDER      <chr> "N", "N", "N", "N", "N", "Y", "N", "N", "N", "N", "N...
## $ F04_SPEED      <chr> "Y", "N", "N", "N", "N", "N", "Y", "N", "Y", "N", "N...
## $ F05_IMPAR      <chr> "Y", "Y", "N", "N", "N", "N", "N", "N", "N", "Y", "N...
## $ F06_UBELT      <chr> "Y", "Y", "N", "N", "N", "N", "N", "N", "N", "N", "N...
## $ F07_INATT      <chr> "N", "Y", "N", "N", "N", "N", "N", "N", "N", "N", "N...
## $ F08_PEDNM      <chr> "N", "N", "Y", "N", "N", "N", "N", "Y", "N", "N", "N...
## $ F09_BIKES      <chr> "N", "N", "N", "N", "Y", "N", "N", "N", "N", "N", "Y...
## $ F10_MCYCL      <chr> "N", "N", "N", "N", "N", "N", "N", "N", "N", "N", "N...
## $ F11_TRUCK      <chr> "N", "Y", "N", "N", "N", "N", "N", "N", "Y", "Y", "N...
## $ F12_TRAIN      <chr> "N", "N", "N", "N", "N", "N", "N", "N", "N", "N", "N...
## $ F13_SVROR      <chr> "Y", "N", "N", "Y", "N", "N", "N", "N", "N", "N", "N...
## $ F14_HOSSO      <chr> "N", "Y", "N", "N", "N", "Y", "Y", "N", "N", "N", "N...
## $ F15_INTER      <chr> "Y", "N", "N", "N", "Y", "N", "N", "Y", "N", "Y", "Y...
## $ F16_WRKZN      <chr> "N", "N", "N", "N", "N", "N", "N", "N", "N", "N", "N...
## $ SUM_K          <dbl> 0, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0...
## $ SUM_A          <dbl> 1, 0, 0, 2, 1, 0, 2, 1, 1, 1, 1, 1, 1, 1, 2, 2, 1, 1...
## $ PEDS_K         <dbl> 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0...
## $ PEDS_A         <dbl> 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0...
## $ BIKE_K         <dbl> 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0...
## $ BIKE_A         <dbl> 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0...
## $ CRASH_SEVERITY <chr> "A", "K", "K", "A", "A", "K", "A", "A", "A", "A", "A...
## $ TZD            <chr> "South Central", "Southwest", "Metro", "Northeast", ...
## $ MPO            <chr> "NONE", "NONE", "Met Council", "NONE", "Met Council"...
## $ COUNTY         <chr> "Nicollet", "Kandiyohi", "Ramsey", "Saint Louis", "H...
## $ ACCDATE        <dttm> 2015-01-01, 2015-01-02, 2015-01-02, 2015-01-03, 201...
## $ ACCTIME        <chr> "0603", "0647", "2140", "1100", "1255", "1840", "080...
## $ SYSTEM         <chr> "Trunk Highway", "Trunk Highway", "Trunk Highway", "...
## $ UTMX           <dbl> 363146.4, 324242.4, 491162.4, 1.0, 480887.6, 490176....
## $ UTMY           <dbl> 4922577, 5003453, 4976442, 1, 4977445, 4955362, 4877...

Create an sf object from the data (essentially a shapefile)

Note that the coordinates are provided in UTM, not the usual lat/long. If we do not specify the Coordinate Reference System (CRS), we will get points plotted over France.

Different CRS numbers can be found here: https://epsg.io/

Put “UTM 15N” in the search bar and you will see “NAD83 / UTM zone 15N” as the top result with ESPG: 26915

KA2020shp <- st_as_sf(KA2020, coords = c("UTMX", "UTMY"), crs = 26915)

tmap_mode("view")
## tmap mode set to interactive viewing
tm_shape(KA2020shp) +
  tm_dots()