This repository have datasets with all flights in Brazil registered by ANAC (Agência Nacional de Aviação Civil - National Civil Aviation Agency), all airports involved in these flights and a undirected graph with the number of flights between two airports.
Sources:
- Flights in Brazil by ANAC.
- List of public aerodromes by ANAC.
- Airport Codes by DataHub.io (note: the latitude and longitude columns have their values swapped).
After merging the datasets, the geocoder package was used to fill in the empty values.
You can find the datasets in data/
.
All flights in Brazil by ANAC. ANAC does not provide the data dictionary.
You can use lrzip
to decompress the file.
All airports on ANAC flight records.
Column | Type | Description | Example |
---|---|---|---|
code | string |
ICAO airport code | "SNBG" |
name | string |
Airport name. | "BAIXO GUANDU" |
state | string |
State where the airport is located. | "ES" |
region | string |
Region where the airport is located. | "SUDESTE" |
country | string |
Country where the airport is located. | "BRASIL" |
continent | string |
Continent where the airport is located. | "AMÉRICA DO SUL" |
lat_geo_point | double |
Latitude of the airport reference point. | -19.498889 |
lon_geo_point | double |
Longitude of the airport reference point. | -41.041944 |
It's an undirected graph.
The id of each node is the ICAO airport code.
Column | Type | Description | Example |
---|---|---|---|
name | string |
Airport name. | "GUARULHOS" |
country | string |
Country where the airport is located. | "BRASIL" |
latitude | double |
Latitude of the airport reference point. | -23.435556 |
longitude | double |
Longitude of the airport reference point. | -46.473056 |
Column | Type | Description | Example |
---|---|---|---|
flight_count | int |
Number of flights carried out between these airports. | 147 |
extract.py
- Download all CSV files and puts them in thedata/extract
folder.transform_to_anac_csv.py
- Merges all files downloaded from ANAC, rename the columns and createanac.csv
.transform_to_airports_csv.py
- Creates a dataset with all airports (airports.csv
).transform_to_graphml.py
- Creates an undirected graph (air_traffic.graphml
).
In your environment:
# Install requirements for scripts
pip install -r requirements.txt
# Download csv files from sources
python3 extract.py
# Transform to final files
python3 transform_to_anac_csv.py
python3 transform_to_airports_csv.py
python3 transform_to_graphml.py
If you have Docker and Makefile installed on your machine,
you can execute the make build
command to create the image,
followed by make shell
to access a container and execute
the aforementioned steps to generate the files.
To convert the data/anac.csv
file into data/anac.csv.lrz
, you must execute the following commands:
sudo apt install lrzip
lrzip -z data/anac.csv
Contributions are more than welcome. Fork, improve and make a pull request. For bugs, ideas for improvement or other, please create an issue.
This project is licensed under the CDLA-Sharing-1.0 License - see the LICENSE file for details.