Methodology · Verifiable Sources

How Sky Lens identifies what's in the sky

Sky Lens combines sixteen primary data sources — every aircraft broadcasting ADS-B, fourteen thousand catalogued satellites, planetary ephemeris, terrain elevation, real-time satellite cloud cover, and published airspace — and scores each candidate against your observation with a transparent likelihood-ratio pipeline. This page lists every source, its cadence, and its precision.

Where the data comes from

Every input is a primary or near-primary source. Nothing is scraped, synthesised, or guessed. Cadence and precision claims below are the published or operationally measured values — your individual sighting may improve or degrade from these depending on local conditions.

SourceRoleCadencePrecisionCoverage
airplanes.liveADS-B Mode S feed Commercial and general aviation aircraft positions, callsigns, altitudes 10 s polling Aircraft broadcasts own GPS; typical NIC 7–8 ≈ 75–185 m horizontal. Interpolation between samples σ ≈ 50 m. Belgium full
Open Glider NetworkOGN / FLARM aggregator Gliders, paragliders, light aircraft, drones with OGN-tracker sub-10 s Tracker-dependent; FLARM typical GPS accuracy ≤ 10 m. UAV type tagged on broadcast (drone vs glider vs helicopter). Belgium full
Skyfield + CelesTrak TLEsSGP4 propagator, 14k+ objects ISS, all Starlink constellations, GPS, Galileo, BeiDou, debris TLEs refreshed daily Sub-degree angular accuracy day-of-TLE; degrades to several degrees after ~7 days for LEO satellites. Global
JPL DE421 ephemerisSkyfield Sun, Moon, planets Continuous Sub-arcsecond positional accuracy for visible-light identification purposes. Global
Tycho-2 catalogAstrometry.net 4200-series indexes Plate-solving of uploaded photographs (star-pattern matching) Static catalog Sub-degree pointing accuracy on solved photos; star pattern scales 5.6′ – 8°. Global visible-light
NASA SRTM30 m DEM via Open-Elevation Terrain elevation for geometric horizon and line-of-sight calculations Static (2000 mission) Horizontal sampling 30 m; vertical accuracy ±10 m typical for Belgium. ±60° latitude global
OpenStreetMapOverpass API Buildings, masts, towers, wind turbines within 500 m (close) and 2 km (mid-range, height-tagged only) Cached 24 h per observer Polygon edge nearest-point geometry; explicit height tags < 5 % of Belgian houses (per-type defaults applied: house 8 m, apartments 10–15 m, church 18–30 m). Crowdsourced
Belgian obstacle inventoryaviation obstacle dataset 1054 wind turbines + 59 wind farms + 50 masts/towers + 26 structures, curated for aviation safety Periodic update Lat/lon ≤ 10 m; heights from regulatory filings. Belgium
aviationweather.govMETAR observations Official airport weather: wind, visibility, cloud, temperature Hourly typical Strict mode within 5 km of station; fallback within 100 km. Belgium airports
Open-Meteoforecast + archive Local weather grid: wind, cloud cover, temperature, precipitation Hourly 1 km grid resolution. Global
Meteobluesky-overlay primary High-resolution cloud cover by altitude band + wind for 3D sky overlay Hourly 1 km grid resolution. Global
EUMETSAT MTG-FCICloud Mask product 0678 Satellite-observed real cloud positions for the 3D sky overlay 10 minutes ~2 km at nadir; ~3 km at Belgian latitude. Operational since late 2023. Africa, Europe, Atlantic
AIP BelgiumAeronautical Information Publication Controlled airspace classes (A–G), TMAs, CTRs, restricted and prohibited zones AIRAC 28-day Official Belgian Civil Aviation Authority publication. Belgium
skeyesBelgian ATC Operational airspace classification cross-reference Continuous Official source. Belgium
AIP UAV airspacedrone polygons Published model-aircraft / UAV airspace polygons used for drone scoring context Periodic update 43 polygons. Belgium
BCAA aerodromes registerclub register RC model-aircraft club locations Periodic update 79 entries. Belgium

How candidates are ranked

Every potential object the data sources expose becomes a candidate. Each candidate first passes through a series of hard geometric gates that remove physically impossible matches — anything below the geometric horizon, blocked by terrain, blocked by nearby buildings, or operating on the ground at a distance where the observer could not have seen it is excluded before any scoring begins.

Surviving candidates are then evaluated through a likelihood-ratio pipeline. Each candidate type carries a base prior probability appropriate to its category and the day/night context. Every observation input you provide — direction, elevation, movement pattern, colour, sound, duration, time precision — contributes a multiplicative likelihood ratio derived from that candidate's expected behaviour. The product across all inputs yields a normalised probability that you can compare across types.

When no identified candidate explains the observation well, the unexplained probability mass attributes to a residual drone candidate — drones can be local, low-altitude, transponderless, and outside every data source, and the model's inability to identify a sighting is itself diagnostic. Uploaded photographs are plate-solved against a star catalog to fuse the camera's actual sky pointing into the scoring; a precise tap on the photo can identify a catalogued object directly.

What we propagate, what we soften

Sky Lens treats uncertainty as a first-class input — both your time precision and the data source's own precision feed forward into the scoring tolerances. Tighter inputs give stricter angular gates; looser inputs widen them rather than producing false rejections.

Time precision (user-selectable)

You pick the tightness: ±10 s stopwatch, ±30 s, ±1 min (default for typed HH:MM), or ±5 min (approximate). The chosen value widens the angular tolerance proportional to each candidate's apparent angular velocity from your position.

Aircraft position interpolation

Between bracketing ADS-B samples we interpolate with σ ≈ 50 m. Projected positions (when only an earlier sample exists) grow σ with elapsed time × ground speed, multiplied by ×3 if a recent turn is detected.

Satellite az/alt tolerance

Each satellite's az/alt rate is sampled at t and t+10 s. Your time precision is multiplied by that rate to produce a per-axis bearing/elevation tolerance — ISS at ±60 s gets ~58° of leeway, a GEO satellite gets just the compass band.

Acoustic propagation

Predicted sound pressure level uses Lp,1m source values calibrated against published references (ICAO Annex 16, manufacturer flyover measurements) with ISO 9613-2 simplified atmospheric absorption and ±0.5 dB per m/s of aligned wind.

Cloud-visibility factor

Stars, planets and satellites get a per-search dampener that scales with Open-Meteo cloud-cover percentage (0.15 floor when weather data is > 30 km from the observer). The Moon is exempt — it's bright enough to see through cover that hides everything else.

Terrain horizon caching

Per-observer horizon profile is built once and cached 24 h. It mixes DEM elevation (8 distances × 36 azimuths), close-range buildings (≤ 500 m, all polygon edges), and mid-range height-tagged buildings (500 m – 2 km).

What Sky Lens cannot see

We do not pretend that the data covers everything in the sky. Several categories of object are operationally invisible to the inputs above, and Sky Lens labels them as such when relevant.

Military aircraft without civilian ADS-B

Military traffic typically operates on encrypted secondary radar (Mode S with military interrogators) and is invisible to public ADS-B feeds.

Drones not broadcasting OGN

Most consumer drones under 25 kg are not required to carry a transponder under EASA regulations. Their absence from the data is itself informative — it's why a residual drone candidate exists.

Ultralights & paragliders without trackers

Sport aircraft and paragliders that do not carry FLARM or any transponder are invisible. Sky Lens has a separate VFR-no-transponder candidate to capture this category.

Birds, balloons, kites

Birds are out of scope. Weather balloons are estimated from launch-site context (Uccle daily ascent) when the sighting geometry matches.

Aircraft below DEM resolution

SRTM 30 m DEM cannot resolve narrow valleys or individual buildings beyond 2 km. The horizon may underestimate occlusion in dense forest or fine-scale terrain.

Satellite TLE age

TLEs older than ~7 days for LEO satellites accumulate several degrees of angular error. Sky Lens refreshes daily but operationally fresh data is not always available.

Real-time wind below 1 km

Open-Meteo and Meteoblue grids resolve weather at 1 km. Sub-grid wind shear, microclimates, and building wake effects are not modelled.

Photographic identification of unknown sources

Plate-solving needs at least four stable star quads in the frame. Twilight, motion blur, low-elevation foliage, and heavy haze can make solving impossible — Sky Lens then falls back to a form-direction tap match.

From observation to evidence

Every score is traceable to a source. Open the tool, enter your observation, and inspect the evidence behind each candidate.