xoolive / traffic

A toolbox for processing and analysing air traffic data
https://traffic-viz.github.io/
MIT License
361 stars 80 forks source link
adsb air-traffic-data data-analytics data-science data-visualisation declarative-pipeline mode-s trajectory

A toolbox for processing and analysing air traffic data

Documentation Status tests Code Coverage Checked with mypy License
Join the chat at https://gitter.im/xoolive/traffic PyPI version PyPI downloads Conda version Conda Downloads
JOSS paper

The traffic library helps to work with common sources of air traffic data.

Its main purpose is to provide data analysis methods commonly applied to trajectories and airspaces. When a specific function is not provided, the access to the underlying structure is direct, through an attribute pointing to a pandas dataframe.

The library also offers facilities to parse and/or access traffic data from open sources of ADS-B traffic like the OpenSky Network or Eurocontrol DDR files. It is designed to be easily extendable to other sources of data.

Static visualization (images) exports are accessible via Matplotlib/Cartopy. More dynamic visualization frameworks are easily accessible in Jupyter environments with ipyleaflet and altair; or through exports to other formats, including CesiumJS or Google Earth.

Installation

Full installation instructions are to be found in the documentation.

Warning! Dependency resolution may be tricky, esp. if you use an old conda environment where you overwrote conda libraries with pip installs. Please only report installation issues in new, fresh conda environments.

If conda fails to resolve an environment in a reasonable time, consider using a Docker image with a working installation.

For troubleshooting, refer to the appropriate documentation section.

Credits

JOSS
badge

Documentation

Documentation Status Join the chat at https://gitter.im/xoolive/traffic

Documentation available at https://traffic-viz.github.io/
Join the Gitter chat for assistance: https://gitter.im/xoolive/traffic

Tests and code quality

tests Code Coverage Codacy Badge Checked with mypy

Unit and non-regression tests are written in the tests/ directory. You may run pytest from the root directory.

Tests are checked on Github Actions platform upon each commit. Latest status and coverage are displayed with standard badges hereabove.

In addition to unit tests, code is checked against:

pre-commit hooks are available in the repository.

Feedback and contribution

Any input, feedback, bug report or contribution is welcome.