πŸ”” Data Feeds

Real-time situational awareness data rendered as CoT markers on your map. Disaster and emergency feeds are free with no subscription. ADS-B aircraft, AIS vessels, weather radar, and traffic cameras require a Live Data subscription.

Free  511, Alert Ready, wildfires, earthquakes, hurricanes & severe weather β€” included in all versions    Live Data  ADS-B, AIS, weather radar, cameras β€” subscription required

Architecture

β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”     HTTPS/JSON      β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚ 511 Ontario │────────────────────►│              β”‚
β”‚ 511 Quebec  β”‚  GeoJSON / Open511  β”‚  FeedManager │──► Core Data ──► MapView (CoT pins)
β”‚ DriveBC     │────────────────────►│  (polling)   β”‚       β”‚
β”‚ 511 Alberta β”‚                     β”‚              β”‚       β–Ό
β”‚ Alert Ready β”‚  Atom + GeoRSS      β”‚  (filtering) β”‚  Push Notification
β”‚ NRCAN Fires β”‚  GeoJSON / WFS      β”‚              β”‚  (new incidents)
β”‚ ADSB.lol    β”‚  JSON               β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
                                     β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”  MKTileOverlay XYZ   β”‚  WeatherMgr  │──► MapView (tile overlay)
β”‚ ECCC GeoMet │────────────────────►│  (tile cache β”‚
β”‚ RainViewer  β”‚                     β”‚   10 min TTL)β”‚
β”‚ OpenWeather β”‚                     β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
                                     β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”  HTTPS/JSON          β”‚ CameraManager│──► MapView (camera pins)
β”‚ ON/AB/BC/QC │────────────────────►│  (per-prov.  │──► CameraViewerSheet
β”‚ 511 cameras β”‚                     β”‚   cache)     β”‚    (still / video)
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜                     β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
    
🟒 Free β€” included in all versions
511 road incidents (ON, QC, BC, AB), Alert Ready emergency alerts, active wildfires, earthquakes, hurricanes, and severe weather alerts. No account, no API key, no subscription.
⚑ Live Data β€” subscription required
ADS-B aircraft tracking, AIS vessel tracking, weather radar overlays, and highway traffic cameras. Requires an active Live Data monthly or yearly subscription.

Feed Sources

FeedTierAPIFormatData
Ontario 511Free511on.ca/api/v2JSONRoad incidents, closures, construction
Quebec 511Freetransports.gouv.qc.caGeoJSON (WFS)Road incidents
British ColumbiaFreeapi.open511.gov.bc.caOpen511 JSONRoad incidents with full event details
Alberta 511Free511.alberta.ca/api/v2JSONRoad incidents
Alert ReadyFreerss.naad-adna.pelmorex.comAtom + GeoRSSAmber alerts, severe weather, wildfires, evacuations, earthquake EEW
Active WildfiresFreecwfis.cfs.nrcan.gc.caGeoJSON (WFS)Canadian wildfire hotspots
ADS-B AircraftLive Dataapi.adsb.lolJSONLive aircraft positions, registration, type, operator, route
AIS VesselsLive Dataaisstream.ioWebSocketLive ship positions worldwide, name, MMSI, heading, speed, destination
Weather Radar (ECCC)Live Datageo.weather.gc.ca/geometXYZ tiles (WMS)Radar precipitation, snow, satellite
Weather Radar (RainViewer)Live Dataapi.rainviewer.comXYZ tilesGlobal radar precipitation
Weather Radar (OpenWeatherMap)Live Datatile.openweathermap.orgXYZ tilesPrecipitation, wind, temp, pressure
Traffic Cameras (ON)Live Data511on.caJSON + JPEG/videoHighway cameras with still image and video playback
Traffic Cameras (AB)Live Data511.alberta.caJSON + JPEG/videoHighway cameras
Traffic Cameras (BC)Live Dataapi.open511.gov.bc.caOpen511 JSONHighway cameras
Traffic Cameras (QC)Live DataQuebec 511 APIJSON + JPEG/videoHighway cameras with multi-angle support

✈️ ADS-B Aircraft Tracking Live Data

Live aircraft positions are fetched from ADSB.lol at a configurable interval (default 10 seconds). Each aircraft appears as a CoT marker on the map with a directional icon that rotates with heading.

Flight Enrichment

For each aircraft, two additional lookups run concurrently:

Results are cached for the lifetime of the app session. Tap an aircraft to see the "Flight Info" card in the detail sheet.

🚒 AIS Vessel Tracking Live Data

Live ship positions are streamed from AISStream.io via WebSocket. Requires an active Live Data subscription. Vessels appear as CoT markers on the map with a ship icon that rotates with heading.

πŸ”‘ Subscriptions & API Keys

Free feeds require no account or API key. Live Data feeds are unlocked by a Live Data subscription β€” no per-feed API key setup required.

FeatureTierAccess
511 Road IncidentsFreeNo account needed
Alert ReadyFreeNo account needed
Active WildfiresFreeNo account needed
ADS-B AircraftLive DataLive Data subscription
AIS Vessel TrackingLive DataLive Data subscription
Weather Radar (all backends)Live DataLive Data subscription
Traffic Cameras (all provinces)Live DataLive Data subscription

Map Overlays on Selection

Map Filters

🌧️ Weather Radar Overlay Live Data

Precipitation tiles are fetched as a standard MKTileOverlay and composited directly on the map. Tiles are cached in memory for 10 minutes to avoid redundant network requests.

Backends

BackendKey RequiredAvailable Layers
ECCC GeoMetNoneRadar precipitation, snow, satellite (GOES), surface analysis
RainViewerNoneGlobal radar precipitation (infrared)
OpenWeatherMapOptional (free tier)Precipitation, wind speed, temperature, pressure

Backend and layer are selected in the Overlay Manager. Opacity is adjustable. Radar can be toggled independently of other overlays.

πŸ“· Traffic Cameras Live Data

Highway camera locations are loaded from provincial 511 APIs and rendered as green pins on the map. Tap any pin to open the camera viewer.

Camera Viewer

Province Coverage

ProvinceSourceNotes
Ontario511on.caMulti-direction via Views[]
Alberta511.alberta.caJPEG still + video URL
British Columbiaapi.open511.gov.bc.caOpen511 format
QuebecQuebec 511GetImage.ashx (JPEG) + camera.ashx?format=mp4 (video); grouped by NumeroCamera

CoT Type Mapping

Each feed incident is converted to a CoT marker with an appropriate type and icon:

Incident TypeCoT TypeIcon
Road Closureb-r-.-o-cxmark.octagon.fill πŸ›‘
Constructionb-r-.-o-wcone.fill πŸ”Ά
Accident/Incidentb-r-.-o-aexclamationmark.triangle.fill ⚠️
Weather Hazardb-r-.-o-hcloud.bolt.fill β›ˆοΈ
Wildfireb-n-.-fflame.fill πŸ”₯

Example: Ontario 511 Response β†’ CoT Marker

API Response (simplified)

{
  "ID": 86216,
  "RoadwayName": "HWY 17",
  "DirectionOfTravel": "Eastbound",
  "Description": "Daily Construction on HWY 17 Eastbound...",
  "EventType": "CONSTRUCTION",
  "Severity": "Moderate",
  "Latitude": 48.79229,
  "Longitude": -87.38264,
  "LastUpdated": 1757532060
}
    

Resulting CoT Marker

COTData {
  cotUid:    "511on-86216"
  callsign:  "HWY 17 Eastbound"
  cotType:   "b-r-.-o-w"        // construction
  latitude:  48.79229
  longitude: -87.38264
  icon:      "cone.fill"
  remarks:   "Daily Construction on HWY 17 Eastbound..."
  staleDate: 2026-09-15T00:00:00Z  // PlannedEndDate
}
    

Example: Alert Ready Entry

NAAD Atom Feed Entry (simplified)

<entry>
  <title>yellow advisory - fog - in effect</title>
  <author><name>Environment Canada</name></author>
  <georss:polygon>53.03 -115.15 53.01 -115.17 ... 53.03 -115.15</georss:polygon>
  <category term="severity=Moderate"/>
  <category term="event=fog"/>
  <category term="status=Actual"/>
  <category term="language=en-CA"/>
  <summary>Patchy fog has developed... near zero visibilities...</summary>
</entry>
    

Processing

  1. Parse Atom XML with GeoRSS polygon coordinates
  2. Compute centroid of polygon for marker placement
  3. Map event type ("fog") β†’ CoT type (b-w-.-a) and icon (cloud.fog.fill)
  4. Filter by proximity to user location (configurable radius)
  5. Send local push notification if new

Proximity Filtering

For each incident:
  1. Calculate distance from user's GPS location
  2. If distance ≀ configured alert radius β†’ include
  3. If active navigation route exists:
     Sample every 10th route coordinate
     If any sample ≀ alert radius from incident β†’ include
  4. If user location unknown β†’ exclude all (no flooding)
    

Reliability

← Back to Documentation