Skip to main content

Tools for air traffic data analysis

Project description

ATM Data Tools

Tools for air traffic data analysis. The package currently consists of 3 functions for reading ADSB files.

Installation

This package is available via PyPi:

pip install atm-datatools

Import

You can import the package by using

import atmdatatools as adt

Functions

read_adsb()

read_adsb(fname, datestr, downsample=None, floor=None, ceiling=None)

Reads raw ADSB files, assuming that each file only has 1 day worth of data. Raw ADSB files should have the columns ['073:071_073TimeforPos','131:Latitude','131:Longitude','140:GeometricHeight','170:TargetID']. The column 073:071_073TimeforPos contains the time elapsed in seconds in UTC and the timezone of the file is currently hardcoded for UTC+8. Hence, the first row of this column starts at approximately 57,600s representing 16:00 UTC of the previous day.

Returns a GeoDataFrame with the columns ['id','datetime','unix_timestamp','geometry']. Each row represents 1 ADSB position report.

Parameters

  • fname: the filename of the adsb csv file
  • datestr: date string in the format 'YYYYMMDD'
  • [Optional] downsample = None: downsample the track data, e.g. 2 will take every 2nd point in the track data
  • [Optional] floor = None: cuts off tracks below this altitude in feet, recommend 100 feet if you wish to exclude ground movements
  • [Optional] ceiling = None: cuts off tracks above this altitude in feet

Returns

  • GeoDataFrame: A GeoDataFrame with the columns ['id','datetime','unix_timestamp','geometry']. Each row represents 1 ADSB position report.
    • id contains the flight number (e.g. SIA92). Increments the id of a position if a time gap of more than 15 minutes is detected. e.g. MEDIC77 becomes MEDIC77_1.
    • Times are in UTC
    • geometry column has Shapely Point objects with lat, long, and altitude information

read_adsb_byflightid()

read_adsb_byflightid(fname, datestr, flightid, downsample=None, floor=None, ceiling=None)

Reads raw ADSB files, assuming that each file only has 1 day worth of data, returning a GeoDataFrame with flight tracks of the desired flightid. Each row represents 1 ADSB position report. Parameters allow for additional filtering.

See the read_adsb() function documentation for raw ADSB file format.

Parameters

  • fname: the filename of the adsb csv file
  • datestr: date string in the format 'YYYYMMDD'
  • airport: Accepts ICAO airport codes, currently accepts WSSS, WSSL.
  • [Optional] downsample = None: downsample the track data, e.g. 2 will take every 2nd point in the track data
  • [Optional] floor = None: cuts off tracks below this altitude in feet, recommend 100 feet if you wish to exclude ground movements
  • [Optional] ceiling = None: cuts off tracks above this altitude in feet

Returns

  • GeoDataFrame: A GeoDataFrame with the columns ['id','datetime','unix_timestamp','geometry']. Each row represents 1 ADSB position report.
    • id contains the flight number (e.g. SIA92). Increments the id of a position if a time gap of more than 15 minutes is detected. e.g. MEDIC77 becomes MEDIC77_1.
    • Times are in UTC
    • geometry column has Shapely Point objects with lat, long, and altitude information

read_adsb_byairport()

read_adsb_byairport(fname, datestr, airport, arrdep=None, downsample=None, floor=None, ceiling=None)

Reads raw ADSB files, assuming that each file only has 1 day worth of data, returning a GeoDataFrame with flight tracks filtered by airport of interest. Each row represents 1 flightpath. Parameters allow for additional filtering.

See the read_adsb() function documentation for raw ADSB file format.

Parameters

  • fname: the filename of the adsb csv file
  • datestr: date string in the format 'YYYYMMDD'
  • airport: Accepts ICAO airport codes, currently accepts WSSS, WSSL.
  • [Optional] downsample = None: downsample the track data, e.g. 2 will take every 2nd point in the track data
  • [Optional] floor = None: cuts off tracks below this altitude in feet, recommend 100 feet if you wish to exclude ground movements
  • [Optional] ceiling = None: cuts off tracks above this altitude in feet

Returns

  • GeoDataFrame: A GeoDataFrame with the columns ['id','geometry']. Each row represents 1 flightpath.
    • id contains the flight number (e.g. SIA92). Increments the id of a position if a time gap of more than 15 minutes is detected. e.g. MEDIC77 becomes MEDIC77_1.
    • geometry column contains a Shapely LineString representing the flight's flightpath

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

atmdatatools-0.0.1.tar.gz (17.5 kB view details)

Uploaded Source

Built Distribution

atmdatatools-0.0.1-py3-none-any.whl (17.9 kB view details)

Uploaded Python 3

File details

Details for the file atmdatatools-0.0.1.tar.gz.

File metadata

  • Download URL: atmdatatools-0.0.1.tar.gz
  • Upload date:
  • Size: 17.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.11.0

File hashes

Hashes for atmdatatools-0.0.1.tar.gz
Algorithm Hash digest
SHA256 cbf3402245e2b8847749a4ee78166ab6173034d7ff072604ea56050ca433d868
MD5 fb60337704ccadd9a9581e47c1d8cd22
BLAKE2b-256 6d0a636119347492c80e67672c313ded2966bd8379a624f21e6a29547f52d86f

See more details on using hashes here.

File details

Details for the file atmdatatools-0.0.1-py3-none-any.whl.

File metadata

  • Download URL: atmdatatools-0.0.1-py3-none-any.whl
  • Upload date:
  • Size: 17.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.11.0

File hashes

Hashes for atmdatatools-0.0.1-py3-none-any.whl
Algorithm Hash digest
SHA256 266921f56cd6a2f3b62882db93fee6e740e0b31b360540864234c5dc340b3f6c
MD5 2673bdf215a37b552072f728301345fc
BLAKE2b-256 7409a164db38ce6c5e2bb9b04d65fd493dc01c34d45da2859bc1490d1b542565

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page