This package is in development and not yet on CRAN. If you would like to use it, please install it from GitHub as shown below, and cite it as follows:
Farrell, G., Lovelace, R., & O’Hern, S. (2024). Road User Video Evidence of Road Traffic Offences: Preliminary Analysis of Operation Snap Data and Suggestions for a Research Agenda. https://doi.org/10.31235/osf.io/cgjmr
@misc{farrellRoadUserVideo2024,
title = {Road {{User Video Evidence}} of {{Road Traffic Offences}}: {{Preliminary Analysis}} of {{Operation Snap Data}} and {{Suggestions}} for a {{Research Agenda}}},
shorttitle = {{{ROAD USER VIDEO EVIDENCE OF ROAD TRAFFIC OFFENCES}}},
author = {Farrell, Graham and Lovelace, Robin and O'Hern, Steve},
year = {2024},
month = jul,
publisher = {OSF},
doi = {10.31235/osf.io/cgjmr},
urldate = {2024-07-29},
archiveprefix = {OSF},
langid = {american},
keywords = {antisocial driving,dangerous driving,near misses,Operation Snap,OpSnap,roas safety,Video evidence}
}
Read the full paper here.
Install the package from GitHub:
The opsnap
package provides a function to download and read in data
from the West Yorkshire Police Operation Snap database. The data is
available at the following URL:
https://www.westyorkshire.police.uk/SaferRoadsSubmissions
Data for the following years are provided:
file_names |
---|
operation_snap_april-june_2024_0.xlsx |
operation_snap_jan-march_2024.xlsx |
operation_snap_oct-dec_2023_0.xlsx |
operation_snap_july-sept_2023.xlsx |
operation_snap_apr-jun_2023_data.xlsx |
operation_snap_jan-mar_2023_data.xlsx |
operation_snap_oct-dec_2022_data.xlsx |
operation_snap_jul-sept_2022_data.xlsx |
operation_snap_apr-jun_2022_data.xlsx |
operation_snap_jan-mar_2022_data.xlsx |
operation_snap_2021_data.xlsx |
The data is open acess and looks like this, with names cleaned up by the package:
u = "https://www.westyorkshire.police.uk/sites/default/files/2024-01/operation_snap_oct-dec_2023_0.xlsx"
d = opsnap:::download_and_read(u)
names(d_with_location)
# Old names:
# [1] "REPORTER TRANSPORT MODE" "OFFENDER VEHICLE MAKE"
# [3] "OFFENDER VEHICLE MODEL" "OFFENDER VEHICLE COLOUR"
# [5] "OFFENCE" "DISTRICT"
# [7] "DISPOSAL" "DATE OF SUBMISSION"
# [9] "...9" "OFF LOCATION"
# New names:
# [1] "mode" "make" "model" "colour" "offence" "district" "disposal"
# [8] "date" "location"
mode | make | model | colour | offence | district | disposal | date | location |
---|---|---|---|---|---|---|---|---|
vehicle driver | bmw | x3 | black | rt88966 motor vehicle fail to comply with endorsable s36 traffic sign | bd | educational course | 2024-01-01 | a6033 keighley road, hebden bridge |
vehicle driver | nissan | qashqai | bronze | rt88576 drive without reasonable consideration to others | ld | educational course | 2024-01-01 | canal road, bradford |
vehicle driver | seat | leon | white | rt88575 drive without due care and attention | ld | educational course | 2024-01-01 | roundabout, junction 31 m62, normanton |
There are 20364 records in the data, with increasing numbers of records over time (average n. records per month shown below):
As shown in the graph above not all (72.6%) records have values for the ‘location’ column.
The breakdown of all records by mode of transport (of the observer) is shown below:
mode | n | percent_records |
---|---|---|
vehicle driver | 10145 | 49.8% |
cyclist | 7069 | 34.7% |
pedestrian | 1467 | 7.2% |
vehicle passenger | 650 | 3.2% |
unknown | 526 | 2.6% |
horse rider | 456 | 2.2% |
motorcyclist | 50 | 0.2% |
NA | 1 | 0.0% |
The offence text strings are quite long, with the most common offences shown below:
offence | n | percent_records |
---|---|---|
n/a | 6375 | 31.3% |
rt88576 drive without reasonable consideration to others | 5495 | 27.0% |
rt88575 drive without due care and attention | 3254 | 16.0% |
rt88975 drive motor vehicle fail to comply with red / green arrow / lane closure traffic light signals | 1555 | 7.6% |
rt88971 fail to comply with red traffic light | 686 | 3.4% |
rt88966 motor vehicle fail to comply with endorsable s36 traffic sign | 474 | 2.3% |
rv86019 use a handheld phone / device whilst driving a motor vehicle on a road | 456 | 2.2% |
rt88760 fail to comply with solid white lines | 288 | 1.4% |
rt88751 contravene give way sign | 278 | 1.4% |
rt88751 contravene mandatory direction arrows | 214 | 1.1% |
The equivalent table excluding records with missing location data is shown below:
offence | n | percent_records |
---|---|---|
rt88576 drive without reasonable consideration to others | 5495 | 37.2% |
rt88575 drive without due care and attention | 3254 | 22.0% |
rt88975 drive motor vehicle fail to comply with red / green arrow / lane closure traffic light signals | 1555 | 10.5% |
rt88971 fail to comply with red traffic light | 686 | 4.6% |
rt88966 motor vehicle fail to comply with endorsable s36 traffic sign | 474 | 3.2% |
rv86019 use a handheld phone / device whilst driving a motor vehicle on a road | 456 | 3.1% |
rt88760 fail to comply with solid white lines | 288 | 1.9% |
rt88751 contravene give way sign | 278 | 1.9% |
rt88751 contravene mandatory direction arrows | 214 | 1.4% |
suspected contravene weight restriction. | 213 | 1.4% |
The equivalent for cyclists, with location present and the least common offences categorised as ‘other’, is shown below:
offence | n | % of total |
---|---|---|
rt88576 drive without reasonable consideration to others | 4124 | 78.0% |
rt88575 drive without due care and attention | 568 | 10.7% |
rv86019 use a handheld phone / device whilst driving a motor vehicle on a road | 238 | 4.5% |
rt88975 drive motor vehicle fail to comply with red / green arrow / lane closure traffic light signals | 122 | 2.3% |
rt88971 fail to comply with red traffic light | 57 | 1.1% |
rt88751 contravene give way sign | 32 | 0.6% |
rt88966 motor vehicle fail to comply with endorsable s36 traffic sign | 28 | 0.5% |
other | 120 | 2.3% |
In terms ‘disposal’, the most common values are shown below:
disposal | n | percent_records |
---|---|---|
educational course | 10887 | 53.5% |
nfa | 6365 | 31.3% |
conditional offer | 2563 | 12.6% |
court | 321 | 1.6% |
dsit investigation | 202 | 1.0% |
rpu investigation | 24 | 0.1% |
fine | 1 | 0.0% |
NA | 1 | 0.0% |
There are 8902 unique location text strings (addresses) in the data, with the most common locations shown below:
location | n | percent_records |
---|---|---|
meanwood road, leeds | 94 | 0.6% |
dewsbury road, ossett | 64 | 0.4% |
park square west, leeds | 59 | 0.4% |
tongue lane, leeds | 52 | 0.4% |
chapeltown road, leeds | 49 | 0.3% |
clayton road, bradford | 43 | 0.3% |
hollingwood lane, bradford | 41 | 0.3% |
highgate road, bradford | 39 | 0.3% |
westgate j/w park square west, leeds | 39 | 0.3% |
carr hill road, upper cumberworth, huddersfield | 38 | 0.3% |
We provide a function to geocode the records:
d_sample = d_with_location[1:5, ]
d_sf = opsnap:::op_geocode(d_sample)
mapview::mapview(d_sf)
After geocoding all records we kept only those within the boundary of West Yorkshire, which removed another 3% of records.
Due to inaccuracy in the geocoding, we only know the locations of the records to within around 500m of each crash (although we can link to specific roads). We’ll present the geographic distribution of crashes using a 500m grid:
The map above represents 8607 incidents in West Yorkshire with an offence that could be geocoded.