Metadata-Version: 2.1
Name: safety-road-mapping
Version: 0.1.5
Summary: Module to generate a safety score for brazilian roads.
Home-page: https://github.com/cervejaria-ambev/safety_road_mapping
License: MIT
Keywords: geopy,safety,folium
Author: Gabriel Aparecido Fonseca
Requires-Python: >=3.8,<4.0
Classifier: Development Status :: 3 - Alpha
Classifier: License :: OSI Approved :: MIT License
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.8
Classifier: Programming Language :: Python :: 3.9
Classifier: Topic :: Scientific/Engineering :: GIS
Classifier: Topic :: Software Development :: Libraries :: Python Modules
Requires-Dist: Unidecode (>=1.2.0,<2.0.0)
Requires-Dist: colour (>=0.1.5,<0.2.0)
Requires-Dist: folium (>=0.12.1,<0.13.0)
Requires-Dist: geopy (>=2.2.0,<3.0.0)
Requires-Dist: openrouteservice (>=2.3.3,<3.0.0)
Requires-Dist: pandas (>=1.3.2,<2.0.0)
Requires-Dist: patool (>=1.12,<2.0)
Requires-Dist: plotly (>=5.2.2,<6.0.0)
Requires-Dist: python-dotenv (>=0.19.0,<0.20.0)
Requires-Dist: typeguard (>=2.12.1,<3.0.0)
Requires-Dist: typing-extensions (>=3.10.0,<4.0.0)
Project-URL: Repository, https://github.com/cervejaria-ambev/safety_road_mapping
Description-Content-Type: text/markdown

# General Instructions

## Generating API token

This project uses [openrouteservice API](https://openrouteservice.org) to plot maps and routes.
So the following steps are necessary at first:

1. Sign up on [openrouteservice.org](https://openrouteservice.org/dev/#/signup) to generate an API token;
2. Create a `.env` file with the following content: `TOKEN=XXXXXXXXXXXXXXX`, where `XXXXXXXXXXXXXXX` is the token generated in the step before;
3. Install the lib: `pip install safety-road-mapping`
4. Get the road accidents according the instructions bellow: [Getting accident road data](#getting-accident-road-data)
5. See the documentation on: [safety documentation](\docs\safety_road_mapping\safety.md)
6. See the examples on how to use the lib on: [how-to-use.ipynb](.\safety_road_mapping\examples\how-to-use.ipynb)

## Getting accident road data

- The accidents data used were extracted from the [Polícia Rodoviária Federal website](https://www.gov.br/prf/pt-br).
- The notebook [get_data.ipynb](.\safety_road_mapping\extract_data\get_data.ipynb) is responsible to download and extract the data used.
- If you want to directly download the files you can [click here](https://www.gov.br/prf/pt-br/acesso-a-informacao/dados-abertos/dados-abertos-acidentes).
- To consolidate all the accidents by year on an unique `.csv` file use the notebook [consolidate_data.ipynb](.\safety_road_mapping\extract_data\consolidate_data.ipynb).
- For a simple explore data analysis from the data look at [eda_accidents.ipynb](.\safety_road_mapping\extract_data\eda_accidents.ipynb)

## Other possible steps on the project

- The accidents data used comes just from road federal police source, so there are some routes that don't receive score because they are state highways.
- Create some unit tests.
- Use [Renaest](https://www.gov.br/infraestrutura/pt-br/assuntos/transito/arquivos-denatran/docs/renaest) data (currently only [SP has geolocation data](http://www.infosiga.sp.gov.br)).
- Include other variables in the score calculation.
- Include driver behaviors data.
- Implement an algorithm to predict accidents.
- The routes subsections are not connected, once they are plotted individually in the map. Visually it can be interesting to connect them. (Is it possible or necessary?).

