HexAeroPy
HexAeroPy is a EUROCONTROL Python package designed for aviation professionals and data analysts. It allows for the determination of used airports, runways, taxiways, and stands based on available (ADS-B) flight trajectory coordinates. This tool aims to enhance aviation data analysis, facilitating the extraction of milestones for performance analysis.
Features
- Airport Detection: Identifies airports involved in a flight's trajectory.
- Runway Utilization: Determines which runways are used during takeoff and landing.
Installation
To install HexAeroPy, ensure you have Python 3.9+ installed. Then run the following command:
pip install HexAeroPy
Quick Start
Get started with HexAeroPy by running the following Python code:
from HexAeroPy import *
This will prompt you to download the geospatial metadata from Zenodo necessary to run the package. It will only cache once. The parquet datasets are available here: https://zenodo.org/records/10651018.
# Load test data
df = load_dataset(name='trajectories.parquet', datatype='test_data')
# Create unique id for each trajectory
df['id'] = df['icao24'] + '-' + df['callsign'] + '-' + df['time'].dt.date.apply(str)
df = df[['id', 'time', 'icao24', 'callsign', 'lat', 'lon', 'baroaltitude']]
# Identify runways
scored_rwy_detections_df, rwy_detections_df = identify_runways(df)
Usage
Visualizing Methodology
# Load approach hex dataset
egll = load_dataset(name="EGLL.parquet", datatype="runway_hex")
# Visualize approach cones
map_viz = choropleth_map(
egll,
column_name='gate_id_nr',
border_color='black',
fill_opacity=0.7,
color_map_name='Reds',
initial_map=None,
initial_location=[df.lat.values[0], df.lon.values[0]],
initial_zoom = 13,
tooltip_columns = ['id', 'airport_ref', 'airport_ident', 'le_ident', 'he_ident', 'length_ft', 'width_ft',
'surface', 'lighted', 'closed', 'gate_id']
)
# Add a single aircraft trajectory to the map
df = df[df['id'] == '0a0048-DAH2054-2023-08-02']
add_trajectory(map_viz, df)
# Show
map_viz.save('egll_arrival.html')
Download the HTML here: egll_departure.html
Development Roadmap
- [pending implementation] Taxiway Analysis: Analyzes taxi routes for efficiency and optimization.
- [pending implementation] Stand Identification: Identifies aircraft stands, enhancing ground operation analysis.
Contributing
We welcome contributions to HexAeroPy! Feel free to submit pull requests, report issues, or request features.
License
HexAeroPy is licensed under the MIT License - see the LICENSE file for details.
Credits and Acknowledgments
Special thanks to EUROCONTROL and the Performance Review Commission (PRC).
Contact Information
For support or queries, please contact us at pru-support@eurocontrol.int.
Metadata
Release files for HexAeroPy 1.0.4
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| HexAeroPy-1.0.4.tar.gz | 11.5 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| HexAeroPy-1.0.4-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 24.1 kB
Release files / HexAeroPy-1.0.4.tar.gz
| Download URL | HexAeroPy-1.0.4.tar.gz |
|---|---|
| Size | 11.5 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
516e6666313ec94ba956fdee8ae7a76b9debd8a0f4f2c876698e6d79e59d4b0b
|
|
BLAKE2b-256 checksum How to use checksums |
e45cb004841003c7fa532e32332067d015e4dbed8f1b19c9a80a394244349cc2
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/5.0.0 CPython/3.9.18
|
Release files / HexAeroPy-1.0.4-py3-none-any.whl
| Download URL | HexAeroPy-1.0.4-py3-none-any.whl |
|---|---|
| Size | 12.6 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
c6cbf1e3086e125bd14787635527559998a2d6dfdb2bd296b56c0c9be0422de5
|
|
BLAKE2b-256 checksum How to use checksums |
612fcce302334f246701a0349747e532e9bc50610fa3f6bdfed3157d30ed661a
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/5.0.0 CPython/3.9.18
|