Back to list
KitfoxPilot

faa-data-pipeline

by KitfoxPilot

0🍴 0📅 Jan 25, 2026

SKILL.md


name: faa-data-pipeline description: Parse FAA aviation data sources (NASR, CIFP, d-TPP, DOF) into SQLite databases. Use when processing 28-day subscription data, building automated data pipelines, implementing AIRAC cycle updates, or working with FAA fixed-width file formats. Includes parsers for airports, runways, navaids, fixes, airways, frequencies, procedures (SIDs/STARs/approaches), obstacles, and approach plate manifests.

FAA Data Pipeline

Overview

Parse all FAA aviation data sources into SQLite databases for the MagentaLine EFB.

Data Sources

Quick Start

Download FAA Data

python scripts/download_faa_data.py --cycle 2513 --output ./faa_raw/

Parse NASR Data

# Parse airports
python scripts/parse_nasr_apt.py --input faa_raw/APT.txt --output aviation.db

# Parse runways
python scripts/parse_nasr_rwy.py --input faa_raw/RWY.txt --output aviation.db

# Parse all NASR files
for script in parse_nasr_*.py; do
    python scripts/$script --input faa_raw/ --output aviation.db
done

Parse CIFP Procedures

python scripts/parse_cifp.py --input faa_raw/FAACIFP18 --output aviation.db

Parse Obstacles

python scripts/parse_dof.py --input faa_raw/DOF.DAT --output aviation.db

Parse d-TPP Chart Manifest

python scripts/parse_dtpp_xml.py --input faa_raw/d-TPP_Metafile.xml --output aviation.db

Validate Data

python scripts/validate_data.py --database aviation.db --expected-airports 19000

File Format References

  • NASR field specifications: See references/nasr_field_specs.md
  • ARINC 424 record types: See references/cifp_record_types.md
  • AIRAC schedule: See references/airac_schedule.md
  • Data source URLs: See references/data_sources.md

Schema

The complete SQLite schema is in assets/aviation_schema.sql

Scripts

ScriptDescription
download_faa_data.pyDownload FAA data files for a given AIRAC cycle
parse_nasr_apt.pyParse APT.txt (airports)
parse_nasr_rwy.pyParse RWY.txt (runways)
parse_nasr_nav.pyParse NAV.txt (navaids)
parse_nasr_fix.pyParse FIX.txt (fixes/waypoints)
parse_nasr_awy.pyParse AWY*.txt (airways)
parse_nasr_twr.pyParse TWR.txt (frequencies)
parse_cifp.pyParse ARINC 424 CIFP data
parse_dof.pyParse DOF.DAT (obstacles)
parse_dtpp_xml.pyParse d-TPP metafile XML
validate_data.pyData integrity validation

Usage Examples

Building a Complete Aviation Database

# 1. Download current cycle data
python scripts/download_faa_data.py --cycle current --output ./faa_raw/

# 2. Initialize database with schema
sqlite3 aviation.db < assets/aviation_schema.sql

# 3. Parse all NASR files
python scripts/parse_nasr_apt.py --input faa_raw/APT.txt --output aviation.db
python scripts/parse_nasr_rwy.py --input faa_raw/RWY.txt --output aviation.db
python scripts/parse_nasr_nav.py --input faa_raw/NAV.txt --output aviation.db
python scripts/parse_nasr_fix.py --input faa_raw/FIX.txt --output aviation.db
python scripts/parse_nasr_awy.py --input faa_raw/ --output aviation.db
python scripts/parse_nasr_twr.py --input faa_raw/TWR.txt --output aviation.db

# 4. Parse CIFP procedures
python scripts/parse_cifp.py --input faa_raw/FAACIFP18 --output aviation.db

# 5. Parse obstacles
python scripts/parse_dof.py --input faa_raw/DOF.DAT --output aviation.db

# 6. Parse chart manifest
python scripts/parse_dtpp_xml.py --input faa_raw/d-TPP_Metafile.xml --output aviation.db

# 7. Validate
python scripts/validate_data.py --database aviation.db

Incremental Updates

# Update only obstacles (daily)
python scripts/download_faa_data.py --type dof --output ./faa_raw/
python scripts/parse_dof.py --input faa_raw/DOF.DAT --output aviation.db --mode update

# Update for new AIRAC cycle
python scripts/download_faa_data.py --cycle 2514 --output ./faa_raw/
# ... run all parsers

Data Integrity

The validate_data.py script checks:

  • Expected record counts (airports, runways, navaids, etc.)
  • Foreign key relationships
  • Coordinate ranges (latitude: -90 to 90, longitude: -180 to 180)
  • Required field presence
  • Identifier format validation

Score

Total Score

50/100

Based on repository quality metrics

SKILL.md

SKILL.mdファイルが含まれている

+20
LICENSE

ライセンスが設定されている

0/10
説明文

100文字以上の説明がある

0/10
人気

GitHub Stars 100以上

0/15
最近の活動

3ヶ月以内に更新がある

0/10
フォーク

10回以上フォークされている

0/5
Issue管理

オープンIssueが50未満

+5
言語

プログラミング言語が設定されている

+5
タグ

1つ以上のタグが設定されている

0/5

Reviews

💬

Reviews coming soon