Skip to content

Weather overlay: NEXRAD radar, satellite imagery, and NOAA aviation products #12

@billmallard

Description

@billmallard

Summary

Overlay real-time and near-real-time aviation weather products on the moving map. Weather awareness is among the highest-value additions to any EFB/moving map and is a primary factor in go/no-go decisions.

Data Sources

NEXRAD Radar

  • Source: NOAA/NWS Multi-Radar Multi-Sensor (MRMS) mosaic tiles via AWS S3 (public, no auth required)
    • s3://noaa-mrms-pds/CONUS/MergedReflectivityQCComposite_00.50/
    • Updated every 2 minutes
  • Alternative: Iowa State University NEXRAD tile server (Web Mercator tiles, easy to consume)
  • Format: GeoTIFF or pre-tiled PNG with EPSG:4326 bounds

Satellite Imagery

  • Source: NOAA GOES-East/West via AWS S3 (public)
    • Visible, IR, and water vapour channels
    • Updated every 5–10 minutes
  • Alternative: RainViewer API (free tier available, radar + satellite)

Other Aviation Products

Product Source Update Cycle
METARs (station dots) aviationweather.gov JSON API Continuous
TAFs aviationweather.gov Hourly
PIREPs aviationweather.gov Continuous
SIGMETs / AIRMETs aviationweather.gov As issued
Winds aloft aviationweather.gov 6-hourly
Icing (CIP) aviationweather.gov Hourly

Implementation Approach

  1. Background thread fetches weather tiles/data on a configurable interval
  2. Weather layer composited over the chart in paintEvent using QPainter opacity
  3. METAR stations rendered as colour-coded dots (VFR green / MVFR blue / IFR red / LIFR magenta) matching standard EFB convention
  4. Radar intensity mapped to standard NWS colour scale (green → yellow → red → purple)
  5. Opacity control per layer so chart remains readable

Connectivity Consideration

Requires internet or ADS-B weather (FIS-B, 978 MHz UAT). Should degrade gracefully when offline — show last-known data with age indicator or go blank.

🤖 Generated with Claude Code

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions