diff --git a/mobile/DESIGN.md b/mobile/DESIGN.md index da732976a..db3e7d5bc 100644 --- a/mobile/DESIGN.md +++ b/mobile/DESIGN.md @@ -4,10 +4,10 @@ _The window through which you see the world, and the eye through which the world This folder holds two things: -| Path | What it is | Tethered to production? | -| --- | --- | --- | -| [`mobile/index.html`](index.html) → `/mobile/` | **Prototype.** A working phone/foldable app that sets the design language on top of the real engine: CesiumJS, Esri cloudless imagery, NASA Black Marble night lights, Google Photorealistic 3D Tiles (when keyed), and the app's own live `/api` feeds (ADS-B, military, AIS, TLEs, quakes, FIRMS fires, cyclones, launches, CCTV) plus the bundled Bhote Koshi event pack. Capture is real: camera, IMU, GPS and a WebCrypto signature. | Yes. Runs on the existing dev server (`npm run dev`, open `http://localhost:4173/mobile/`). | -| [`mobile/vision/index.html`](vision/index.html) | **Vision.** A single self-contained file with no server, no keys and no production code. It shows where the product goes: the full feed, 4D reconstructions with collaborative hypotheses, the provenance ledger, holograms left in places, a hand-written WebGL globe with a cinematic post chain. | No. Open the file straight from disk in any browser (the dev server's CSP blocks its inline script). Rebuild it with `node mobile/vision/build.mjs`. | +| Path | What it is | Tethered to production? | +| ----------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------- | +| [`mobile/index.html`](index.html) → `/mobile/` | **Prototype.** A working phone/foldable app that sets the design language on top of the real engine: CesiumJS, Esri cloudless imagery, NASA Black Marble night lights, Google Photorealistic 3D Tiles (when keyed), and the app's own live `/api` feeds (ADS-B, military, AIS, TLEs, quakes, FIRMS fires, cyclones, launches, CCTV) plus the bundled Bhote Koshi event pack. Capture is real: camera, IMU, GPS and a WebCrypto signature. | Yes. Runs on the existing dev server (`npm run dev`, open `http://localhost:4173/mobile/`). | +| [`mobile/vision/index.html`](vision/index.html) | **Vision.** A single self-contained file with no server, no keys and no production code. It shows where the product goes: the full feed, 4D reconstructions with collaborative hypotheses, the provenance ledger, holograms left in places, a hand-written WebGL globe with a cinematic post chain. | No. Open the file straight from disk in any browser (the dev server's CSP blocks its inline script). Rebuild it with `node mobile/vision/build.mjs`. | --- @@ -29,13 +29,13 @@ Five commitments fall out of that sentence: Five tabs. Capture is a tab, not a floating action, because it is a _mode_ with its own full-screen surface (HIG: tab bars navigate between peer areas; capture is a peer area here, as it is in Camera-first apps). -| Tab | SF-style glyph | Job | -| --- | --- | --- | -| **Now** | `dot.radiowaves` | A two-column, RedNote-style masonry feed of live and recent situations. Each card is a living thumbnail: real imagery of the place, live counters, a pulse when it changes. Sections: _Happening now_, _Near you_, _Reconstructions_, _Always on_ (chopper schools, busy airports, ISS, port of Rotterdam…). | -| **Globe** | `globe.americas` | The window. Full-bleed globe, the lens dock, the time ribbon, search. This is the expert surface. | -| **Capture** | `viewfinder` | Two modes on one dial: **Look** (AR — the God's-eye view projected around you: aircraft, satellites, ships, quakes as overlays on the camera, aligned by compass + gyro) and **Witness** (your phone becomes an eye for the God's eye: signed photo/video with IMU, GPS, heading, depth when available). | -| **Threads** | `point.3.connected.trianglepath.dotted` | Reconstructions people are building together: observations, hypotheses, AI refinements, and the ledger. | -| **You** | `person.crop.circle` | Your captures and their seals, holograms you left in places, situations you follow, alert radius. | +| Tab | SF-style glyph | Job | +| ----------- | --------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | +| **Now** | `dot.radiowaves` | A two-column, RedNote-style masonry feed of live and recent situations. Each card is a living thumbnail: real imagery of the place, live counters, a pulse when it changes. Sections: _Happening now_, _Near you_, _Reconstructions_, _Always on_ (chopper schools, busy airports, ISS, port of Rotterdam…). | +| **Globe** | `globe.americas` | The window. Full-bleed globe, the lens dock, the time ribbon, search. This is the expert surface. | +| **Capture** | `viewfinder` | Two modes on one dial: **Look** (AR — the God's-eye view projected around you: aircraft, satellites, ships, quakes as overlays on the camera, aligned by compass + gyro) and **Witness** (your phone becomes an eye for the God's eye: signed photo/video with IMU, GPS, heading, depth when available). | +| **Threads** | `point.3.connected.trianglepath.dotted` | Reconstructions people are building together: observations, hypotheses, AI refinements, and the ledger. | +| **You** | `person.crop.circle` | Your captures and their seals, holograms you left in places, situations you follow, alert radius. | The iOS 26-era shell: a floating glass tab bar that shrinks to a pill while you scroll the feed and expands when you stop; a **tab-bar accessory** shows the one situation you are following live ("Typhoon · 185 km/h · 2 min ago"), like a now-playing bar for the planet. @@ -60,14 +60,14 @@ The iOS 26-era shell: a floating glass tab bar that shrinks to a pill while you ## 5. Rendering budget (phone) -| Item | Target | -| --- | --- | -| Frame | 60 fps while interacting, 0 fps (request-render mode) at rest | -| Resolution scale | `min(devicePixelRatio, 2)`, dropping to 1.5 / 1.25 when frame time > 20 ms for 2 s | -| Tiles | `maximumScreenSpaceError` 2 → 4 on compact; tile cache 256 MB → 128 MB | -| Post chain | atmosphere + night-lights blend (built into the globe shader) → FXAA → single-pass bloom (half res) → vignette + grade. Bloom and grain switch off under Low Power / thermal pressure | -| Labels | no Cesium labels; HTML/canvas overlay in screen space, capped at 40 visible | -| Data | each layer has an LOD rule (aggregate above 2,000 km altitude, glyphs below) and a visible-count cap | +| Item | Target | +| ---------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| Frame | 60 fps while interacting, 0 fps (request-render mode) at rest | +| Resolution scale | `min(devicePixelRatio, 2)`, dropping to 1.5 / 1.25 when frame time > 20 ms for 2 s | +| Tiles | `maximumScreenSpaceError` 2 → 4 on compact; tile cache 256 MB → 128 MB | +| Post chain | atmosphere + night-lights blend (built into the globe shader) → FXAA → single-pass bloom (half res) → vignette + grade. Bloom and grain switch off under Low Power / thermal pressure | +| Labels | no Cesium labels; HTML/canvas overlay in screen space, capped at 40 visible | +| Data | each layer has an LOD rule (aggregate above 2,000 km altitude, glyphs below) and a visible-count cap | ## 6. Capture and provenance @@ -98,16 +98,16 @@ Collaborative AI prompting happens on stratum 2: a participant asks the model to ## 8. Layer catalog (44) -| Family | Layers | -| --- | --- | -| Sky | Commercial flights · Military aircraft · Helicopters · Private/GA · Emergency squawks · Drones (Remote ID) · Airport boards · Holding patterns | -| Sea | AIS vessels · Ports · Tankers/cargo · Fishing effort · Dark vessels (AIS gaps) · Submarine cables | -| Orbit | Satellites (TLE) · ISS & crewed · Starlink trains · Launches & trajectories · Debris · Ground tracks & passes | -| Hazards | Earthquakes · Active fires (FIRMS) · Fire perimeters · Floods · Tropical cyclones · Volcanoes · Air quality | -| Eyes | Public CCTV · Signed captures · Street-level imagery · Holograms · Live streams | -| Ground | Transit vehicles · Traffic flow · Bike share · Rail · Events & venues · ALPR cameras | -| Weather | Radar · Clouds · Lightning · Wind · Forecast models | -| Infra | Datacenters · Dams · Power plants · Military installations · GNSS interference · Recent satellite imagery | +| Family | Layers | +| ------- | ---------------------------------------------------------------------------------------------------------------------------------------------- | +| Sky | Commercial flights · Military aircraft · Helicopters · Private/GA · Emergency squawks · Drones (Remote ID) · Airport boards · Holding patterns | +| Sea | AIS vessels · Ports · Tankers/cargo · Fishing effort · Dark vessels (AIS gaps) · Submarine cables | +| Orbit | Satellites (TLE) · ISS & crewed · Starlink trains · Launches & trajectories · Debris · Ground tracks & passes | +| Hazards | Earthquakes · Active fires (FIRMS) · Fire perimeters · Floods · Tropical cyclones · Volcanoes · Air quality | +| Eyes | Public CCTV · Signed captures · Street-level imagery · Holograms · Live streams | +| Ground | Transit vehicles · Traffic flow · Bike share · Rail · Events & venues · ALPR cameras | +| Weather | Radar · Clouds · Lightning · Wind · Forecast models | +| Infra | Datacenters · Dams · Power plants · Military installations · GNSS interference · Recent satellite imagery | ## 9. Situations worth monitoring (the feed's genres) @@ -168,12 +168,12 @@ Review notes on the first build: the feed showed one kind of picture (open ocean The app's subject is altitude. Every surface tells you **where the sensor is** and **how high it is**, from orbit down to street level and finally inside: a room, a cockpit, a person's own capture. That is the brand, and it replaces the weather-app palette of blue gradients and big temperature-style numbers. -| Altitude band | Sensor | Telemetry burned into the frame | -| --- | --- | --- | -| **Orbit** · 400–36,000 km | satellites, ISS, launches, weather satellite IR | `ORBIT · 412 KM · 7.66 KM/S · PASS 21:04` | -| **Sky** · 0–15 km | ADS-B aircraft, helicopters, military, radar returns, lightning | `SKY · FL350 · 487 KT · SQ 7700` | -| **Ground** · 0 m | CCTV, traffic, transit, fires, quakes, floods | `GROUND · CAM 0412 · I-5 S · 14:02:11Z` | -| **Inside** · you | signed captures, live broadcasts, holograms, conversations | `WITNESS · SEALED · ±4 M · 1.2 KM FROM EVENT` | +| Altitude band | Sensor | Telemetry burned into the frame | +| ------------------------- | --------------------------------------------------------------- | --------------------------------------------- | +| **Orbit** · 400–36,000 km | satellites, ISS, launches, weather satellite IR | `ORBIT · 412 KM · 7.66 KM/S · PASS 21:04` | +| **Sky** · 0–15 km | ADS-B aircraft, helicopters, military, radar returns, lightning | `SKY · FL350 · 487 KT · SQ 7700` | +| **Ground** · 0 m | CCTV, traffic, transit, fires, quakes, floods | `GROUND · CAM 0412 · I-5 S · 14:02:11Z` | +| **Inside** · you | signed captures, live broadcasts, holograms, conversations | `WITNESS · SEALED · ±4 M · 1.2 KM FROM EVENT` | Visual rules: @@ -193,7 +193,7 @@ Card archetypes: 3. **Track card**: one moving thing, such as an aircraft squawking 7700, a helicopter on its 14th circuit at Fort Novosel, or the ISS crossing your night sky. It shows a trail, a big readout, and a "ride along" call to action. 4. **Number card**: one striking fact with a sparkline. Examples: "4,812 lightning strikes in the last hour over the Gulf", "GNSS jamming over the Baltic, 340 aircraft affected". 5. **Witness card**: a signed capture or a live broadcast from a person. It shows the seal, the distance from the event, and the reply count. -6. **Room card**: a conversation that is heating up. It shows the top claim, its status (*Confirmed by 3 signed captures* / *Disputed*), and the participants. +6. **Room card**: a conversation that is heating up. It shows the top claim, its status (_Confirmed by 3 signed captures_ / _Disputed_), and the participants. Situation genres to source from keyless layers. Each card must say its source: @@ -222,12 +222,13 @@ People will talk about events anyway, on other platforms and without the evidenc - **Structured posts.** Each post is one of: **Witness** (I saw or recorded this), **Context** (background, a link, a map), **Question**, **Correction**, or **Prediction**. The kind is chosen in the composer and drawn as an icon. Questions float to the top until answered. - **Anchored.** A post can pin a place (a dot on the globe) and a time (a pip on the time ribbon). Tapping a post flies the globe there and scrubs the ribbon to that moment. Pinned posts appear in 3D as small speech glyphs at their location. - **Earned badges, not follower counts.** Badges come from evidence: - - *Was there*: a signed capture within N km and M minutes of the event. - - *Sealed*: the post has a sealed attachment. - - *Local*: the author's home area is set. - - *Domain*: pilot, mariner, met, first responder, held as a verified credential. + - _Was there_: a signed capture within N km and M minutes of the event. + - _Sealed_: the post has a sealed attachment. + - _Local_: the author's home area is set. + - _Domain_: pilot, mariner, met, first responder, held as a verified credential. Posts are ordered by evidence first, then recency, never by follower count. + - **Community notes with bridging.** Any claim can get a note. A note becomes visible only when raters who usually disagree both rate it helpful (bridging-based ranking, as Community Notes does), which resists brigading. - **AI synthesis, kept honest.** A pinned card at the top of every room is labelled **Known / Disputed / Unknown**. AI writes it from the observations and the posts, and every line cites its sources. It is regenerated as the room changes, with its prompt and inputs recorded in the ledger. It never states anything that has no citation. - **Live layer.** While you are in a room, presence shows as small avatars, reactions float up the side, and a "N people watching" count appears. Rooms for live situations sit in the feed as Room cards. @@ -237,12 +238,12 @@ People will talk about events anyway, on other platforms and without the evidenc Capture is how a person becomes a sensor. Four modes share one dial: -| Mode | What it makes | Trust tier | -| --- | --- | --- | -| **Look** | AR overlay of contacts around you. Nothing is recorded unless you tap. | none | -| **Witness** | A sealed photo or clip with the IMU, GPS and heading trace (§6). | **Sealed** | -| **Live** | A broadcast from your camera. It appears on the globe as an *eye*: a frustum cone at your position and heading, with live telemetry, watchable by the room. Every 10 s the stream is sealed as hash-chained segments. | **Sealed live** | -| **Upload** | A photo or video from your library. EXIF is read if present, then you place it on the map and set the time. | **Unverified**: labelled as such everywhere, and it can never become an observation, only cited by a hypothesis. | +| Mode | What it makes | Trust tier | +| ----------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------- | +| **Look** | AR overlay of contacts around you. Nothing is recorded unless you tap. | none | +| **Witness** | A sealed photo or clip with the IMU, GPS and heading trace (§6). | **Sealed** | +| **Live** | A broadcast from your camera. It appears on the globe as an _eye_: a frustum cone at your position and heading, with live telemetry, watchable by the room. Every 10 s the stream is sealed as hash-chained segments. | **Sealed live** | +| **Upload** | A photo or video from your library. EXIF is read if present, then you place it on the map and set the time. | **Unverified**: labelled as such everywhere, and it can never become an observation, only cited by a hypothesis. | After the shutter comes the **attach sheet**. It suggests the situation you are probably at, from distance and time ("Typhoon Champi · 4.2 km from track", "Times Square camera · 180 m"). It offers "new place" if none fits, a post kind (Witness by default), an optional note, and whether to drop it as a **hologram** that others can find at this spot later. Posting puts the capture in that situation's room, and a Witness card in the feed when it is notable. @@ -260,14 +261,14 @@ Founder's brief for this round: take what made Palantir Gotham work, fix what Ci Gotham's power is not the map. It is that **everything is an object, every object has a history and links, and every view (map, timeline, graph, dossier) shows the same objects**. Select something anywhere and every view follows. Analysts build an investigation, share it, and every fact keeps its source. -| Gotham idea | God's Eye version | -| --- | --- | -| Ontology of objects and links | **Entities**: aircraft, vessels, satellites, cameras, places, events, captures and contributors (pseudonymous). Each has a **dossier**: identity, live state, track history, events, links and receipts. | -| Map + timeline + graph, synchronized | Globe, **time machine** and **link graph** share one selection and one clock. | -| Search to dossier | Universal search ("N46567", "7700", "Piccadilly", "M5.2", "ISS") opens a dossier, not a list of pins. | -| Watchlists and alerts | **Watch**: follow an entity or a place, and write alert rules in plain chips ("any squawk 7700 within 200 km of Home"). | -| Investigations with provenance | **Moments**: shareable 4D reconstructions whose every track, capture and claim carries its source and hash. | -| Audit log | The room ledger: every post, note, AI synthesis and vote is hash-chained and exportable. | +| Gotham idea | God's Eye version | +| ------------------------------------ | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| Ontology of objects and links | **Entities**: aircraft, vessels, satellites, cameras, places, events, captures and contributors (pseudonymous). Each has a **dossier**: identity, live state, track history, events, links and receipts. | +| Map + timeline + graph, synchronized | Globe, **time machine** and **link graph** share one selection and one clock. | +| Search to dossier | Universal search ("N46567", "7700", "Piccadilly", "M5.2", "ISS") opens a dossier, not a list of pins. | +| Watchlists and alerts | **Watch**: follow an entity or a place, and write alert rules in plain chips ("any squawk 7700 within 200 km of Home"). | +| Investigations with provenance | **Moments**: shareable 4D reconstructions whose every track, capture and claim carries its source and hash. | +| Audit log | The room ledger: every post, note, AI synthesis and vote is hash-chained and exportable. | **The line we don't cross.** Gotham tracks people; we don't. Trackable entities are things that broadcast publicly (transponders, AIS, orbital elements), public infrastructure, and events. Contributors are pseudonymous. There is no face recognition and no person search, and aircraft on owner-privacy lists (LADD/PIA) are never named. This is the product's moral spine and a talking point, not a footnote. @@ -301,7 +302,7 @@ A **Moment** is a 4D reconstruction assembled around an event: tracks, sensor fr The time ribbon becomes a time machine: -- **It remembers.** The app records every live contact's position each poll (a ring buffer persisted in IndexedDB, about 6 h). Scrubbing back shows where everything actually was, with ghost trails. A selected aircraft's full track comes from the server's track routes. +- **It remembers.** The app records every live contact's position each poll (a ring buffer persisted in IndexedDB, about 6 h). Scrubbing back shows where everything actually was, with ghost trails. A selected aircraft's full track comes from the server's track routes. The app also ships a **bundled real recording** (`mobile/demo/history/`, a few hours over New York, London and the Gulf of Mexico, captured with `capture-history.mjs`) so a first run already has ghosts to replay; it keeps its true timestamps and the time machine shows it where it happened (`RECORDING · `). - **Everything moves together.** Contacts, radar and lightning frames, quakes and fires appearing, cyclone positions, the sun, room posts, and captures all follow the clock. - **Play.** Play/pause and 1×, 10×, 60× and 600× speeds; momentum scrubbing; detents at events; a **NOW** snap. - **Event pips.** Pips from every layer are colour-coded by altitude band. Tapping one jumps to it. @@ -311,13 +312,13 @@ The time ribbon becomes a time machine: Two lanes in every room. This is the delineation that keeps the conversation both fun and true. -| | **Live** (Twitch) | **Record** (Reddit and X) | -| --- | --- | --- | -| Pace | Fast, ephemeral, scrolls away | Considered, persistent, threaded | -| Shape | One-line chat, emotes, @mentions, slow mode, viewer count | Posts with kinds (§11.3), replies, quote-posts, attachments | -| Reactions | Hearts, 🔥, 👀 and 😮 fly up the screen, **and rise from the reactor's location on the globe**: you see the world watching | Corroborate / Dispute votes weighted by Signal | -| Badges | Witness glow for people with a sealed capture nearby, plus First eyes | Was there, Sealed, Local, Domain | -| Becomes the record? | Only if it carries evidence or is promoted by corroboration | Yes, hash-chained in the ledger | +| | **Live** (Twitch) | **Record** (Reddit and X) | +| ------------------- | -------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------- | +| Pace | Fast, ephemeral, scrolls away | Considered, persistent, threaded | +| Shape | One-line chat, emotes, @mentions, slow mode, viewer count | Posts with kinds (§11.3), replies, quote-posts, attachments | +| Reactions | Hearts, 🔥, 👀 and 😮 fly up the screen, **and rise from the reactor's location on the globe**: you see the world watching | Corroborate / Dispute votes weighted by Signal | +| Badges | Witness glow for people with a sealed capture nearby, plus First eyes | Was there, Sealed, Local, Domain | +| Becomes the record? | Only if it carries evidence or is promoted by corroboration | Yes, hash-chained in the ledger | - **The clerk.** Every few minutes, AI summarizes the Live lane into "What chat is saying", with citations to messages, and posts it into the Record as a clearly labelled synthesis. - **Crews.** Crews are persistent groups (X communities): "NYC Scanner Nerds", "Fort Novosel Alumni", "Gulf Storm Chasers". A crew has its own feed, members and rooms, and can co-watch a Moment together. diff --git a/mobile/demo/capture-history.mjs b/mobile/demo/capture-history.mjs new file mode 100644 index 000000000..999fe9624 --- /dev/null +++ b/mobile/demo/capture-history.mjs @@ -0,0 +1,388 @@ +#!/usr/bin/env node +/** + * Captures a bundled flight-history recording for the time machine + * (DESIGN.md §12.5). For N minutes it polls the real feeds the engine uses + * (adsb.lol point snapshots around each region's anchors, the dev server's + * /api/flights as a fallback and its /api/military), keeps the busiest + * regions, and writes one file per region to mobile/demo/history/.json. + * + * npx vite --port 4191 --strictPort # a dev server, for the fallbacks + * node mobile/demo/capture-history.mjs [--base http://localhost:4191] + * [--minutes 150] [--poll 20] [--budget 4000000] [--out dir] + * (behind an HTTPS proxy: NODE_USE_ENV_PROXY=1 node …) + * + * The engine's normalisation (flightFromState, classifyAircraft) is used, and the + * same sampling as the recorder's persisted history: one fix per 30 s for + * low traffic, one per 120 s for cruise. The file keeps the real capture + * timestamps; the engine never shifts them. + * + * File format (quantised, delta-encoded): + * { format: 'gev-history/1', region, label, bbox, capturedAt: { start, end }, + * source, t0 (epoch s), tracks: [{ k, m, p }] } + * k: recorder key (icao24 / hex) m: recorder meta (callsign, type…) + * p: comma-separated ints, 6 per sample, deltas from the previous sample: + * dt (s) · dlon (1e-4°) · dlat (1e-4°) · dalt (10 m) · heading (°, absolute) + * · speed (m/s, absolute) + * Written every 5 minutes, so an interrupted run still leaves a usable file. + */ +import { mkdir, writeFile } from 'node:fs/promises'; +import path from 'node:path'; +import { fileURLToPath } from 'node:url'; +import { flightFromState } from '../globe/feeds.js'; +import { classifyAircraft } from '../../src/data/aircraftClass.js'; + +const HERE = path.dirname(fileURLToPath(import.meta.url)); +const args = Object.fromEntries( + process.argv + .slice(2) + .join(' ') + .split('--') + .filter(Boolean) + .map((kv) => { + const [k, ...v] = kv.trim().split(/\s+/); + return [k, v.join(' ') || true]; + }), +); +const BASE = args.base || 'http://localhost:4191'; +const MINUTES = Number(args.minutes || 150); +const POLL_S = Number(args.poll || 20); +const BUDGET = Number(args.budget || 4_000_000); +const OUT = args.out ? path.resolve(args.out) : path.join(HERE, 'history'); + +const REGIONS = [ + { + id: 'nyc', + label: 'New York area', + bbox: { west: -76.5, south: 39.4, east: -71.2, north: 42.2 }, + anchors: [{ lat: 40.75, lon: -73.98 }], + }, + { + id: 'london', + label: 'London and the North Sea approaches', + bbox: { west: -2.6, south: 50.2, east: 5.6, north: 53.6 }, + anchors: [ + { lat: 51.51, lon: -0.12 }, + { lat: 52.2, lon: 4.2 }, + ], + }, + { + id: 'gulf', + label: 'Gulf of Mexico', + bbox: { west: -98.5, south: 23.5, east: -81.5, north: 31.2 }, + anchors: [ + { lat: 27.5, lon: -90 }, + { lat: 29.6, lon: -95.2 }, + { lat: 27.9, lon: -83.5 }, + ], + }, +]; + +const CRUISE_ALT_M = 6000; +const LOW_GAP_S = 30; +const CRUISE_GAP_S = 120; + +const inBox = (b, lon, lat) => + lat >= b.south && lat <= b.north && lon >= b.west && lon <= b.east; + +/** region id → Map(key → { meta, pts: [[t, lon, lat, alt, hdg, spd]] }) */ +const store = new Map(REGIONS.map((r) => [r.id, new Map()])); +let firstAt = Infinity; +let lastAt = -Infinity; +const sources = new Set(); + +function add(region, key, meta, s) { + const tracks = store.get(region.id); + let tr = tracks.get(key); + if (!tr) { + tr = { meta, pts: [] }; + tracks.set(key, tr); + } else tr.meta = { ...tr.meta, ...meta }; + const last = tr.pts[tr.pts.length - 1]; + const gap = s[3] > CRUISE_ALT_M ? CRUISE_GAP_S : LOW_GAP_S; + if (last && s[0] - last[0] < gap) return; + tr.pts.push(s); + if (s[0] < firstAt) firstAt = s[0]; + if (s[0] > lastAt) lastAt = s[0]; +} + +function ingest(records) { + const nowS = Date.now() / 1000; + for (const r of records) { + if (!Number.isFinite(r.lon) || !Number.isFinite(r.lat)) continue; + if (r.onGround && (r.speed ?? 0) < 8) continue; + const t = Math.floor( + Math.min(r.seenAt ?? Date.now(), Date.now() + 5000) / 1000, + ); + if (nowS - t > 15 * 60) continue; + const region = REGIONS.find((g) => inBox(g.bbox, r.lon, r.lat)); + if (!region) continue; + const meta = { + kind: r.military ? 'military' : r.helicopter ? 'helicopter' : 'aircraft', + layer: r.military ? 'military' : 'flights', + callsign: r.callsign || undefined, + ...(r.registration ? { registration: r.registration } : {}), + ...(r.type ? { type: r.type } : {}), + ...(r.country ? { country: r.country } : {}), + ...(r.squawk ? { squawk: r.squawk } : {}), + ...(r.helicopter ? { helicopter: true } : {}), + ...(r.military ? { military: true } : {}), + ...(r.ga ? { ga: true } : {}), + ...(r.pia ? { pia: true } : {}), + ...(r.ladd ? { ladd: true } : {}), + }; + add(region, String(r.id), meta, [ + t, + r.lon, + r.lat, + Math.round(r.altM ?? 0), + Math.round(r.heading ?? 0), + Math.round(r.speed ?? 0), + ]); + } +} + +async function getJson(url, headers = {}) { + const ctl = new AbortController(); + const timer = setTimeout(() => ctl.abort(), 30_000); + try { + const res = await fetch(url, { signal: ctl.signal, headers }); + if (!res.ok) throw new Error(`HTTP ${res.status}`); + return { json: await res.json(), headers: res.headers }; + } finally { + clearTimeout(timer); + } +} + +const ADSBLOL = 'https://api.adsb.lol/v2'; +const UA = { 'User-Agent': 'gods-eye-view-history-capture/1.0' }; + +/** adsb.lol v2 aircraft → the engine's flight record shape. */ +function fromAdsbLol(a, nowMs) { + if (!Number.isFinite(a.lon) || !Number.isFinite(a.lat)) return null; + const onGround = a.alt_baro === 'ground'; + const altFt = Number.isFinite(a.alt_geom) ? a.alt_geom : a.alt_baro; + const cls = classifyAircraft({ typeCode: a.t, category: a.category }); + const military = Boolean(a.dbFlags & 1); + return { + id: String(a.hex).replace(/^~/, ''), + callsign: String(a.flight || a.r || a.hex).trim(), + registration: a.r || '', + type: a.t || '', + lon: a.lon, + lat: a.lat, + altM: onGround + ? 0 + : Math.max(0, (Number.isFinite(altFt) ? altFt : 15000) * 0.3048), + onGround, + speed: Number.isFinite(a.gs) ? a.gs * 0.514444 : 0, + heading: a.track ?? a.true_heading ?? 0, + squawk: a.squawk || null, + helicopter: cls === 'helicopter', + military, + pia: Boolean(a.dbFlags & 4), + ladd: Boolean(a.dbFlags & 8), + seenAt: nowMs - (a.seen_pos ?? a.seen ?? 0) * 1000, + }; +} + +/** + * Each region's anchors straight from adsb.lol (250 nm point queries, the + * same source the dev server falls back to); an anchor that fails is asked + * through the dev server instead. + */ +async function pollFlights() { + let n = 0; + for (const g of REGIONS) { + for (const a of g.anchors) { + // Polite spacing: adsb.lol answers 429 to bursts. + await new Promise((r) => setTimeout(r, 1500)); + try { + const { json } = await getJson( + `${ADSBLOL}/lat/${a.lat}/lon/${a.lon}/dist/250`, + UA, + ); + const now = Number.isFinite(json.now) ? json.now : Date.now(); + const recs = (json.ac || []) + .map((x) => fromAdsbLol(x, now)) + .filter(Boolean); + ingest(recs); + n += recs.length; + sources.add('adsb.lol (ODbL)'); + continue; + } catch (error) { + console.warn(`[adsb.lol ${g.id}]`, error.message); + } + try { + const { json } = await getJson( + `${BASE}/api/flights?lat=${a.lat}&lon=${a.lon}`, + ); + const recs = (json.states || []).map(flightFromState).filter(Boolean); + ingest(recs); + n += recs.length; + sources.add('God’s Eye dev server (OpenSky / adsb.lol)'); + } catch (error) { + console.warn(`[flights ${g.id}]`, error.message); + } + } + } + return n; +} + +async function pollMilitary() { + try { + const { json } = await getJson(`${BASE}/api/military`); + const recs = []; + for (const a of json.ac || []) { + if (!Number.isFinite(a.lon) || !Number.isFinite(a.lat)) continue; + const altFt = Number.isFinite(a.alt_geom) ? a.alt_geom : a.alt_baro; + recs.push({ + id: String(a.hex), + callsign: String(a.flight || a.r || a.hex).trim(), + registration: a.r || '', + type: a.t || '', + lon: a.lon, + lat: a.lat, + altM: + a.alt_baro === 'ground' ? 0 : Math.max(0, (altFt ?? 15000) * 0.3048), + onGround: a.alt_baro === 'ground', + speed: Number.isFinite(a.gs) ? a.gs * 0.514444 : 0, + heading: a.track ?? a.true_heading ?? 0, + squawk: a.squawk || null, + military: true, + pia: Boolean(a.dbFlags & 4), + ladd: Boolean(a.dbFlags & 8), + seenAt: Date.now() - (a.seen_pos ?? a.seen ?? 0) * 1000, + }); + } + ingest(recs); + sources.add('adsb.lol military (ODbL)'); + return recs.length; + } catch (error) { + console.warn('[military]', error.message); + return 0; + } +} + +function encode(region, cruiseGap) { + const tracks = []; + const t0 = Number.isFinite(firstAt) ? firstAt : Math.floor(Date.now() / 1000); + for (const [k, tr] of store.get(region.id)) { + if (tr.pts.length < 2) continue; + const p = []; + let prev = [t0, 0, 0, 0]; + let keptT = -Infinity; + tr.pts.forEach((s, i) => { + const isLast = i === tr.pts.length - 1; + if ( + cruiseGap > CRUISE_GAP_S && + s[3] > CRUISE_ALT_M && + !isLast && + s[0] - keptT < cruiseGap + ) + return; + keptT = s[0]; + const lon = Math.round(s[1] * 1e4); + const lat = Math.round(s[2] * 1e4); + const alt = Math.round(s[3] / 10); + p.push( + s[0] - prev[0], + lon - prev[1], + lat - prev[2], + alt - prev[3], + s[4], + s[5], + ); + prev = [s[0], lon, lat, alt]; + }); + // A string, so the file stays compact under Prettier. + tracks.push({ k, m: tr.meta, p: p.join(',') }); + } + return { + format: 'gev-history/1', + region: region.id, + label: region.label, + bbox: region.bbox, + capturedAt: { + start: new Date(firstAt * 1000).toISOString(), + end: new Date(lastAt * 1000).toISOString(), + }, + source: [...sources].join(' · '), + note: 'Real recorded positions, captured through the God’s Eye dev server. Timestamps are the true capture times and are never shifted.', + t0, + tracks, + }; +} + +/** Prettier-clean JSON (the repo checks mobile/ with Prettier). */ +async function pretty(text) { + try { + const prettier = await import('prettier'); + return await prettier.format(text, { parser: 'json' }); + } catch { + return text + '\n'; + } +} + +async function save() { + await mkdir(OUT, { recursive: true }); + let gap = CRUISE_GAP_S; + for (;;) { + const files = REGIONS.map((g) => [g, JSON.stringify(encode(g, gap))]); + const bytes = files.reduce((n, [, s]) => n + s.length, 0); + if (bytes > BUDGET && gap < 300) { + gap += 60; + continue; + } + for (const [g, text] of files) + await writeFile(path.join(OUT, `${g.id}.json`), await pretty(text)); + const index = { + format: 'gev-history-index/1', + capturedAt: { + start: new Date(firstAt * 1000).toISOString(), + end: new Date(lastAt * 1000).toISOString(), + }, + regions: REGIONS.map((g, i) => ({ + id: g.id, + label: g.label, + bbox: g.bbox, + file: `${g.id}.json`, + tracks: JSON.parse(files[i][1]).tracks.length, + })), + }; + await writeFile( + path.join(OUT, 'index.json'), + await pretty(JSON.stringify(index)), + ); + console.log( + `[save] ${new Date().toISOString()} span ${Math.round((lastAt - firstAt) / 60)} min, ${Math.round(bytes / 1024)} KB (cruise gap ${gap}s)`, + ); + return; + } +} + +const until = Date.now() + MINUTES * 60_000; +let polls = 0; +let lastSave = Date.now(); +let lastMil = 0; +console.log(`capturing ${MINUTES} min from ${BASE} → ${OUT}`); +while (Date.now() < until) { + const started = Date.now(); + const n = await pollFlights(); + if (Date.now() - lastMil > 40_000) { + lastMil = Date.now(); + await pollMilitary(); + } + polls++; + if (polls % 15 === 1) + console.log( + `[poll ${polls}] ${n} aircraft; tracks ${REGIONS.map((g) => `${g.id}:${store.get(g.id).size}`).join(' ')}`, + ); + if (Date.now() - lastSave > 5 * 60_000) { + lastSave = Date.now(); + await save().catch((e) => console.warn('[save]', e.message)); + } + const wait = POLL_S * 1000 - (Date.now() - started); + if (wait > 0) await new Promise((r) => setTimeout(r, wait)); +} +await save(); +console.log('done'); diff --git a/mobile/demo/history/gulf.json b/mobile/demo/history/gulf.json new file mode 100644 index 000000000..75a52ef11 --- /dev/null +++ b/mobile/demo/history/gulf.json @@ -0,0 +1,1002 @@ +{ + "format": "gev-history/1", + "region": "gulf", + "label": "Gulf of Mexico", + "bbox": { "west": -98.5, "south": 23.5, "east": -81.5, "north": 31.2 }, + "capturedAt": { + "start": "2026-10-23T08:25:37.000Z", + "end": "2026-10-23T09:02:03.000Z" + }, + "source": "adsb.lol (ODbL) · adsb.lol military (ODbL) · God’s Eye dev server (OpenSky / adsb.lol)", + "note": "Real recorded positions (adsb.lol point snapshots around each anchor, OpenSky / adsb.lol via the dev server as a fallback). Timestamps are the true capture times and are never shifted.", + "t0": 1792743937, + "tracks": [ + { + "k": "abb9df", + "m": { + "kind": "aircraft", + "layer": "flights", + "callsign": "SWA2487", + "registration": "N8549Z", + "type": "B738", + "squawk": "1026", + "country": "United States" + }, + "p": "656,-932098,298540,1183,103,255,120,3086,-635,0,103,256,132,3370,-707,0,104,253,122,2988,-632,0,104,242,120,2906,-627,-1,104,242,130,3157,-684,0,104,243,121,2924,-643,-1,104,241,120,2889,-644,0,104,243,121,2927,-656,0,104,245,129,3160,-720,-1,105,248,132,3253,-747,0,105,249,120,2964,-611,0,103,248,120,2975,-616,0,103,249" + }, + { + "k": "a78a52", + "m": { + "kind": "aircraft", + "layer": "flights", + "callsign": "AAL1118", + "registration": "N585UW", + "type": "A321", + "squawk": "7232", + "country": "United States" + }, + "p": "656,-929943,298147,1058,104,244,120,2938,-618,-2,104,245,132,3251,-692,0,104,246,120,2940,-634,0,104,244,120,2952,-643,-1,104,246,132,3222,-711,0,104,246,121,2980,-665,0,104,246,120,2941,-663,-2,104,245,121,2932,-670,2,105,245,129,3139,-725,-2,105,244,132,3219,-701,0,103,245,120,2958,-607,0,103,246,120,2930,-609,-1,103,245" + }, + { + "k": "0d0dd3", + "m": { + "kind": "aircraft", + "layer": "flights", + "callsign": "VOI703", + "registration": "XA-VSK", + "type": "A21N", + "squawk": "6506", + "country": "Mexico" + }, + "p": "656,-923437,295613,1089,199,261,120,-1040,-2690,1,199,263,132,-1373,-2876,0,204,261,120,-1314,-2556,0,206,260,122,-1432,-2545,0,206,260,130,-1531,-2732,0,206,260,121,-1419,-2546,0,206,262,120,-1425,-2569,0,206,266,120,-1419,-2574,3,206,266,382,-4471,-8196,-57,0,0" + }, + { + "k": "c00e6c", + "m": { + "kind": "aircraft", + "layer": "flights", + "callsign": "FLE2627", + "registration": "C-FFLZ", + "type": "B38M", + "squawk": "3253", + "country": "Canada" + }, + "p": "656,-919948,305338,1245,33,226,120,1553,2041,0,33,227,132,1726,2246,-1,34,226,120,1553,2018,0,34,226" + }, + { + "k": "a14bdd", + "m": { + "kind": "aircraft", + "layer": "flights", + "callsign": "N183AM", + "registration": "N183AM", + "type": "B789", + "squawk": "5206", + "country": "United States" + }, + "p": "656,-919792,286001,1216,235,252,120,-2509,-1573,-1,235,249,132,-2768,-1753,1,233,254,120,-2201,-1929,2,215,258,137,-1887,-2710,0,211,256,132,-1780,-2585,0,212,257,143,-1936,-2827,0,211,258,378,-5033,-7435,-60,0,0" + }, + { + "k": "a5449a", + "m": { + "kind": "aircraft", + "layer": "flights", + "callsign": "AAL1400", + "registration": "N439AN", + "type": "A21N", + "squawk": "3260" + }, + "p": "656,-917833,308618,1120,123,256,120,2675,-1491,-1,123,252,132,2876,-1616,0,123,250,120,2608,-1474,0,123,250,120,2612,-1485,0,123,249,132,2806,-1608,0,123,246,121,2584,-1490,-2,124,248,139,3064,-1587,1,117,248,120,2729,-1228,-1,118,251,131,3062,-1308,1,116,251,132,3059,-1316,-2,116,251,120,2775,-1201,0,116,252,120,2782,-1214,0,116,253" + }, + { + "k": "ad1927", + "m": { + "kind": "aircraft", + "layer": "flights", + "callsign": "N943JT", + "registration": "N943JT", + "type": "A321", + "squawk": "1005", + "country": "United States" + }, + "p": "657,-917438,292867,992,104,245,121,2984,-666,0,104,249,130,3229,-730,-1,105,250,120,2980,-682,0,105,251,120,3005,-697,0,105,252,132,3262,-759,-2,105,251,121,3018,-714,0,105,250,139,3418,-816,-1,105,250,120,2955,-716,1,105,250,131,3207,-784,-2,106,245,126,3023,-746,-1,106,245,188,4528,-1135,-40,0,0" + }, + { + "k": "a4ac26", + "m": { + "kind": "aircraft", + "layer": "flights", + "callsign": "N40VC", + "registration": "N40VC", + "type": "GLF4", + "squawk": "3727", + "ladd": true, + "country": "United States", + "ga": true + }, + "p": "657,-917203,301837,1273,291,229,120,-2547,1129,0,298,229,131,-2740,1263,1,298,229,120,-2541,1163,0,298,231,120,-2560,1164,0,298,232,134,-2876,1299,1,298,234,121,-2605,1168,-1,297,231,139,-2976,1325,0,297,230,120,-2531,1117,0,297,225" + }, + { + "k": "a7b3c2", + "m": { + "kind": "aircraft", + "layer": "flights", + "callsign": "ASA708", + "registration": "N596AS", + "type": "B738", + "squawk": "1014", + "country": "United States" + }, + "p": "656,-910711,296969,1183,107,240,120,2855,-785,-1,108,243,132,3165,-879,0,108,246,120,2874,-805,0,108,245,120,2898,-820,-1,108,246,132,3166,-905,0,108,246,121,2926,-844,-1,108,249,139,3371,-983,0,109,250,120,2900,-853,0,109,249,131,3178,-943,0,109,249,132,3206,-962,-1,109,252,120,2915,-883,0,109,253,120,2917,-892,-1,109,252" + }, + { + "k": "adb35c", + "m": { + "kind": "aircraft", + "layer": "flights", + "callsign": "JBU1400", + "registration": "N982JB", + "type": "A321", + "squawk": "7234", + "country": "United States" + }, + "p": "656,-901172,288919,1052,105,252,120,3014,-702,0,105,254,132,3294,-777,0,105,253,121,3009,-719,-1,105,250,138,3407,-822,-2,105,251,276,6873,-1690,-42,0,0,120,3009,-752,42,106,255,136,3358,-848,-1,106,253,132,3257,-887,0,108,254,132,3253,-934,-1,108,254,120,2920,-847,-1,108,254" + }, + { + "k": "ab165c", + "m": { + "kind": "aircraft", + "layer": "flights", + "callsign": "N813V", + "registration": "N813V", + "type": "F2TH", + "squawk": "1072", + "ladd": true, + "country": "United States", + "ga": true + }, + "p": "657,-901027,301972,1303,104,250,139,3515,-780,0,104,252,132,3320,-747,0,105,251,120,3026,-689,-1,105,252,120,3012,-693,0,105,251,131,3276,-763,0,105,250,121,3002,-707,-1,105,249,120,2984,-710,1,105,248,120,2953,-711,-1,106,249,131,3256,-793,-1,106,251,132,3288,-809,-1,106,251,120,2960,-737,-44,106,254,120,3022,-760,-18,106,256" + }, + { + "k": "a82dff", + "m": { + "kind": "aircraft", + "layer": "flights", + "callsign": "N626RA", + "registration": "N626RA", + "type": "GLF5", + "squawk": "1016", + "ladd": true, + "country": "United States", + "ga": true + }, + "p": "656,-899224,291145,1487,111,249,120,2817,-946,-12,111,250,132,3193,-1081,-32,111,261,140,3564,-1219,-16,111,268,120,3058,-1056,0,111,267,132,3334,-1151,0,110,265,120,3069,-894,0,108,265,120,3090,-897,0,108,266,120,3067,-899,0,108,263,131,3332,-987,0,109,265,132,3375,-1009,-1,109,266,120,3067,-925,0,109,266,120,3058,-932,0,109,265" + }, + { + "k": "a1277b", + "m": { + "kind": "aircraft", + "layer": "flights", + "callsign": "UAL2469", + "registration": "N17359", + "type": "B38M", + "country": "United States", + "squawk": "3635" + }, + "p": "611,-888826,287030,1180,107,254,145,3597,-963,-1,107,256,145,3647,-983,0,107,257,126,3154,-860,-1,107,257,121,3008,-830,0,107,255,131,3230,-894,-1,108,254,122,2998,-845,0,108,254,123,3021,-855,0,108,256,136,3379,-968,0,108,257,131,3267,-947,0,109,257,132,3225,-1019,-1,109,256,120,2924,-924,0,110,257,123,3033,-968,0,110,259" + }, + { + "k": "a52a99", + "m": { + "kind": "aircraft", + "layer": "flights", + "callsign": "AAL1802", + "registration": "N432AN", + "type": "A21N", + "squawk": "1330", + "country": "United States" + }, + "p": "656,-873660,282847,1178,111,258,120,2951,-1009,-1,111,258,132,3209,-1104,0,111,259,120,2949,-1023,0,111,260,120,2938,-1029,0,112,259,132,3202,-1130,0,112,259,121,2960,-1053,0,112,260,122,2996,-1074,0,112,262,121,2961,-1071,0,112,263,120,2953,-1077,0,112,262,122,2962,-1087,0,112,260,120,2904,-1076,0,113,258,120,2871,-1068,0,113,258" + }, + { + "k": "a3b8f5", + "m": { + "kind": "aircraft", + "layer": "flights", + "callsign": "AAL1292", + "registration": "N339TP", + "type": "B38M", + "squawk": "3202", + "country": "United States" + }, + "p": "656,-867605,301390,1176,128,254,120,2457,-1694,0,129,253,133,2707,-1885,-1,129,255,122,2551,-1786,-1,129,260,120,2490,-1751,0,129,259,132,2736,-1939,0,129,259,122,2485,-1771,0,129,256,138,2797,-2008,0,129,254,120,2413,-1743,0,129,256,132,2670,-1939,0,130,258,131,2671,-1957,0,130,258,120,2412,-1771,0,130,256,120,2385,-1766,1,130,255" + }, + { + "k": "a35e66", + "m": { + "kind": "aircraft", + "layer": "flights", + "callsign": "AAL563", + "registration": "N316PF", + "type": "B738", + "squawk": "0775", + "country": "United States" + }, + "p": "656,-865865,283586,1046,101,249,120,2983,-536,0,102,249,132,3292,-593,-1,102,252,123,3109,-579,-1,102,255,120,3053,-570,0,102,257,132,3400,-640,0,101,258,122,3162,-326,-1,97,258,138,3588,-374,0,97,258,121,3113,-330,-32,97,254,131,3386,-374,-68,97,259,131,3367,-375,-147,97,246,120,2906,-82,-75,90,237,120,2860,-1,-46,90,233" + }, + { + "k": "a4bf41", + "m": { + "kind": "aircraft", + "layer": "flights", + "callsign": "AAL778", + "registration": "N405AN", + "type": "A21N", + "squawk": "7623", + "country": "United States" + }, + "p": "656,-856631,276308,1046,111,260,120,2950,-1010,0,111,261,136,3335,-1150,1,111,262,139,3425,-1193,-1,111,262,120,2960,-1041,0,112,262,132,3236,-1145,0,112,262,120,2959,-1056,1,112,265,120,2931,-1054,-1,112,261,120,2908,-1054,0,112,261,132,3212,-1174,1,112,261,131,3062,-1128,-62,112,251,120,2765,-1025,-67,113,244,120,2604,-972,-121,112,226" + }, + { + "k": "a0053c", + "m": { + "kind": "aircraft", + "layer": "flights", + "callsign": "DLX100", + "registration": "N100FL", + "type": "CL60", + "squawk": "7231" + }, + "p": "658,-981495,307208,1190,100,245,120,2986,-478,0,101,245,132,3309,-538,-1,101,245,120,3004,-497,0,101,246,120,3019,-506,-1,101,246,131,3315,-565,0,101,246,122,3049,-528,0,101,246,139,3467,-609,-1,102,245,120,2985,-532,0,102,244,131,3251,-588,-1,102,245,132,3288,-604,0,102,246,140,3468,-646,0,102,245,120,2977,-563,0,102,245" + }, + { + "k": "a820f8", + "m": { + "kind": "helicopter", + "layer": "flights", + "callsign": "N6227", + "registration": "N6227", + "type": "AS50", + "squawk": "0277", + "helicopter": true, + "country": "United States", + "ga": true + }, + "p": "658,-977043,302901,40,220,35,40,51,-7,0,327,42,40,-13,-39,-1,56,43,40,-34,3,-3,125,39,40,-14,23,0,187,35,71,58,-17,1,44,46,41,-42,-3,0,134,34,40,-8,27,-1,207,33,40,19,19,1,263,36,40,36,-19,2,337,42,40,-12,-31,0,47,45,40,-29,-10,-2,111,40,40,-14,15,0,141,41,72,21,41,1,259,32,40,36,-22,0,350,38,39,-30,-28,1,79,42,41,-26,10,-2,138,37,41,25,125,-3,9,55,39,17,193,-1,17,57,40,148,173,0,48,62,39,201,138,-1,54,63,41,211,134,0,51,60,40,201,135,0,56,63,40,213,135,-2,55,63,40,209,117,-3,70,54,40,103,-28,-8,187,13" + }, + { + "k": "a12ff9", + "m": { + "kind": "aircraft", + "layer": "flights", + "callsign": "FDX1426", + "registration": "N176FE", + "type": "B763", + "squawk": "1666", + "country": "United States" + }, + "p": "658,-976582,302145,21,179,73,39,7,-245,-21,180,48,121,-21,-12,0,357,9,71,-2,71,0,357,12,61,-24,25,0,267,10,40,-47,-1,0,270,12,40,-51,-1,0,270,10,40,-13,16,0,0,8,40,-1,36,0,0,12,40,-4,42,0,346,12" + }, + { + "k": "a2c0ff", + "m": { + "kind": "aircraft", + "layer": "flights", + "callsign": "FDX1188", + "registration": "N277FE", + "type": "B763", + "squawk": "2272" + }, + "p": "658,-975623,307470,775,197,241,120,-874,-2467,-17,197,230,132,-886,-2522,-156,197,213,40,-255,-721,-47,197,208,40,-252,-716,-50,197,206,40,-242,-696,-41,197,200,40,-242,-691,-42,197,196,40,-331,-611,-17,223,182,40,-641,-312,-48,249,182,92,-1469,-483,-47,250,148,40,-575,-151,-26,255,146,39,-565,-128,-17,256,139,41,-583,-127,-19,256,145,41,-588,-128,-18,256,142,38,-548,-124,-17,255,141,41,-569,-128,-25,255,140,39,-545,-123,-22,256,135,360,-74,-1910,-142,132,73,44,160,-124,-24,132,21,59,56,-22,0,39,11,41,34,34,0,39,13" + }, + { + "k": "aaa752", + "m": { + "kind": "aircraft", + "layer": "flights", + "callsign": "BVN8280", + "registration": "N786FE", + "type": "C208", + "squawk": "2244" + }, + "p": "658,-974552,310854,249,192,84,40,-73,-296,0,192,85,40,-68,-303,0,191,85,40,-70,-296,0,192,85,40,-74,-301,1,192,86,71,-140,-561,-20,192,88,41,-78,-314,-10,192,86,40,-77,-299,-11,193,84,40,-81,-294,-11,194,83,40,-80,-292,-10,193,82,40,-78,-286,-2,193,81,40,-46,-292,-5,186,84,40,-32,-303,-9,186,85,72,-69,-548,-16,186,86,40,-34,-308,-8,186,85,39,-32,-300,-9,185,84,41,-30,-301,-8,185,83,41,-33,-305,-11,186,82,39,-76,-278,-10,197,81,40,-145,-261,-11,212,81,39,-177,-242,-11,213,80,41,-178,-247,-10,212,79,40,-165,-235,-3,204,74,40,-74,-252,0,190,72,40,-56,-253,0,193,71,40,-69,-249,0,193,71,51,-93,-313,-9,196,70,40,-94,-228,-13,199,62,71,-23,-379,-28,179,58,40,4,-211,-11,179,54,40,5,-106,-1,164,13,40,37,-12,-13,87,13,40,17,26,0,0,13,41,-1,48,0,357,12,60,-19,63,0,346,12,40,11,35,0,11,11" + }, + { + "k": "0d0b14", + "m": { + "kind": "aircraft", + "layer": "flights", + "callsign": "VTM392", + "registration": "XA-VAD", + "type": "CRJ2", + "squawk": "2420", + "country": "Mexico" + }, + "p": "658,-973293,295626,1064,43,198,120,1701,1620,-1,43,210,132,1976,1871,-1,43,218,120,1853,1747,0,43,221,120,1864,1747,0,43,220,132,2042,1906,0,43,218,121,1869,1730,-1,43,217,139,2148,1986,0,43,216,120,1856,1701,0,43,217,131,2033,1858,-1,43,217" + }, + { + "k": "a661bf", + "m": { + "kind": "aircraft", + "layer": "flights", + "callsign": "DAL547", + "registration": "N510DE", + "type": "A21N", + "squawk": "1363" + }, + "p": "658,-972438,305746,1062,101,245,120,2987,-501,1,101,244,132,3268,-555,-2,101,242,120,2958,-512,1,101,242,120,2973,-521,0,102,243,132,3251,-577,-1,102,242,121,2984,-539,0,102,243,139,3440,-630,0,102,244,120,2976,-553,0,102,244,131,3214,-604,-3,102,243,132,3245,-621,2,103,242,138,3393,-656,-2,103,243,120,2942,-577,0,103,245" + }, + { + "k": "ab7077", + "m": { + "kind": "aircraft", + "layer": "flights", + "callsign": "JUS5221", + "registration": "N836US", + "type": "MD88", + "squawk": "5710", + "country": "United States" + }, + "p": "658,-970971,300713,1155,220,231,140,-2154,-2234,1,220,231,132,-2114,-2013,0,223,230,120,-1928,-1838,1,223,232,120,-1916,-1837,-1,222,228,132,-2081,-2005,0,222,228,120,-1878,-1819,-41,222,228,120,-1905,-1855,-197,222,230" + }, + { + "k": "ac5a73", + "m": { + "kind": "aircraft", + "layer": "flights", + "callsign": "SWA3424", + "registration": "N8951S", + "type": "B38M", + "squawk": "2613", + "country": "United States" + }, + "p": "658,-964424,305436,1126,102,250,120,3027,-575,0,103,248,132,3320,-640,-1,103,248,120,3004,-587,0,103,245,140,3461,-688,-1,103,244,132,3274,-659,0,103,247,120,3003,-611,-1,103,249,120,3015,-622,0,103,249,120,3007,-629,-1,104,249,129,3238,-685,0,104,249,132,3317,-710,-1,104,253,120,3052,-663,0,104,256,120,3064,-675,0,104,255" + }, + { + "k": "0d0963", + "m": { + "kind": "aircraft", + "layer": "flights", + "callsign": "VIV187", + "registration": "XA-VAP", + "type": "A320", + "squawk": "1354", + "country": "Mexico" + }, + "p": "658,-962300,279013,1159,200,248,120,-1031,-2505,0,200,248,131,-1133,-2763,2,200,251,121,-1047,-2571,0,200,250,120,-1028,-2536,0,200,248,132,-1106,-2746,0,200,244,121,-1000,-2487,0,200,243,139,-913,-2943,0,193,245,120,-644,-2588,2,193,247" + }, + { + "k": "a12c42", + "m": { + "kind": "aircraft", + "layer": "flights", + "callsign": "FDX1155", + "registration": "N175FE", + "type": "B763", + "squawk": "0514" + }, + "p": "658,-958739,303822,314,156,141,40,230,-452,-24,156,138,40,233,-457,-23,156,135,40,229,-451,-23,156,140,40,233,-459,-23,156,139,71,412,-811,-42,156,137,41,226,-448,-22,156,132,40,210,-416,-17,156,124,40,352,-255,-20,98,111,40,438,-8,-10,90,99,40,392,2,-7,90,94,40,389,2,-10,89,94,40,388,1,-18,90,93,72,631,1,-32,90,79,40,330,1,-18,90,80,39,322,0,-16,90,79" + }, + { + "k": "a353c6", + "m": { + "kind": "aircraft", + "layer": "flights", + "callsign": "UPS772", + "registration": "N313UP", + "type": "B763", + "squawk": "6607", + "country": "United States" + }, + "p": "658,-956052,300914,122,256,114,40,-221,-310,1,183,105,40,198,-281,-13,134,93,40,281,-232,-19,120,95,40,391,-21,0,91,94,71,669,0,-30,90,88,41,352,1,-18,90,79,40,323,1,-18,90,78,39,321,-1,-15,90,78" + }, + { + "k": "a5b4b7", + "m": { + "kind": "helicopter", + "layer": "flights", + "callsign": "LIFE7", + "registration": "N467MH", + "type": "EC45", + "squawk": "0121", + "helicopter": true + }, + "p": "658,-953558,300578,22,94,69,40,279,-19,0,94,69,40,290,-20,0,95,69,40,243,-19,0,98,57,40,193,-30,-1,92,39,52,13,41,-14,189,10" + }, + { + "k": "a6833b", + "m": { + "kind": "aircraft", + "layer": "flights", + "callsign": "DAL477", + "registration": "N519DT", + "type": "A21N", + "squawk": "2444", + "country": "United States" + }, + "p": "658,-945872,301075,1125,102,244,140,3457,-659,-1,103,245,132,3251,-628,-1,103,246,120,2978,-586,-7,103,245,120,3009,-598,-48,103,247,129,3227,-647,-9,103,249,121,3015,-615,-1,103,249,120,3034,-625,0,103,252,120,3008,-630,0,104,251,131,3312,-700,-1,104,250,132,3310,-709,0,104,252,120,3008,-653,1,104,252,120,3003,-658,-3,104,251" + }, + { + "k": "a1211d", + "m": { + "kind": "aircraft", + "layer": "flights", + "callsign": "FDX1425", + "registration": "N172FE", + "type": "B763", + "squawk": "1576" + }, + "p": "658,-942898,307078,751,227,253,120,-2247,-1784,-170,230,236,40,-751,-522,-61,232,229,71,-1300,-886,-97,230,217,41,-675,-519,-51,228,211,40,-634,-489,-30,229,197,39,-588,-429,-10,231,177,41,-549,-390,-11,231,161,40,-489,-352,-14,230,149,40,-480,-343,-30,233,149,40,-572,-166,-18,258,145,72,-1053,-169,-25,260,143,40,-592,-90,-13,262,144,39,-593,-16,-12,270,144,41,-599,2,-17,270,140,41,-584,2,-44,270,137,39,-553,-1,-25,270,133,40,-532,0,1,270,129,39,-531,-8,-1,261,128,41,-305,-327,0,180,122,40,290,-320,-24,123,117,40,421,-200,-8,98,117,40,482,-1,0,90,112,40,458,1,-22,90,107,51,503,0,-27,90,84,41,328,0,-17,90,77,54,439,0,-22,90,75" + }, + { + "k": "ac7d27", + "m": { + "kind": "aircraft", + "layer": "flights", + "callsign": "SWA2334", + "registration": "N9033W", + "squawk": "1333" + }, + "p": "658,-940516,309916,1186,102,250,120,3061,-588,-1,103,252,132,3381,-659,-1,103,252,120,3076,-607,-1,103,253,120,3119,-628,0,103,257,130,3300,-664,0,103,244,121,2968,-612,0,104,240,120,2876,-599,0,104,237,121,2870,-604,0,104,235,129,3057,-652,-1,104,234,132,3134,-677,-1,104,237,120,2888,-629,0,104,239,121,2894,-640,0,104,240" + }, + { + "k": "a6e8ae", + "m": { + "kind": "aircraft", + "layer": "flights", + "callsign": "N544VL", + "registration": "N544VL", + "type": "A20N", + "squawk": "2452", + "country": "United States" + }, + "p": "660,-850976,282038,1143,190,246,120,-527,-2611,-1,190,246,132,-620,-2889,2,196,248,137,-1318,-2802,1,204,247,122,-1221,-2510,0,203,247,129,-1260,-2606,-1,203,245,129,-1266,-2627,1,203,245,350,-3615,-6983,-47,0,0" + }, + { + "k": "a7fe27", + "m": { + "kind": "aircraft", + "layer": "flights", + "callsign": "FFT1086", + "registration": "N614FR", + "type": "A21N", + "squawk": "2614", + "country": "United States" + }, + "p": "659,-849963,280871,1047,103,260,121,3113,-535,1,96,259,132,3445,-362,-2,97,260,139,3649,-388,1,97,259,120,3114,-339,-23,97,255,132,3372,-374,-174,97,246,120,2903,-64,-88,90,233,120,2823,0,-74,90,227,120,2706,-29,-68,91,218,40,852,39,-26,73,204,61,1112,451,-50,66,198,31,566,223,-24,66,194,40,701,280,-29,66,185,40,670,266,-28,66,176,31,499,199,-21,66,170,40,613,246,-26,66,162,40,589,235,-24,65,156,40,574,244,-25,62,157,40,561,262,-23,64,156,40,612,1,-25,100,154,40,622,-78,-24,97,153,40,611,-72,-24,98,150" + }, + { + "k": "a12aa0", + "m": { + "kind": "aircraft", + "layer": "flights", + "callsign": "UAL1459", + "registration": "N17413", + "type": "B39M", + "squawk": "7273", + "country": "United States" + }, + "p": "660,-849002,275504,1135,291,227,120,-2579,862,7,291,226,128,-2730,909,0,290,224,120,-2528,834,0,290,222,120,-2554,836,1,290,223,132,-2803,911,0,290,224,121,-2589,838,0,290,223,122,-2607,833,1,290,224,121,-2580,823,0,290,226,120,-2603,821,1,290,227,122,-2649,831,0,289,225,121,-2607,810,0,289,225,135,-2919,900,0,289,224" + }, + { + "k": "a66346", + "m": { + "kind": "aircraft", + "layer": "flights", + "callsign": "AAL2654", + "registration": "N510UW", + "type": "A321", + "squawk": "2627", + "country": "United States" + }, + "p": "660,-848715,273814,1046,112,258,120,2893,-1034,0,112,259,132,3194,-1151,0,112,259,139,3370,-1222,-2,112,260,120,2909,-1064,3,112,260,132,3155,-1163,-1,112,256,120,2858,-1063,0,113,258,120,2884,-1079,0,113,259,120,2858,-1076,-30,113,254,132,3038,-1152,-157,113,241,131,2862,-1094,-169,113,228,120,2296,-953,-93,116,202,40,716,-311,-41,116,200" + }, + { + "k": "a3088f", + "m": { + "kind": "aircraft", + "layer": "flights", + "callsign": "FDX1444", + "registration": "N295FE", + "type": "B763", + "squawk": "5661" + }, + "p": "660,-842720,302115,1170,148,255,120,1667,-2332,2,148,253,132,1803,-2540,0,148,251,139,1896,-2684,-1,148,251,120,1622,-2311,2,148,253,132,1803,-2584,1,148,256,120,1638,-2359,-1,149,256,120,1632,-2363,1,149,255,120,1612,-2349,0,149,254,132,1774,-2541,0,144,252,131,1943,-2425,0,145,251,120,1740,-2228,0,145,252,120,1741,-2232,1,145,252" + }, + { + "k": "a5012d", + "m": { + "kind": "aircraft", + "layer": "flights", + "callsign": "AAL3260", + "registration": "N421UW", + "type": "A21N", + "squawk": "0764", + "country": "United States" + }, + "p": "660,-842496,281889,605,97,237,40,942,-114,-51,98,228,40,895,-106,-51,98,220,40,875,-103,-57,98,214,39,846,-102,-56,98,210,61,1250,-186,-73,106,199,32,578,-138,-5,105,180,39,641,-153,0,105,157,40,609,-146,0,105,152,40,603,-144,-1,105,153,40,605,-145,0,105,152,41,613,-148,0,105,152,39,581,-140,0,105,153,92,1380,-336,-2,105,153,40,597,-145,-9,105,151,41,597,-145,-11,105,153,39,595,-145,-11,105,151,42,602,-148,-26,106,145,38,550,-135,-30,105,146,40,567,-140,-30,105,145,40,562,-138,-3,106,141,40,523,-129,-26,105,132,40,479,-119,-9,106,112,41,428,-106,-33,106,104,39,378,-93,-25,105,94,41,361,-92,-18,106,89,40,310,65,-9,31,86,31,67,227,-13,7,78,40,15,253,-16,2,67,40,8,238,-13,2,64,31,6,180,-12,2,64,40,8,233,-13,1,67,37,6,180,-2,2,25" + }, + { + "k": "a6bb97", + "m": { + "kind": "aircraft", + "layer": "flights", + "callsign": "JIA5078", + "registration": "N533AE", + "type": "CRJ7", + "squawk": "1200" + }, + "p": "660,-840516,309870,365,216,167,40,-394,-475,-36,216,161,40,-387,-465,-34,216,155,40,-376,-452,-34,216,151,39,-355,-427,-31,216,149,61,-537,-651,-47,215,141,32,-265,-322,-24,215,134,39,-305,-370,-26,215,123,40,-286,-349,-26,215,117,40,-180,-357,-16,186,100,40,-6,-354,-1,179,97,41,4,-349,-18,179,87,39,3,-284,-18,179,77,92,7,-585,-34,180,65,35,2,-199,-12,180,65" + }, + { + "k": "a85f20", + "m": { + "kind": "aircraft", + "layer": "flights", + "callsign": "UAL799", + "registration": "N63890", + "type": "B739", + "squawk": "3233", + "country": "United States" + }, + "p": "660,-839757,304165,984,126,236,120,2342,-1494,-63,126,233,132,2630,-1686,-66,126,242,139,2781,-1796,-7,127,240,120,2397,-1560,0,127,241,132,2622,-1712,0,127,240,120,2360,-1556,0,127,240,120,2325,-1538,-82,127,229,120,2182,-1453,-143,128,215,40,703,-467,-46,127,212,61,918,-776,-73,137,201,31,432,-375,-5,130,182,40,574,-385,-8,127,172,40,560,-378,-30,128,168,31,418,-284,-24,128,165,40,531,-361,-29,128,162,40,507,-364,-29,137,160,40,338,-489,-31,152,157" + }, + { + "k": "aa7864", + "m": { + "kind": "aircraft", + "layer": "flights", + "callsign": "FDX1409", + "registration": "N774FD", + "type": "B752", + "squawk": "1560", + "country": "United States" + }, + "p": "660,-837739,302991,911,127,239,120,2425,-1567,-63,127,241,132,2667,-1737,0,127,244,139,2817,-1846,0,127,244,120,2392,-1577,0,127,241,132,2602,-1726,0,127,240,120,2342,-1564,-94,127,232,120,2159,-1450,-134,127,214,40,686,-461,-43,128,209,40,649,-474,-47,133,205,40,581,-525,-38,137,198,40,578,-463,-23,129,186,61,901,-609,-56,127,180,31,448,-300,-28,127,178,40,570,-385,-31,128,171,40,504,-389,-10,141,155,31,245,-365,-21,152,152" + }, + { + "k": "a1f1de", + "m": { + "kind": "aircraft", + "layer": "flights", + "callsign": "SWA1672", + "registration": "N224WN", + "type": "B737", + "squawk": "1454" + }, + "p": "660,-833693,303544,884,135,255,120,2279,-1972,-35,135,257,132,2476,-2165,0,135,257,139,2605,-2291,0,135,258,120,2255,-1984,0,135,258,132,2417,-2146,-83,136,242,120,1974,-1767,-168,136,219,41,631,-566,-62,136,216,39,596,-556,-36,137,209,40,606,-490,0,128,195,40,623,-421,-37,127,188,40,603,-405,-41,127,182,40,583,-392,-38,128,177,40,538,-378,-13,135,160,61,493,-725,-41,152,152" + }, + { + "k": "a411d3", + "m": { + "kind": "aircraft", + "layer": "flights", + "callsign": "UPS1340", + "registration": "N361UP", + "type": "B763", + "squawk": "4564" + }, + "p": "660,-825275,279723,0,186,9,39,-1,-40,0,183,13,80,-12,16,0,2,59,40,-21,275,55,353,84,61,-527,277,82,249,141,32,-291,-299,76,196,145,39,100,-500,87,157,149,40,248,-504,61,156,157,40,265,-540,27,157,173,40,289,-600,91,156,185,41,305,-639,98,157,193,131,1173,-2221,83,145,230,120,1640,-1976,0,144,226,120,1613,-1969,1,144,226,120,1611,-1974,0,144,226,120,1611,-1982,0,144,226,152,2035,-2517,0,144,226" + }, + { + "k": "a6a30e", + "m": { + "kind": "helicopter", + "layer": "flights", + "callsign": "N527BF", + "registration": "N527BF", + "type": "EC35", + "squawk": "0216", + "helicopter": true + }, + "p": "660,-824255,279124,26,150,68,40,139,-216,0,151,68,40,136,-216,0,151,68,40,135,-215,0,151,69,39,133,-215,0,151,69,61,217,-322,-5,139,61,32,68,-128,-3,202,44,39,-44,28,-10,21,16,31,12,26,-6,23,4,1004,-8,16,5,330,20,40,-67,111,11,331,46,40,-114,159,3,328,55,40,-118,162,6,326,57,40,-129,179,0,328,59,40,-128,179,-1,328,59" + }, + { + "k": "a696d5", + "m": { + "kind": "aircraft", + "layer": "flights", + "callsign": "SCX3046", + "registration": "N5233A", + "type": "B738", + "squawk": "5732", + "country": "United States" + }, + "p": "660,-820846,279891,30,88,71,40,290,1,-16,89,71" + }, + { + "k": "a56ddc", + "m": { + "kind": "aircraft", + "layer": "flights", + "callsign": "UPS1352", + "registration": "N449UP", + "type": "B752", + "squawk": "1630" + }, + "p": "660,-820651,304724,1264,193,245,120,-573,-2602,1,186,246,132,-274,-2924,1,184,246,139,-276,-3028,-144,185,244,120,-245,-2668,-219,185,250,132,-269,-2939,-242,185,236,40,-77,-825,-63,185,229,41,-76,-826,-68,185,224,39,-72,-789,-64,185,219,40,-55,-774,-54,182,214,41,2,-771,-7,179,212,39,14,-761,0,179,213,40,-19,-758,-45,186,206,40,-180,-711,-19,195,203,40,-224,-698,-18,196,191,40,-196,-596,-11,196,155,61,-246,-783,-44,195,146,31,-120,-391,-37,195,147,40,-158,-512,-42,195,146,40,-159,-508,-33,195,145,31,-121,-390,-4,196,142,40,-146,-467,-13,193,129,41,-40,-445,-16,181,118,39,-8,-420,-26,181,117,40,-152,-382,-20,216,112,40,-273,-335,1,216,115,40,-344,-250,-1,265,112,40,-342,152,1,343,97" + }, + { + "k": "a4e714", + "m": { + "kind": "aircraft", + "layer": "flights", + "callsign": "DAL146", + "registration": "N415DX", + "type": "A339", + "squawk": "3017", + "country": "United States" + }, + "p": "660,-818741,274552,1208,349,245,120,-552,2585,-1,349,242,132,-609,2828,0,349,244,139,-651,3014,-1,349,244,120,-564,2596,0,349,246,132,-626,2865,0,349,244,120,-567,2582,-1,349,244,120,-571,2585,0,349,246,120,-574,2586,-1,349,240,132,-623,2792,0,349,242,131,-629,2807,-1,349,241,120,-578,2559,0,349,244,120,-588,2590,-1,349,244" + }, + { + "k": "a73e63", + "m": { + "kind": "aircraft", + "layer": "flights", + "callsign": "AJT400", + "registration": "N566NC", + "type": "B763", + "squawk": "4044" + }, + "p": "660,-817701,306311,1167,157,247,120,1189,-2464,0,157,247,132,1298,-2706,0,157,248" + }, + { + "k": "ac9b01", + "m": { + "kind": "helicopter", + "layer": "flights", + "callsign": "N911GJ", + "registration": "N911GJ", + "type": "H500", + "squawk": "0225", + "helicopter": true, + "country": "United States", + "ga": true + }, + "p": "660,-816410,282171,41,278,37,39,-69,68,2,343,25,40,60,54,0,97,29,41,86,-91,1,171,39,39,-79,-103,-1,279,38,61,-15,122,-2,30,24,32,69,12,1,127,30,39,14,-127,1,212,38,40,-105,23,-1,343,28,40,24,77,1,32,23,40,79,1,0,149,34,41,-23,-116,0,248,38,39,-72,65,0,356,25,92,44,-16,1,261,41,40,-48,81,-1,26,25,39,85,9,0,141,32,41,-64,-87,0,283,34,42,-28,84,-2,37,25,38,90,-12,0,147,33,40,-77,-55,-1,311,30,40,8,79,0,56,24,40,80,-64,3,184,41,40,-42,-110,15,201,31,41,15,-131,5,159,46,39,41,-184,-4,177,54,41,10,-193,0,177,53,40,15,-189,0,176,52,31,10,-145,0,177,53,39,13,-187,0,177,52,40,12,-188,0,177,52,32,-57,-134,0,229,54,40,-162,-139,-1,227,55,39,-158,-135,-3,226,56,40,-155,-132,-4,226,49,41,-143,-122,0,226,48,40,-132,-113,1,226,45,40,-140,-120,-9,226,48,40,-138,-117,-9,226,47" + }, + { + "k": "ac8609", + "m": { + "kind": "aircraft", + "layer": "flights", + "callsign": "MTN8385", + "registration": "N906FX", + "type": "AT43", + "squawk": "1611" + }, + "p": "700,-852207,311832,485,136,150,40,490,-340,-22,125,150,40,504,-319,-20,127,150,39,497,-325,-21,127,151,61,758,-500,-32,127,150,32,393,-259,-17,127,150,39,495,-323,-21,127,149,41,497,-323,-20,127,147,39,480,-319,-23,128,144,40,458,-307,-22,127,134,41,444,-292,-24,127,130,39,418,-277,-22,127,128,92,949,-640,-54,128,124,40,413,-272,-23,127,127,40,419,-278,-23,128,129,40,430,-287,-23,128,128,42,436,-295,-23,128,127,38,377,-268,-4,140,117,40,139,-386,-6,182,112,40,10,-395,-22,181,102,41,-1,-328,-4,179,75,39,6,-236,-22,178,59,41,-3,-202,-8,179,55,39,4,-204,-8,180,61,41,2,-211,-13,179,57" + }, + { + "k": "a4b065", + "m": { + "kind": "aircraft", + "layer": "flights", + "callsign": "AAL1471", + "registration": "N401AN", + "type": "A21N", + "squawk": "3540" + }, + "p": "699,-830811,311992,1106,144,255,120,1895,-2218,-1,144,257,133,2092,-2467,1,144,256,139,2180,-2583,-32,144,254,152,2348,-2809,-53,144,253,120,1845,-2218,-11,144,255,120,1861,-2249,0,144,257,120,1850,-2249,0,144,257" + }, + { + "k": "a500a3", + "m": { + "kind": "helicopter", + "layer": "flights", + "callsign": "N421PH", + "registration": "N421PH", + "type": "B407", + "helicopter": true, + "squawk": "1200" + }, + "p": "817,-973420,311779,72,200,59,72,-160,-364,0,200,60,41,-87,-205,0,200,60,40,-90,-201,0,201,59,40,-86,-199,0,200,59,40,-83,-200,0,201,59,39,-98,-189,0,204,59,41,-105,-200,0,200,59,39,-77,-198,0,200,59,73,-152,-361,0,198,59,40,-77,-199,0,199,59,39,-79,-201,0,199,59,41,-82,-203,0,200,59,41,-91,-205,0,203,59,39,-95,-190,0,201,59,40,-85,-200,0,200,59,39,-87,-196,0,201,59,41,-90,-201,0,201,59,40,-86,-199,0,201,58,40,-87,-196,0,201,58,40,-89,-195,0,201,58,40,-83,-199,0,199,58,51,-110,-250,0,201,58,40,-88,-196,0,201,58,71,-152,-352,0,202,59,41,-88,-198,0,200,59,39,-84,-195,0,201,58,41,-87,-199,0,200,58,39,-84,-191,0,200,58,41,-82,-200,0,200,57,40,-88,-192,0,201,58,39,-83,-195,0,201,58" + }, + { + "k": "a9678b", + "m": { + "kind": "aircraft", + "layer": "flights", + "callsign": "N705EF", + "registration": "N705EF", + "type": "C182", + "squawk": "7014" + }, + "p": "946,-815019,303525,33,28,43,105,5,350,37,302,53,40,-161,129,13,339,51,40,70,147,3,54,48" + }, + { + "k": "a8c329", + "m": { + "kind": "aircraft", + "layer": "flights", + "callsign": "LRC661", + "registration": "N664AV", + "type": "A320", + "squawk": "7105" + }, + "p": "1032,-815200,306909,1071,212,235,139,-1819,-2499,0,212,234,132,-2158,-2027,0,223,232,120,-1999,-1846,1,223,237,120,-2012,-1871,0,223,237,120,-2005,-1873,1,223,238,132,-2206,-2072,0,223,240,131,-2201,-2081,1,223,240,120,-1999,-1900,0,223,240,120,-1992,-1905,0,223,240" + }, + { + "k": "a35e5b", + "m": { + "kind": "aircraft", + "layer": "flights", + "callsign": "VELUX41", + "registration": "N316NV", + "type": "A319", + "squawk": "2477" + }, + "p": "1070,-977482,262616,92,287,121,38,-485,132,57,287,139,134,-1945,522,211,287,172,40,-679,181,55,286,181,39,-704,187,48,286,188,121,-1799,1118,100,324,195,120,-1430,1742,134,323,204" + }, + { + "k": "a2b134", + "m": { + "kind": "aircraft", + "layer": "flights", + "callsign": "UAL438", + "registration": "N27267", + "type": "B38M", + "squawk": "6074" + }, + "p": "1131,-815026,263579,1145,295,228,132,-2734,1149,0,292,229,121,-2573,929,0,292,230,139,-2970,1068,0,292,230,121,-2589,923,0,292,230,120,-2578,913,-1,291,229,122,-2604,917,0,291,226,120,-2547,888,0,291,224,120,-2532,880,0,291,226" + }, + { + "k": "a47e89", + "m": { + "kind": "aircraft", + "layer": "flights", + "callsign": "UPS782", + "registration": "N389UP", + "type": "B763", + "squawk": "6765" + }, + "p": "1150,-964686,311697,1158,224,248,132,-2367,-2128,-1,224,247,121,-2152,-1946,-6,224,247,139,-2467,-2244,-211,223,247,120,-2042,-1874,-151,223,232,131,-2106,-1937,-166,223,219,40,-623,-579,-56,223,217,51,-777,-719,-64,223,213,41,-602,-559,-50,223,209,40,-590,-539,-40,228,203,40,-697,-355,-33,249,188,39,-679,-228,-40,249,174,41,-658,-218,-19,249,162,40,-593,-172,-18,254,146,40,-598,-141,-36,256,150" + }, + { + "k": "34758d", + "m": { + "kind": "aircraft", + "layer": "flights", + "callsign": "GES041Z", + "registration": "EC-OBZ", + "type": "GLF6", + "ladd": true, + "squawk": "2472" + }, + "p": "1171,-856181,253547,1369,71,270,152,3805,1266,0,66,269,140,3409,1406,-1,66,269,120,2934,1201,0,66,268,120,2935,1193,0,66,269,132,3227,1302,-1,66,271,131,3246,1300,0,66,270,120,2969,1179,0,66,270" + }, + { + "k": "a9b6d0", + "m": { + "kind": "aircraft", + "layer": "flights", + "callsign": "N725HB", + "registration": "N725HB", + "type": "BE58", + "squawk": "1200" + }, + "p": "1243,-834482,311407,15,49,63,60,124,321,44,354,68,40,-25,245,28,357,67" + }, + { + "k": "a8dff1", + "m": { + "kind": "aircraft", + "layer": "flights", + "callsign": "FDX1465", + "registration": "N671FE", + "type": "A306", + "squawk": "5617" + }, + "p": "1405,-859622,311934,1110,143,264,138,2277,-2587,0,143,259,120,1954,-2230,0,143,260,132,2141,-2460,0,143,262,131,2147,-2484,0,143,260,120,1923,-2239,0,143,260,120,1941,-2277,0,143,262" + }, + { + "k": "a271b0", + "m": { + "kind": "aircraft", + "layer": "flights", + "callsign": "MXY353", + "registration": "N257BZ", + "type": "BCS3", + "squawk": "7201" + }, + "p": "1462,-984993,310896,1126,100,237,120,2919,-451,0,100,236,120,2921,-459,-1,100,237,131,3211,-513,0,101,239,132,3231,-524,0,101,239,120,2945,-485,0,101,241" + }, + { + "k": "a13767", + "m": { + "kind": "aircraft", + "layer": "flights", + "callsign": "FDX1410", + "registration": "N178FE", + "type": "B763", + "squawk": "1674" + }, + "p": "1463,-853551,311962,1110,133,264,120,2404,-1960,-1,134,264,120,2397,-1966,0,134,264,132,2411,-2345,0,139,265,131,2355,-2370,-1,139,264,120,2148,-2169,-30,139,260" + }, + { + "k": "a2cb14", + "m": { + "kind": "aircraft", + "layer": "flights", + "callsign": "UAL63", + "registration": "N27959", + "type": "B789", + "squawk": "6067" + }, + "p": "1483,-815034,262937,1210,293,240,120,-2665,998,0,293,240,121,-2678,995,-1,292,240,151,-3362,1240,1,292,241,131,-2911,1064,-1,292,238,120,-2655,963,0,292,239" + }, + { + "k": "ab6ea5", + "m": { + "kind": "aircraft", + "layer": "flights", + "callsign": "AAL962", + "registration": "N836AA", + "type": "B789", + "squawk": "6036" + }, + "p": "1543,-815145,268863,1270,297,239,121,-2582,1164,0,297,240,131,-2821,1263,0,297,239,131,-2838,1262,0,296,239,120,-2585,1142,0,296,237,120,-2578,1131,0,296,238" + }, + { + "k": "a10d7f", + "m": { + "kind": "aircraft", + "layer": "flights", + "callsign": "UPS1346", + "registration": "N167UP", + "type": "A306", + "squawk": "6745" + }, + "p": "1564,-835079,311787,1106,165,254,139,988,-3108,0,165,256,132,932,-2948,0,165,261,131,925,-2954,1,165,258,120,832,-2666,1,165,254" + }, + { + "k": "ad36c8", + "m": { + "kind": "aircraft", + "layer": "flights", + "callsign": "AAL2777", + "registration": "N950XV", + "type": "A21N", + "squawk": "1030" + }, + "p": "1622,-984567,307696,1128,100,245,151,3763,-660,-1,102,244,132,3271,-620,-1,102,244,120,2975,-573,0,103,245,120,2993,-582,0,103,246" + }, + { + "k": "a7f684", + "m": { + "kind": "aircraft", + "layer": "flights", + "callsign": "DAL2069", + "registration": "N612DN", + "type": "A21N", + "squawk": "6051" + }, + "p": "1703,-855072,311952,1108,123,252,132,2917,-1654,-30,124,254,131,2879,-1647,-34,124,250,120,2628,-1510,-2,124,253" + }, + { + "k": "adc532", + "m": { + "kind": "aircraft", + "layer": "flights", + "callsign": "AAL2263", + "registration": "N987AN", + "type": "B738", + "squawk": "0734" + }, + "p": "1722,-984711,306249,1126,101,244,162,4054,-712,0,102,244,121,2989,-535,0,102,243,120,2965,-536,-1,102,242" + }, + { + "k": "aa7e9b", + "m": { + "kind": "aircraft", + "layer": "flights", + "callsign": "UAL1702", + "registration": "N77544", + "type": "B39M", + "squawk": "1442" + }, + "p": "1724,-852672,311974,979,139,248,151,2583,-2550,-2,139,249,131,2223,-2210,0,139,248,120,1997,-1997,0,139,242" + }, + { + "k": "aabff4", + "m": { + "kind": "aircraft", + "layer": "flights", + "callsign": "FDX1481", + "registration": "N792FD", + "type": "B752", + "squawk": "1506" + }, + "p": "1724,-852101,311870,509,128,214,40,712,-478,-54,128,213,31,530,-356,-41,128,207,40,677,-455,-50,128,204,40,666,-447,-30,128,189,31,461,-311,-9,128,173,40,538,-363,-9,128,157,40,492,-331,-18,128,147,40,479,-323,-27,128,145,40,472,-322,-26,128,141,40,457,-310,-24,128,138,40,449,-304,-24,128,134,40,434,-295,-22,128,132" + }, + { + "k": "0d0e29", + "m": { + "kind": "aircraft", + "layer": "flights", + "callsign": "AMX689", + "registration": "XA-DAO", + "type": "B38M", + "squawk": "6534" + }, + "p": "1772,-949567,311089,1155,207,250,133,-1559,-2646,0,207,249,120,-1407,-2406,1,207,249,120,-1399,-2396,0,207,249" + }, + { + "k": "a870e2", + "m": { + "kind": "aircraft", + "layer": "flights", + "callsign": "FDX52", + "registration": "N643FE", + "type": "MD11", + "squawk": "1412" + }, + "p": "1774,-815013,301214,1206,309,239,132,-2537,1781,-1,309,238,120,-2309,1612,-2,309,238,120,-2325,1616,1,309,239" + }, + { + "k": "a4bcca", + "m": { + "kind": "helicopter", + "layer": "flights", + "callsign": "N404PH", + "registration": "N404PH", + "type": "B407", + "squawk": "0267", + "helicopter": true + }, + "p": "1833,-977268,302904,20,198,5,51,75,-106,23,123,47,41,201,-105,0,120,59,40,206,-113,1,123,59,40,205,-115,0,123,58,39,199,-113,0,123,58,41,204,-112,0,122,58,40,205,-110,0,123,57,40,203,-111,0,123,57" + }, + { + "k": "ad763b", + "m": { + "kind": "aircraft", + "layer": "flights", + "callsign": "LRC655", + "registration": "N976AV", + "type": "A20N", + "squawk": "5641" + }, + "p": "1835,-826146,311608,1069,194,244,131,-782,-2793,2,194,242,120,-1030,-2416,0,209,240" + }, + { + "k": "a54852", + "m": { + "kind": "helicopter", + "layer": "flights", + "callsign": "N44AP", + "registration": "N44AP", + "type": "B407", + "squawk": "5325", + "helicopter": true, + "ladd": true + }, + "p": "1884,-948148,300600,19,263,47,41,-201,-11,8,265,54,40,-233,-10,0,270,56,40,-232,2,1,269,56,39,-231,-5,-1,269,56,41,-236,-4,0,270,56,40,-235,-1,0,269,57,40,-234,-5,0,269,57" + }, + { + "k": "a3b066", + "m": { + "kind": "aircraft", + "layer": "flights", + "callsign": "CXK370", + "registration": "N337G", + "type": "P28A", + "squawk": "1406", + "ladd": true + }, + "p": "1966,-818586,265895,10,52,34,40,7,103,16,338,31,40,-37,124,4,349,41,40,-26,149,-1,353,42,41,-8,158,-2,359,44,39,-10,150,3,359,40" + }, + { + "k": "a37efc", + "m": { + "kind": "aircraft", + "layer": "flights", + "callsign": "UPS1338", + "registration": "N324UP", + "type": "B763", + "squawk": "6653" + }, + "p": "1986,-843957,311762,1103,180,262,120,-3,-2822,-1,180,261" + } + ] +} diff --git a/mobile/demo/history/index.json b/mobile/demo/history/index.json new file mode 100644 index 000000000..10300116b --- /dev/null +++ b/mobile/demo/history/index.json @@ -0,0 +1,30 @@ +{ + "format": "gev-history-index/1", + "capturedAt": { + "start": "2026-10-23T08:25:37.000Z", + "end": "2026-10-23T09:02:03.000Z" + }, + "regions": [ + { + "id": "nyc", + "label": "New York area", + "bbox": { "west": -76.5, "south": 39.4, "east": -71.2, "north": 42.2 }, + "file": "nyc.json", + "tracks": 47 + }, + { + "id": "london", + "label": "London and the North Sea approaches", + "bbox": { "west": -2.6, "south": 50.2, "east": 5.6, "north": 53.6 }, + "file": "london.json", + "tracks": 500 + }, + { + "id": "gulf", + "label": "Gulf of Mexico", + "bbox": { "west": -98.5, "south": 23.5, "east": -81.5, "north": 31.2 }, + "file": "gulf.json", + "tracks": 78 + } + ] +} diff --git a/mobile/demo/history/london.json b/mobile/demo/history/london.json new file mode 100644 index 000000000..802e8a25a --- /dev/null +++ b/mobile/demo/history/london.json @@ -0,0 +1,6007 @@ +{ + "format": "gev-history/1", + "region": "london", + "label": "London and the North Sea approaches", + "bbox": { "west": -2.6, "south": 50.2, "east": 5.6, "north": 53.6 }, + "capturedAt": { + "start": "2026-10-23T08:25:37.000Z", + "end": "2026-10-23T09:02:03.000Z" + }, + "source": "adsb.lol (ODbL) · adsb.lol military (ODbL) · God’s Eye dev server (OpenSky / adsb.lol)", + "note": "Real recorded positions (adsb.lol point snapshots around each anchor, OpenSky / adsb.lol via the dev server as a fallback). Timestamps are the true capture times and are never shifted.", + "t0": 1792743937, + "tracks": [ + { + "k": "ab8fcb", + "m": { + "kind": "aircraft", + "layer": "flights", + "callsign": "AAL54", + "registration": "N844MC", + "type": "B789", + "squawk": "5145" + }, + "p": "653,-25944,514157,741,96,242,120,4029,-268,-121,96,228,40,1274,-92,-39,97,222,40,1256,-93,-39,97,217,31,945,-68,-32,96,213,40,1223,-87,-42,97,210,41,1193,-88,-42,97,206,40,1146,-86,-27,97,196,40,1099,-83,-18,97,191,40,1027,-80,-1,97,172,40,927,-68,-26,95,152,40,816,-117,-13,108,142,71,1350,-288,-21,107,139,40,781,-22,0,82,136,40,761,58,0,83,135,40,772,59,-1,83,136,40,779,59,-10,83,136,40,759,57,-19,83,133,41,771,60,-1,83,133,39,762,36,0,92,136,40,765,-22,-10,92,132,40,662,-176,-18,146,134,40,-47,-452,-3,220,134,40,-687,-104,-15,292,128,41,-472,344,-15,328,127,50,-478,486,0,336,126,41,-39,438,0,3,123,40,-259,385,0,301,126,31,-547,-9,0,241,131,40,-627,-280,0,234,130,40,-626,-242,1,259,129,40,-721,75,-6,284,128,40,-704,110,-16,284,121,41,-619,93,-16,283,104,39,-567,86,-15,284,101,40,-495,150,-6,333,95" + }, + { + "k": "40808c", + "m": { + "kind": "aircraft", + "layer": "flights", + "callsign": "VIR74W", + "registration": "G-VNVR", + "type": "A35K", + "squawk": "5162" + }, + "p": "653,-24526,532636,78,52,98,40,427,205,-21,52,87,40,365,175,-17,51,71,40,327,159,-14,51,70,40,320,154,-14,51,67,40,211,103,-12,51,17,30,31,32,0,51,11,62,53,31,0,51,11,40,59,28,0,51,11,60,-8,31,0,321,8" + }, + { + "k": "43c8eb", + "m": { + "kind": "military", + "layer": "military", + "callsign": "SYS150", + "registration": "ZM517", + "type": "EC35", + "squawk": "7421", + "helicopter": true, + "military": true, + "country": "United Kingdom" + }, + "p": "610,-23722,528062,26,349,45,361,-462,64,-2,226,33,41,-141,-97,0,272,41,318,147,95,11,0,0,39,-139,-71,-10,202,36,35,-83,42,-4,344,36,268,90,-51,4,238,36,254,-40,81,-1,279,46,161,163,-41,-1,249,33,34,-179,-16,1,324,45" + }, + { + "k": "4cad7f", + "m": { + "kind": "aircraft", + "layer": "flights", + "callsign": "EIN156", + "registration": "EI-NSF", + "type": "A20N", + "squawk": "1425" + }, + "p": "653,-23626,530345,986,125,231,120,2556,-1930,-18,148,225,132,2280,-2196,-107,148,214,121,1909,-1864,-107,148,194,120,1889,-1582,-96,137,177,90,1546,-1024,-84,138,169,40,646,-450,-43,139,167,40,535,-486,-36,149,164,40,488,-499,-35,149,161,41,484,-501,-36,149,161,39,528,-448,-12,139,147,41,534,-390,-16,140,138,39,506,-366,-13,138,138,40,692,-254,-1,117,138,40,710,-220,-12,117,137,40,707,-217,-18,116,134,40,692,-214,-14,116,133,41,692,-214,-17,116,133,50,854,-285,-1,132,134,41,106,-452,0,209,138,40,-687,-141,0,289,134,31,-535,163,0,296,132,40,-682,229,-17,313,131,40,-102,426,-12,27,129,40,637,168,-1,103,130,40,680,-198,-12,116,129,40,631,-234,-19,142,129,40,102,-454,0,182,131,40,-23,-476,0,182,132" + }, + { + "k": "4075ff", + "m": { + "kind": "aircraft", + "layer": "flights", + "callsign": "SHT2P", + "registration": "G-NEOR", + "type": "A21N", + "squawk": "6464", + "country": "United Kingdom" + }, + "p": "653,-23510,533125,31,51,78,40,354,171,-16,51,75,40,275,133,-15,51,33,40,47,46,0,51,11,40,49,23,0,51,11,40,62,30,0,51,10,31,-10,20,0,321,9,100,-50,58,0,318,9" + }, + { + "k": "406a63", + "m": { + "kind": "aircraft", + "layer": "flights", + "callsign": "EXS050B", + "registration": "G-GDFW", + "type": "B738", + "squawk": "0272" + }, + "p": "652,-22859,533444,0,51,19,41,41,38,0,51,11,39,46,22,0,51,10,40,50,25,0,42,10,176,-78,89,0,318,9" + }, + { + "k": "4bb28e", + "m": { + "kind": "aircraft", + "layer": "flights", + "callsign": "THY2CT", + "registration": "TC-LTN", + "type": "A21N", + "squawk": "6616" + }, + "p": "653,-22732,533523,0,51,10,60,-5,28,0,321,8" + }, + { + "k": "406ec7", + "m": { + "kind": "aircraft", + "layer": "flights", + "callsign": "BAW2X", + "registration": "G-XLEL", + "type": "A388", + "squawk": "7022" + }, + "p": "653,-21466,528285,941,157,225,120,1556,-2164,-124,155,210,132,2260,-1919,-103,138,185,121,2103,-1434,-85,138,173,59,970,-667,-37,138,167,40,638,-454,-33,140,167,40,627,-452,-26,140,164,71,1106,-797,-52,139,162,41,615,-442,-27,140,159,39,596,-434,-27,140,159,40,594,-430,-25,140,156,40,584,-426,-23,140,153,40,700,-294,-12,115,142,41,720,-217,-12,117,135,39,681,-211,-20,116,132,41,687,-211,-15,116,131,39,673,-207,-17,116,130,40,667,-206,-14,117,125,40,577,-250,0,152,127,41,-151,-427,0,232,133,50,-873,53,0,297,129,41,-685,207,0,296,129,40,-359,353,-13,7,123,31,294,267,-15,62,121,40,680,-47,-2,118,123,40,638,-199,-1,115,126,40,430,-341,-6,176,129,40,1,-464,-21,180,130,40,8,-468,-3,180,130,40,-397,-350,0,255,128,40,-728,-36,-15,267,126" + }, + { + "k": "a8f77c", + "m": { + "kind": "aircraft", + "layer": "flights", + "callsign": "UAL146", + "registration": "N677UA", + "type": "B763", + "squawk": "5141" + }, + "p": "653,-21264,526296,894,135,223,120,2674,-1659,-127,135,209,132,2635,-1650,-100,136,177,80,1395,-897,-73,138,167,39,633,-447,-34,139,168,41,641,-461,-27,140,166,40,634,-457,-28,139,163,40,609,-438,-26,140,162,39,598,-432,-26,140,160,53,782,-569,-22,139,158,39,589,-427,-42,140,155,40,641,-381,-32,121,154,40,756,-241,-16,116,139,40,710,-214,-29,116,134,40,695,-212,-23,116,133,41,697,-215,-20,117,131,39,660,-205,-11,117,126,40,610,-235,1,144,128,40,-33,-434,0,220,134,40,-713,-84,0,296,133,40,-266,388,0,16,126,41,569,232,1,87,126,50,792,-193,-1,157,128,41,-213,-431,-9,231,134,40,-638,-262,-20,235,132,31,-477,-208,-7,236,128,40,-689,-180,-10,252,128,40,-718,-90,-10,260,125,40,-653,-118,-9,245,113,40,-559,-164,-5,245,104,40,-470,-213,-8,199,104,40,-17,-377,-13,179,105,40,353,-252,-11,98,102" + }, + { + "k": "43c5dc", + "m": { + "kind": "military", + "layer": "military", + "callsign": "CONTR70", + "registration": "ZM402", + "type": "A400", + "squawk": "2603", + "military": true, + "country": "United Kingdom" + }, + "p": "653,-20277,510457,80,90,111,40,622,21,0,77,103,40,446,158,0,54,88,40,357,173,-2,52,75,40,311,174,-17,47,71,40,310,180,-14,47,72,31,241,130,-13,51,72,36,289,140,-13,50,68" + }, + { + "k": "484f80", + "m": { + "kind": "aircraft", + "layer": "flights", + "callsign": "KLM80X", + "registration": "PH-EZX", + "type": "E190", + "squawk": "6343" + }, + "p": "652,-20066,514900,688,98,209,121,3646,-330,121,98,215,132,4071,499,113,72,221,121,3525,1121,64,62,232,120,3776,907,60,77,237,130,4392,645,3,77,239,121,4051,581,0,77,240,121,4119,574,0,77,237,120,4043,549,-20,78,236,129,4295,565,-112,78,232,132,4242,543,-118,78,221,121,3673,456,-109,79,205,122,3081,1003,-76,52,194,37,843,401,-32,53,193" + }, + { + "k": "4ca302", + "m": { + "kind": "aircraft", + "layer": "flights", + "callsign": "RYR5ZV", + "registration": "EI-DLW", + "type": "B738", + "squawk": "6207", + "country": "Ireland" + }, + "p": "653,-19469,533261,953,329,230,120,-2725,1774,-1,294,228" + }, + { + "k": "4b028d", + "m": { + "kind": "aircraft", + "layer": "flights", + "callsign": "SWR3AV", + "registration": "HB-AZD", + "type": "E290", + "squawk": "2034", + "country": "Switzerland" + }, + "p": "653,-19402,527913,662,146,204,120,2078,-1875,112,146,215,132,2369,-2164,95,146,226,121,2222,-2052,96,146,228,120,2417,-1932,89,125,230,130,3876,-1278,58,118,242,120,3751,-1235,1,118,244,120,3684,-1232,0,118,243,120,3693,-1252,0,119,243,131,3978,-1371,1,119,242,132,4312,-945,0,100,247,121,4189,-487,1,101,247,121,3960,-918,1,119,243" + }, + { + "k": "4ca8e7", + "m": { + "kind": "aircraft", + "layer": "flights", + "callsign": "RYR44BM", + "registration": "EI-ENV", + "type": "B738", + "squawk": "4420", + "country": "Ireland" + }, + "p": "653,-18261,517478,1144,296,222,120,-3415,1055,-1,298,220,132,-3728,1207,-17,297,220" + }, + { + "k": "48548e", + "m": { + "kind": "aircraft", + "layer": "flights", + "callsign": "KLM48F", + "registration": "PH-EXL", + "type": "E75L", + "squawk": "6341", + "country": "Kingdom of the Netherlands" + }, + "p": "653,-17845,534626,339,98,175,40,1059,-92,51,98,179,40,1069,-94,51,98,182,40,1104,-97,45,98,186,40,1110,-100,43,99,190,40,1125,-151,39,105,194,31,896,-139,20,105,202,121,3567,-580,124,105,203,120,3588,-573,82,105,211,131,4140,-690,52,106,224,120,3979,-620,45,105,232,120,4027,-635,49,105,234,121,4060,-655,46,105,235,120,4078,-674,30,105,241,142,4859,-824,-31,106,235,120,3794,-659,-148,106,205,120,3362,-454,-147,102,186" + }, + { + "k": "48c2a0", + "m": { + "kind": "aircraft", + "layer": "flights", + "callsign": "RYR4VA", + "registration": "SP-RZA", + "type": "B38M", + "squawk": "3474" + }, + "p": "653,-17613,533082,1110,99,245,120,4318,-442,0,100,244,132,4736,-496,0,100,242,122,4318,-475,1,101,242,137,4903,-556,0,101,242,132,4682,-550,0,101,243,120,4253,-522,1,102,243,120,4224,-535,0,103,241,120,4165,-623,0,104,242,132,4578,-687,1,104,244,132,4633,-725,0,105,246,121,4258,-683,0,105,245,120,4196,-687,1,105,244" + }, + { + "k": "407f7b", + "m": { + "kind": "aircraft", + "layer": "flights", + "callsign": "EXS78E", + "registration": "G-JZDA", + "type": "B738", + "squawk": "2201", + "country": "United Kingdom" + }, + "p": "653,-17512,505632,1050,213,223,120,-2059,-2007,1,213,222" + }, + { + "k": "4ca61e", + "m": { + "kind": "aircraft", + "layer": "flights", + "callsign": "RYR63XL", + "registration": "EI-DWR", + "type": "B738", + "squawk": "5430" + }, + "p": "653,-17371,532270,530,325,195,120,-2791,1103,136,286,208,132,-4172,728,117,286,227" + }, + { + "k": "40665e", + "m": { + "kind": "aircraft", + "layer": "flights", + "callsign": "TOM988P", + "registration": "G-TAWC", + "type": "B738", + "squawk": "6026" + }, + "p": "653,-17037,525261,188,95,121,40,676,-131,16,119,130,40,461,-409,38,151,141,40,419,-451,30,150,147,40,441,-463,31,150,148,40,445,-464,18,149,152,31,354,-361,0,149,151,40,463,-470,0,149,151,41,461,-476,-2,149,152,40,448,-466,-29,150,150,39,430,-455,-29,149,147,41,434,-457,-1,150,146,40,421,-449,-26,150,145,40,431,-443,-20,146,143,71,850,-741,-26,145,136,40,428,-373,1,144,125,40,419,-361,-1,144,118,40,418,-277,1,112,104,40,569,-55,-1,85,100,40,575,35,-6,77,102,41,573,122,-23,70,103,39,553,96,-25,77,101,41,561,95,-21,73,98,39,519,93,-20,75,89,40,468,80,-18,74,78,40,391,69,-15,75,64,40,337,58,-13,74,60,51,438,75,-16,74,64,40,350,61,-10,74,51" + }, + { + "k": "405ee1", + "m": { + "kind": "aircraft", + "layer": "flights", + "callsign": "SHT4A", + "registration": "G-EUYD", + "type": "A320", + "squawk": "6220", + "country": "United Kingdom" + }, + "p": "653,-16508,532841,956,329,234,120,-2153,2167,-1,329,234" + }, + { + "k": "4080b6", + "m": { + "kind": "aircraft", + "layer": "flights", + "callsign": "BAW18A", + "registration": "G-ZBLI", + "type": "B78X", + "squawk": "6311" + }, + "p": "653,-15367,513412,412,97,153,40,857,-66,-22,97,150,40,859,-64,-17,97,149,40,833,-65,-15,97,146,40,821,-64,-17,96,141,40,801,-27,-16,90,139,31,621,-5,-11,91,138,41,799,-7,-16,91,137,40,788,-8,-9,91,136,40,771,-9,1,91,135,39,769,-9,0,91,136,41,787,-9,-2,91,136,40,775,-11,1,91,132,40,775,-7,0,91,134,71,1382,-43,0,94,133,40,724,-97,0,128,135,40,165,-443,-1,205,139,40,-660,-197,-12,283,134,41,-516,320,-17,327,128,39,-389,385,-1,327,128,41,-187,439,0,1,128,39,-21,451,-10,342,127,40,-587,222,-15,263,130,40,-639,-233,-4,234,130,40,-604,-276,0,234,131,40,-683,-119,0,282,127,41,-711,112,-19,284,125,50,-828,128,-15,284,108,41,-575,87,-11,284,98,40,-490,149,-9,310,95,31,-164,237,-7,1,96,40,141,327,-6,50,98,40,508,163,-8,64,100,40,550,82,-11,88,100,40,559,4,-11,89,92,40,524,3,-21,89,88,40,493,3,-19,90,85,40,482,3,-17,90,83" + }, + { + "k": "400fa4", + "m": { + "kind": "helicopter", + "layer": "flights", + "callsign": "SSP22", + "registration": "G-LCPX", + "type": "EC55", + "squawk": "7000", + "helicopter": true + }, + "p": "651,-15361,510831,93,42,34,40,334,172,0,50,37,40,316,176,-6,49,38,40,313,172,-6,49,38,39,297,168,0,48,37,41,317,174,0,49,37,31,246,137,0,49,38,40,306,169,0,48,37,40,310,172,0,48,37,42,323,177,-6,49,38,38,302,166,-9,49,38,41,303,170,0,48,36,39,309,166,0,50,37,42,321,177,1,50,37,70,530,293,0,49,37,42,328,181,0,49,37,39,326,144,0,56,36,41,348,142,0,55,37,39,205,218,0,27,38,39,211,208,0,28,37,42,245,216,0,36,36,39,243,194,0,38,36,40,227,206,0,35,36,38,231,204,0,35,37,40,237,202,0,35,37,36,207,180,0,35,34,47,265,242,0,35,34,45,269,226,0,0,0,46,493,-395,0,0,0,39,155,710,0,0,0,35,360,2,-12,0,0,30,321,8,-3,0,0,30,314,6,1,0,0,36,286,-130,0,0,0,52,220,-271,-11,0,0" + }, + { + "k": "4cae90", + "m": { + "kind": "aircraft", + "layer": "flights", + "callsign": "RYR10BF", + "registration": "EI-IKA", + "type": "B38M", + "squawk": "1440", + "country": "Ireland" + }, + "p": "653,-14856,515896,544,287,207,40,-1147,212,35,286,210,120,-3363,941,99,300,219,132,-3680,1297,111,300,221" + }, + { + "k": "4cade2", + "m": { + "kind": "aircraft", + "layer": "flights", + "callsign": "RYR2BW", + "registration": "EI-IGW", + "type": "B38M", + "squawk": "0501", + "country": "Ireland" + }, + "p": "653,-14767,509172,639,211,217,120,-1926,-2067,80,210,227,132,-2191,-2377,86,210,234,140,-2698,-2295,93,221,233" + }, + { + "k": "486494", + "m": { + "kind": "aircraft", + "layer": "flights", + "callsign": "KLM1042", + "registration": "PH-NXK", + "type": "E295", + "squawk": "6326" + }, + "p": "653,-14735,525085,339,99,142,40,833,-80,30,99,145,40,852,-81,13,99,148,40,877,-84,38,99,150,40,877,-86,54,99,155,40,926,-91,48,99,162,31,721,-71,28,99,162,40,969,-96,47,99,167,120,3086,-313,108,100,187,121,3388,-353,95,100,202,131,4034,-82,95,92,215,120,3805,-43,81,91,220,120,3975,-74,55,92,230,120,4086,-54,16,91,236,132,4612,190,-75,83,236,131,4436,343,-160,83,223,120,3809,279,-140,83,209,60,1824,129,-72,83,203,40,1152,81,-38,84,193,40,1108,75,-48,84,188" + }, + { + "k": "4caada", + "m": { + "kind": "aircraft", + "layer": "flights", + "callsign": "EAI7S", + "registration": "EI-FAV", + "type": "AT76", + "squawk": "7751", + "country": "Ireland" + }, + "p": "652,-14121,510493,228,197,143,41,-242,-496,0,197,142,40,-240,-485,-6,197,141,40,-226,-480,-21,196,140,40,-226,-492,-23,196,140,40,-209,-483,-27,193,139,31,-5,-388,-21,175,141,40,506,-331,-27,94,125,40,433,216,-21,10,92,41,-39,311,0,353,82,39,43,270,1,19,75,41,139,253,-12,20,72,39,122,217,-14,19,58,41,101,190,-10,19,53,71,182,323,-19,20,56,40,104,185,-13,19,57,41,108,197,-15,20,46,57,14,25,0,200,9" + }, + { + "k": "440141", + "m": { + "kind": "aircraft", + "layer": "flights", + "callsign": "EJU68MR", + "registration": "OE-IJX", + "type": "A320", + "squawk": "0534", + "country": "Austria" + }, + "p": "653,-13780,521560,1018,145,224,120,2212,-1989,-1,146,225,132,2414,-2203,2,146,225,121,2222,-2044,0,146,227,120,2160,-2016,1,146,225,130,2340,-2206,0,146,227,120,2135,-2034,1,147,225,120,2199,-1989,-58,141,224,120,2341,-1853,-90,143,220,131,2328,-2118,-128,144,228" + }, + { + "k": "4ca763", + "m": { + "kind": "aircraft", + "layer": "flights", + "callsign": "RYR5WL", + "registration": "EI-EFH", + "type": "B738", + "squawk": "2032" + }, + "p": "653,-13061,528314,28,88,85,40,507,-22,51,96,88,40,446,-148,44,133,94,40,434,-285,34,155,118,40,-52,-470,35,198,144,40,-513,-421,40,220,146,31,-430,-319,44,219,148,40,-489,-470,39,210,164,41,-513,-558,34,209,181,40,-519,-577,52,208,187,39,-515,-599,50,208,192,41,-526,-615,49,208,194,40,-544,-620,37,209,196,40,-531,-628,20,199,198,131,938,-2343,111,162,213,120,1163,-2241,102,162,223,120,1129,-2300,93,175,225,120,-880,-2321,77,199,226,132,-1386,-2593,65,199,235,131,-1387,-2603,79,198,231,120,-1216,-2347,30,197,231,120,-1150,-2376,1,197,232" + }, + { + "k": "44061d", + "m": { + "kind": "aircraft", + "layer": "flights", + "callsign": "EJU93ZG", + "registration": "OE-LQQ", + "type": "A319", + "squawk": "2001", + "country": "Austria" + }, + "p": "653,-13059,517516,816,159,205,120,1341,-2146,76,159,219,132,1542,-2497,74,159,231,121,1426,-2345,83,159,231,120,1536,-2327,60,155,235,130,1759,-2488,58,156,233,120,1463,-2312,13,162,230" + }, + { + "k": "406a99", + "m": { + "kind": "aircraft", + "layer": "flights", + "callsign": "OXF14", + "registration": "G-OXFB", + "type": "PA34", + "squawk": "4531", + "country": "United Kingdom" + }, + "p": "653,-12946,516841,59,286,56,40,-324,54,1,287,58,40,-179,150,-1,335,56,40,-63,187,1,3,54,40,47,195,-1,7,53,40,39,186,-6,11,52,31,41,140,-9,12,50,40,50,182,-9,8,49,41,47,161,-7,7,41,40,46,144,6,7,41,39,35,149,6,5,44,41,-23,159,3,328,50,40,-239,113,7,307,56,40,-237,148,19,318,63,71,-521,255,36,304,65,40,-302,141,16,309,67,40,-320,154,7,308,72,40,-327,159,-1,308,72,40,-336,163,0,308,74,40,-339,162,0,308,73,41,-289,191,1,337,72,39,-282,170,-1,268,78,40,-432,-98,0,249,80,40,-432,-101,1,249,77,40,-409,-97,0,249,75,40,-402,-98,0,249,73,41,-400,-96,0,249,73,50,-498,-120,0,249,73,41,-397,-94,0,248,72,40,-389,-98,1,248,72,31,-301,-74,0,249,72,40,-387,-97,-1,248,71,40,-357,-93,1,247,63,40,-339,-88,0,247,63,40,-334,-86,0,248,63,40,-337,-90,1,245,63,40,-354,2,-1,272,63,40,-369,7,1,278,62" + }, + { + "k": "4078a4", + "m": { + "kind": "aircraft", + "layer": "flights", + "callsign": "UKP154", + "registration": "G-POLW", + "type": "P68", + "squawk": "0051", + "country": "United Kingdom" + }, + "p": "653,-12839,529473,43,182,45,40,-122,-120,-1,127,47,40,212,93,4,18,52,40,133,166,1,39,50,40,160,152,3,22,51,40,193,142,-1,23,55,31,-40,152,2,333,57,40,-163,164,1,274,51,41,53,-91,-1,53,46,40,-10,171,2,344,51,39,-82,177,-1,348,54,41,-118,175,1,306,54,40,-41,-9,0,3,52,40,-173,155,0,326,55,71,-400,302,-10,342,71,40,-68,-36,-3,117,56,40,36,191,0,2,60,40,1,212,0,7,60,40,31,224,-5,1,64,40,40,228,-3,14,64,40,81,214,-1,347,61,34,-134,166,-1,352,59,46,61,219,3,41,53,40,174,161,0,16,56,41,41,174,1,270,52,39,-154,-157,0,213,53,41,64,-79,-3,33,56,50,138,233,3,15,52,40,86,190,-2,25,55,40,-12,149,1,244,51,32,64,-1,-2,356,49,40,-146,155,3,349,49,40,93,166,1,16,52,41,100,181,1,7,53,39,-135,-43,1,175,52,40,82,-70,1,21,50,40,-71,70,-1,157,49,40,144,113,-1,13,51" + }, + { + "k": "4405b6", + "m": { + "kind": "aircraft", + "layer": "flights", + "callsign": "EJU69BZ", + "registration": "OE-LQP", + "type": "A319", + "squawk": "2152" + }, + "p": "652,-12550,510222,164,118,140,41,665,-337,43,121,153,40,751,-284,32,121,154,40,758,-293,62,121,164,40,847,-326,40,121,176,40,822,-317,87,121,166,31,549,-320,40,140,176,40,684,-511,36,140,192,40,691,-510,89,139,177,121,1805,-1621,141,146,191,151,2398,-2250,127,146,215" + }, + { + "k": "abafe4", + "m": { + "kind": "aircraft", + "layer": "flights", + "callsign": "AAL729", + "registration": "N852ML", + "type": "B789", + "squawk": "6215", + "country": "United States" + }, + "p": "653,-12419,528543,895,333,234,120,-1992,2292,57,332,246,132,-2309,2611,61,332,254,121,-2184,2454,62,331,253" + }, + { + "k": "43c5e9", + "m": { + "kind": "military", + "layer": "military", + "callsign": "RRR4228", + "registration": "ZM415", + "type": "A400", + "squawk": "7570", + "military": true, + "country": "United Kingdom" + }, + "p": "653,-12366,513389,665,118,167,120,2578,-875,80,119,174,132,2990,-1011,81,118,185,120,2408,-1307,56,139,191,120,2089,-1623,44,146,199,131,2108,-2022,1,147,205,121,1873,-1866,0,148,209,121,1904,-1926,0,148,208" + }, + { + "k": "485a82", + "m": { + "kind": "aircraft", + "layer": "flights", + "callsign": "TFL9LE", + "registration": "PH-TFO", + "type": "B38M", + "squawk": "2106", + "country": "Kingdom of the Netherlands" + }, + "p": "653,-12140,507677,1050,222,223,120,-2536,-1784,1,222,223,132,-2711,-2000,0,214,225" + }, + { + "k": "a31a50", + "m": { + "kind": "aircraft", + "layer": "flights", + "callsign": "UAL923", + "registration": "N29971", + "type": "B789", + "squawk": "5171", + "country": "United States" + }, + "p": "653,-10793,518543,402,111,141,40,763,-183,-29,111,140,40,745,-179,-22,111,138,40,745,-179,0,112,137,40,742,-180,0,111,135,40,713,-173,-1,111,132,31,557,-136,1,112,133,40,719,-176,-12,111,132,41,618,-270,-19,158,134,40,-186,-438,-1,231,138,39,-722,-9,-11,297,133,41,-696,229,-19,309,132,40,-143,425,0,25,128,40,617,181,-15,101,127,71,835,-514,-15,190,132,40,-225,-460,-1,198,133,40,-245,-452,0,203,134,40,-588,-289,1,249,134,41,-754,-115,-17,258,131,39,-738,-58,-19,265,130,41,-734,-80,-16,255,127,40,-633,-143,-17,228,110,39,-82,-356,-14,153,105,40,480,-219,-12,105,103,40,591,-13,-22,89,104,40,563,5,-21,89,90,41,503,3,-20,90,84,50,604,3,-22,90,81,41,467,2,-17,90,79,40,444,2,-17,90,77,31,329,2,-12,90,72,40,414,1,-15,90,74,38,400,2,-10,90,59,42,226,0,-8,87,19" + }, + { + "k": "4951d1", + "m": { + "kind": "aircraft", + "layer": "flights", + "callsign": "TAP34A", + "registration": "CS-TNQ", + "type": "A320", + "squawk": "7477" + }, + "p": "653,-10736,504618,529,73,196,40,1065,211,-50,73,196,40,1041,207,-42,73,190,40,866,309,-19,49,167,40,715,383,-17,51,162,40,666,365,-22,39,152,31,217,385,-33,13,146,40,167,509,-34,11,139,41,153,484,-30,12,134,40,164,454,-26,13,126,39,161,435,-22,13,126,41,148,438,-21,12,123,40,138,425,-22,11,119,40,126,411,-19,11,115,71,192,713,-41,8,106,40,77,367,-17,13,101,41,307,294,-13,38,96,39,428,167,-13,74,90,40,465,71,-13,77,78,40,426,55,-18,73,76,41,394,56,-15,79,68,39,369,50,-15,77,66,40,379,52,-15,78,70,40,273,38,-12,78,22" + }, + { + "k": "407d45", + "m": { + "kind": "aircraft", + "layer": "flights", + "callsign": "LOG8DB", + "registration": "G-LMTD", + "type": "AT76", + "squawk": "7747", + "country": "United Kingdom" + }, + "p": "653,-10199,518952,563,8,121,40,102,434,11,8,122,40,90,423,17,7,118,40,77,426,3,7,123,40,82,447,0,6,128,39,88,463,0,6,133,31,65,365,0,7,135,41,90,496,0,5,136,41,-242,472,0,338,138,40,-304,459,0,338,138,39,-341,441,0,333,138,41,-364,453,0,334,139,40,-359,450,0,334,139,40,-352,445,0,335,139,71,-596,820,0,336,140,40,-333,462,0,336,140,40,-335,460,0,336,140,40,-334,458,0,336,141,41,-341,468,0,336,142,40,-339,463,0,336,141,40,-341,466,0,336,141,39,-337,458,0,336,142,40,-347,470,0,336,143,40,-343,466,0,336,143,40,-349,470,0,336,142,40,-345,466,0,336,142,41,-347,467,0,336,142,50,-436,586,0,336,141,41,-351,470,0,336,141,40,-346,463,0,336,140,31,-267,355,0,336,141,40,-350,465,0,336,141,40,-352,466,0,336,142,40,-352,465,0,336,142,40,-349,461,0,336,141,40,-352,462,0,336,142,40,-356,468,0,336,143" + }, + { + "k": "45d064", + "m": { + "kind": "aircraft", + "layer": "flights", + "callsign": "VKG108", + "registration": "OY-TCD", + "type": "A321", + "squawk": "3523", + "country": "Denmark" + }, + "p": "653,-10057,510710,1048,242,220,120,-2872,-1492,-1,216,223,132,-2423,-2164,2,215,225,121,-2212,-1996,0,215,225,139,-2484,-2276,-1,215,222" + }, + { + "k": "4843f2", + "m": { + "kind": "aircraft", + "layer": "flights", + "callsign": "KLM195", + "registration": "PH-BQO", + "type": "B772", + "squawk": "2110", + "country": "Kingdom of the Netherlands" + }, + "p": "653,-9786,514806,1019,258,243,120,-4093,-576,0,250,245,132,-4315,-1020,0,248,242,122,-3923,-975,1,248,242" + }, + { + "k": "4cafd2", + "m": { + "kind": "aircraft", + "layer": "flights", + "callsign": "RYR11LH", + "registration": "EI-GXM", + "type": "B738", + "squawk": "2221", + "country": "Ireland" + }, + "p": "653,-9758,513544,786,208,214,120,-1746,-2078,94,207,222,132,-2208,-2247,88,213,228,122,-2171,-2090,76,213,230,120,-1967,-2093,69,206,226,129,-1846,-2359,1,207,227" + }, + { + "k": "490d11", + "m": { + "kind": "aircraft", + "layer": "flights", + "callsign": "NJE7MQ", + "registration": "CS-CHQ", + "type": "CL35", + "squawk": "6264", + "country": "Portugal" + }, + "p": "653,-9499,512804,161,125,144,40,637,-274,-12,124,128,40,445,-328,-21,165,123,40,150,-452,-20,170,130,40,-131,-418,-13,234,120,40,-509,82,1,329,97,31,-202,228,-1,331,93,40,-241,301,1,349,90,41,189,284,-9,29,83,40,341,180,-27,62,76,39,329,108,-16,62,60,41,312,105,-15,62,62,40,317,105,-15,62,64" + }, + { + "k": "3472cc", + "m": { + "kind": "aircraft", + "layer": "flights", + "callsign": "IBE07KB", + "registration": "EC-NTQ", + "type": "A20N", + "squawk": "5223", + "country": "Spain" + }, + "p": "653,-9450,510258,536,216,204,40,-678,-594,55,216,204,120,-2025,-1783,149,215,205,132,-2225,-1978,125,215,207,120,-2088,-1879,58,215,220" + }, + { + "k": "408389", + "m": { + "kind": "aircraft", + "layer": "flights", + "callsign": "EZY706N", + "squawk": "7731", + "country": "United Kingdom" + }, + "p": "653,-9433,527748,894,331,205,120,-1746,1914,-2,331,202,132,-1933,2092,1,333,203,121,-1736,1958,1,332,206,120,-1780,1971,1,332,209" + }, + { + "k": "c04fbb", + "m": { + "kind": "aircraft", + "layer": "flights", + "callsign": "ACA864", + "registration": "C-GEFA", + "type": "A333", + "squawk": "5155", + "country": "Canada" + }, + "p": "653,-9382,515295,170,219,106,40,113,-325,-17,126,104,40,506,-184,-10,114,99,39,555,-25,-8,90,97,41,524,1,-21,90,86,40,482,2,-18,89,82,31,364,3,-13,90,80,41,461,2,-18,90,78,40,446,2,-16,90,76,40,408,1,-15,90,65,39,371,2,-14,89,68,41,407,2,-12,89,66" + }, + { + "k": "407238", + "m": { + "kind": "aircraft", + "layer": "flights", + "callsign": "GPCTW", + "registration": "G-PCTW", + "type": "PC12", + "squawk": "7010" + }, + "p": "653,-9372,515126,78,147,85,40,269,-259,-1,147,86,40,266,-256,-3,147,83,40,243,-236,-5,147,75,40,231,-222,-4,148,69,40,165,-231,0,157,72,31,127,-188,0,157,74,40,214,-224,0,150,71,41,216,-185,-5,96,55,40,78,170,-9,344,64,39,-197,146,8,253,67,41,25,-194,-2,122,66,40,316,-99,-5,112,54,40,297,-63,1,105,59,71,592,-61,-3,95,56,40,289,19,-5,59,46,40,194,72,-12,59,35,40,185,66,-9,62,41,38,189,66,-13,56,40,94,101,53,-11,236,9" + }, + { + "k": "40820f", + "m": { + "kind": "aircraft", + "layer": "flights", + "callsign": "EXS96YK", + "registration": "G-SUNR", + "type": "A21N", + "squawk": "5254", + "country": "United Kingdom" + }, + "p": "653,-8777,515551,584,164,183,120,1098,-1891,89,159,190,132,1331,-2144,40,159,200,121,1123,-2069,53,172,201,120,463,-2201,81,172,212,130,548,-2528,84,169,224,121,1238,-2329,56,162,236" + }, + { + "k": "aba765", + "m": { + "kind": "aircraft", + "layer": "flights", + "callsign": "AAL728", + "registration": "N850AN", + "type": "B789", + "squawk": "5157", + "country": "United States" + }, + "p": "653,-8557,514598,144,61,97,40,507,152,-14,77,98,40,554,14,-24,90,90,40,483,2,-18,89,80,40,458,2,-16,90,79,40,444,2,-16,90,77,30,340,1,-13,90,76,41,439,2,-16,90,77,41,468,2,-17,90,82" + }, + { + "k": "4cad29", + "m": { + "kind": "aircraft", + "layer": "flights", + "callsign": "RYR7TR", + "registration": "EI-HET", + "type": "B38M", + "squawk": "1170", + "country": "Ireland" + }, + "p": "653,-8016,512981,1105,148,242,120,2325,-2155,9,142,244,132,2800,-2289,0,142,244,121,2549,-2116,1,143,244,120,2490,-2088,0,143,244,130,2680,-2278,1,143,245" + }, + { + "k": "4d2213", + "m": { + "kind": "aircraft", + "layer": "flights", + "callsign": "RYR45YU", + "registration": "9H-QCY", + "type": "B738", + "squawk": "7476" + }, + "p": "653,-7888,507254,610,14,183,40,251,633,-38,14,181,40,338,610,-9,22,178,40,377,585,-1,22,177,40,379,589,0,22,178,40,385,595,0,22,179,31,302,465,0,22,180,40,395,608,0,22,181,41,396,605,0,22,181,40,398,608,0,22,182,39,393,599,-3,22,184,41,404,617,-21,22,183,40,394,597,-20,23,178,40,441,578,-31,26,175,72,772,1003,-59,26,172,39,424,551,-35,26,169,40,418,543,-34,26,167,41,401,523,-9,24,153,39,343,497,-15,23,151,40,348,498,-20,24,150,41,365,485,-22,25,143,39,331,449,-23,24,137,40,320,445,-27,24,134,40,482,304,-20,85,119,40,430,-269,-28,180,123,40,-366,-380,-20,218,125,41,-429,-351,-25,214,118,50,-490,-441,-46,214,118,41,-193,-364,-8,196,96,40,47,-309,-9,138,90,31,290,-159,-10,110,86,40,489,5,-11,86,82,40,362,185,-1,43,86,40,331,220,-17,43,78,40,295,197,-15,43,74,40,294,196,-16,43,75" + }, + { + "k": "346186", + "m": { + "kind": "aircraft", + "layer": "flights", + "callsign": "IBE0713", + "registration": "EC-NFH", + "type": "A20N", + "squawk": "7467", + "country": "Spain" + }, + "p": "652,-7523,514763,108,90,85,41,476,2,-18,89,80,40,455,3,-17,89,79,40,440,2,-16,90,76,40,413,1,-16,90,65,40,358,2,-12,90,64,31,294,1,-11,90,67,40,387,2,-10,91,58,240,-82,-27,-8,270,8" + }, + { + "k": "4780c8", + "m": { + "kind": "aircraft", + "layer": "flights", + "callsign": "SAS53D", + "registration": "LN-SAF", + "type": "A20N", + "squawk": "6244", + "country": "Norway" + }, + "p": "653,-7492,515600,200,264,104,40,-594,-43,-9,263,103,40,-581,-45,-8,258,102,40,-311,-283,-8,181,104,40,159,-342,-8,128,101,40,490,-122,-15,92,88,31,385,-4,-19,90,85,40,489,2,-26,90,82,41,478,3,-20,90,81,39,453,2,-16,90,78,40,438,2,-16,90,76,41,401,2,-15,90,62,40,363,2,-14,90,64,40,383,1,-14,90,68" + }, + { + "k": "3c9cce", + "m": { + "kind": "aircraft", + "layer": "flights", + "callsign": "ELG55G", + "registration": "D-BGFN", + "type": "E550", + "squawk": "6756", + "ladd": true, + "country": "Germany" + }, + "p": "653,-7292,518646,152,192,113,40,250,-303,-23,110,95,40,543,-66,-28,89,95,40,495,72,-5,77,82,40,463,72,-7,75,83,40,449,81,-19,74,79,31,320,56,-14,75,64,40,331,58,-12,74,60,40,337,58,-12,75,62,40,343,59,-11,74,62" + }, + { + "k": "486492", + "m": { + "kind": "aircraft", + "layer": "flights", + "callsign": "KLM83R", + "registration": "PH-NXI", + "type": "E295", + "squawk": "6272", + "country": "Kingdom of the Netherlands" + }, + "p": "653,-7242,535182,396,293,188,40,-1041,262,-44,293,185,40,-1009,253,-40,293,179,40,-954,239,-32,293,158" + }, + { + "k": "407b8f", + "m": { + "kind": "aircraft", + "layer": "flights", + "callsign": "BAW53PZ", + "registration": "G-TTNP", + "type": "A20N", + "squawk": "5732", + "country": "United Kingdom" + }, + "p": "653,-6661,513572,207,280,124,40,-695,66,-15,278,121,40,-642,52,-11,278,106,40,-555,106,-7,298,98,40,-493,164,-7,299,97,40,-178,309,-8,0,97,31,203,224,-7,58,98,40,500,168,-8,62,98,41,547,100,-17,87,97,40,527,2,-23,90,86,39,476,3,-17,90,82,41,460,3,-17,90,78,40,450,1,-16,90,77,40,413,2,-16,90,64,71,648,3,-23,90,66,40,345,1,-15,90,37,80,7,-24,0,270,10,40,-65,-3,0,270,13,40,-83,0,0,270,16" + }, + { + "k": "aad213", + "m": { + "kind": "aircraft", + "layer": "flights", + "callsign": "AAL194", + "registration": "N797AN", + "type": "B772", + "squawk": "6002", + "country": "United States" + }, + "p": "653,-6555,517367,290,55,125,40,692,-1,0,119,126,40,378,-365,1,178,130,40,-44,-468,-15,184,127,40,-191,-435,-18,207,129,40,-580,-238,1,256,122,31,-529,-87,-1,255,120,40,-663,-114,-24,255,116,41,-645,-104,-26,255,114,40,-610,-110,-28,244,109,39,-217,-332,-25,179,106,41,353,-280,-13,123,97,40,496,-73,-12,90,88,40,506,3,-19,89,87,71,856,4,-31,89,79,40,458,2,-17,90,78,40,446,2,-17,90,75,40,403,2,-15,90,69,41,407,1,-14,90,74,35,366,2,-9,89,50" + }, + { + "k": "40624e", + "m": { + "kind": "aircraft", + "layer": "flights", + "callsign": "SHT17Q", + "registration": "G-EUYG", + "type": "A320", + "squawk": "7660", + "country": "United Kingdom" + }, + "p": "653,-6473,516740,328,297,136,40,-691,220,-6,306,136,40,-211,431,0,19,132,40,602,231,0,93,131,40,696,-184,0,116,133,40,678,-222,-10,129,133,31,204,-332,-16,188,135,40,-579,-294,-5,271,138,41,-536,297,-16,350,129,40,325,374,-14,68,127,39,643,-123,0,143,129,41,-61,-445,-1,221,136,40,-625,-293,-8,234,135,40,-613,-285,-26,232,131,71,-1202,-345,-43,248,126,40,-643,-164,-9,247,115,40,-339,-294,-12,181,106,40,200,-334,-19,125,102,41,500,-181,-16,116,99,39,553,-31,-17,91,96,41,542,-1,-20,90,88,39,470,3,-19,89,82,40,458,2,-15,90,78,40,416,2,-16,90,66,40,372,2,-14,90,65,40,373,1,-14,90,66,37,298,1,-12,90,27,75,6,-24,0,270,8,60,-70,-3,0,270,9,31,-48,0,0,270,12,40,-71,0,0,270,13" + }, + { + "k": "400b84", + "m": { + "kind": "aircraft", + "layer": "flights", + "callsign": "BAW785", + "registration": "G-DBCF", + "type": "A319", + "squawk": "6243", + "country": "United Kingdom" + }, + "p": "653,-6421,514769,68,90,74,40,411,1,-16,90,69,40,363,2,-14,90,62,40,359,2,-13,90,63,40,372,1,-14,90,65,40,286,1,-11,87,19" + }, + { + "k": "4d227c", + "m": { + "kind": "aircraft", + "layer": "flights", + "callsign": "RYR4AZ", + "registration": "9H-QAV", + "type": "B738", + "squawk": "2265", + "country": "Malta" + }, + "p": "653,-6402,508086,1113,157,236,120,1541,-2352,1,158,237,132,1475,-2637,1,162,237" + }, + { + "k": "40643a", + "m": { + "kind": "aircraft", + "layer": "flights", + "callsign": "EZY47UP", + "registration": "G-EZTZ", + "type": "A320", + "squawk": "6224", + "country": "United Kingdom" + }, + "p": "653,-6188,520648,321,100,161,40,898,-97,-12,100,151,40,821,-89,-7,100,134,40,743,-80,-6,100,127,40,731,-67,-6,89,126,40,715,55,-5,83,124,31,558,44,-5,83,126,40,736,59,-9,82,125,41,727,63,-26,82,125,40,708,58,-20,85,120,39,582,-190,-23,136,118,41,483,-309,-5,140,119,40,-25,-409,-4,214,127,40,-459,-375,-34,217,133,71,-860,-685,-61,219,125,40,-149,-353,-2,153,93,40,286,-267,-13,145,87,41,446,-93,-4,80,91,39,419,159,-7,45,87,40,336,218,-17,43,79,41,283,188,-16,43,67,39,264,176,-12,43,67,38,251,168,-12,43,57,141,195,98,-15,45,10" + }, + { + "k": "a17b16", + "m": { + "kind": "aircraft", + "layer": "flights", + "callsign": "DAL287", + "registration": "N195DN", + "type": "B763", + "squawk": "5743", + "country": "United States" + }, + "p": "653,-5751,526291,1016,329,243,120,-2239,2228,-1,328,243,132,-2508,2461,0,328,245,121,-2338,2268,0,328,245,120,-2340,2238,0,328,245" + }, + { + "k": "3c66ae", + "m": { + "kind": "aircraft", + "layer": "flights", + "callsign": "DLH8UL", + "registration": "D-AIUN", + "type": "A320", + "squawk": "2541", + "country": "Germany" + }, + "p": "653,-5639,519548,543,329,208,40,-606,618,-32,329,195,40,-585,595,-59,329,196,40,-596,604,-56,329,197,40,-763,495,-42,297,186,40,-1007,216,-39,289,180,31,-762,157,-22,289,174,40,-975,198,-24,288,174,41,-968,196,-31,288,167,40,-912,183,-30,288,161,39,-864,152,-28,283,154,41,-882,118,-31,282,150,40,-838,117,-19,283,136,40,-680,112,-13,299,108,72,-583,487,-50,326,83,39,-250,229,-19,326,75,40,-247,222,-16,326,73,35,-202,183,-13,326,70,39,-181,162,-19,326,29,79,26,7,0,146,10,45,39,-36,0,146,10,48,41,-23,0,118,8" + }, + { + "k": "4075b4", + "m": { + "kind": "aircraft", + "layer": "flights", + "callsign": "VIR8Y", + "registration": "G-VPOP", + "type": "A35K", + "squawk": "6001", + "country": "United Kingdom" + }, + "p": "653,-5342,514774,27,90,70,40,416,1,-16,90,74,37,342,1,-11,90,40" + }, + { + "k": "485875", + "m": { + "kind": "aircraft", + "layer": "flights", + "callsign": "KLC1070", + "registration": "PH-EXY", + "type": "E190", + "squawk": "7636", + "country": "Kingdom of the Netherlands" + }, + "p": "653,-5263,512596,734,43,195,120,2404,1607,117,44,210,132,2806,1835,74,44,218,120,2605,1689,20,44,221,120,3622,858,70,77,231,131,4311,629,33,76,234,120,3958,596,1,77,234,120,3987,537,-71,79,237,121,4027,503,-178,79,228,130,3913,820,-174,66,209,41,1111,308,-54,66,205,40,1085,298,-53,66,200,31,815,224,-38,66,196,40,1050,286,-51,66,191,40,995,271,-28,66,183,41,988,267,-26,66,181,39,960,259,-27,66,178,40,950,255,-21,66,178,40,957,256,-21,66,175,40,907,242,-20,66,163" + }, + { + "k": "4008b5", + "m": { + "kind": "aircraft", + "layer": "flights", + "callsign": "SHT3P", + "registration": "G-EUPU", + "type": "A319", + "squawk": "1442", + "country": "United Kingdom" + }, + "p": "653,-5199,516957,259,185,125,40,-287,-420,-1,206,127,40,-308,-415,-22,204,127,40,-546,-262,-7,252,126,40,-699,-125,-3,258,124,40,-693,-90,-20,258,121,31,-514,-71,-10,257,114,41,-602,-122,-12,227,106,40,-101,-362,-21,169,105,40,420,-243,-17,121,102,39,543,-80,-19,91,100,41,566,-3,-23,90,90,40,487,1,-19,89,82,40,471,4,-16,90,81,71,743,3,-29,90,62,40,359,2,-12,90,63,40,363,0,-14,90,65,36,320,2,-14,90,35,84,38,-24,0,270,8,60,-69,-3,0,270,9" + }, + { + "k": "43e96f", + "m": { + "kind": "aircraft", + "layer": "flights", + "callsign": "MYBLS", + "registration": "M-YBLS", + "type": "PC12", + "squawk": "5446", + "ladd": true + }, + "p": "653,-5118,513462,51,156,78,40,243,-269,9,147,99,40,330,-312,1,172,112,40,-296,-334,16,224,112,40,-600,-147,18,255,108,40,-574,-77,24,268,99,31,-439,-4,20,270,99,40,-565,-1,29,270,96,41,-538,-1,37,269,90,40,-500,-7,35,268,85,39,-489,-5,24,288,88,41,-164,263,24,3,90,40,29,353,3,3,106,40,26,392,14,2,104,71,42,625,51,359,92,41,-62,320,29,352,88,39,-61,307,24,353,90,40,-68,346,5,353,106,40,-74,388,17,353,108,40,-68,384,25,354,105,41,-69,365,32,353,100,39,-70,344,30,353,95,40,-60,340,28,354,96,40,-53,348,25,355,98,40,-47,350,23,356,99,131,-151,1284,33,355,127,132,-264,1549,28,353,122,121,-295,1212,61,340,115,121,-831,1319,0,339,137" + }, + { + "k": "4009c5", + "m": { + "kind": "aircraft", + "layer": "flights", + "callsign": "BAW48G", + "registration": "G-EUUH", + "type": "A320", + "squawk": "3446" + }, + "p": "653,-4834,514648,0,90,11,40,327,0,19,90,79,40,452,-25,47,116,89,39,539,-174,27,110,124,41,731,-157,50,105,140,40,785,-107,31,102,142,31,627,-86,14,103,142,40,801,-116,0,104,144,41,809,-125,0,104,141,40,787,-109,0,102,140,39,765,-104,0,102,137,41,773,-102,0,102,133,40,755,-97,44,102,139,40,798,-113,59,104,146,71,1626,-267,70,105,174,40,976,-157,54,104,178,40,1018,-146,45,102,184,40,1056,-140,43,101,191,40,1087,-137,43,101,195,40,1105,-140,44,101,197,121,3441,-448,98,102,212,121,3666,-489,98,105,220,130,4069,-670,75,105,234,132,4302,-724,79,105,239,121,4025,-694,61,105,245,120,4055,-715,70,106,244" + }, + { + "k": "408366", + "m": { + "kind": "aircraft", + "layer": "flights", + "callsign": "BAW98T", + "squawk": "5172", + "country": "United Kingdom" + }, + "p": "648,-4543,514776,0,87,30,85,-8,-16,0,268,8,40,-54,0,0,268,9" + }, + { + "k": "406b6d", + "m": { + "kind": "aircraft", + "layer": "flights", + "callsign": "CFE14K", + "registration": "G-LCYT", + "type": "E190", + "squawk": "6345", + "country": "United Kingdom" + }, + "p": "653,-4308,525214,978,137,231,120,2728,-1818,-156,135,228,132,3486,-1398,-169,121,204,60,1486,-546,-69,121,194,39,958,-354,-46,121,190,40,932,-346,-44,121,185,41,923,-343,-44,121,180,40,887,-331,-39,121,177,40,864,-324,-33,121,172,71,850,-868,-58,177,167,40,53,-575,-30,177,155,40,52,-533,-25,177,144,40,50,-508,-17,176,141,40,50,-508,-16,177,142,40,48,-505,-16,177,141,41,-113,-493,-16,215,143,39,-717,-232,-16,254,147,40,-802,-145,-17,254,142,40,-773,-143,-15,253,140,41,-776,-144,-16,253,138,40,-756,-141,-8,253,137,40,-757,-142,0,253,137,50,-966,-182,0,253,140,41,-785,-148,0,253,140,40,-768,-129,-17,263,141,31,-640,6,-18,273,142,40,-824,26,-23,273,141,40,-762,24,-4,273,122,40,-606,95,0,314,109,40,-186,345,0,5,98,40,330,232,0,75,80,40,428,3,-3,94,66,40,340,-17,-21,95,57" + }, + { + "k": "4d250d", + "m": { + "kind": "aircraft", + "layer": "flights", + "callsign": "TEU7", + "registration": "9H-FLYIN", + "type": "E55P", + "squawk": "6762", + "country": "Malta" + }, + "p": "653,-4291,518159,648,329,179,80,-1069,1098,-60,329,175,40,-518,531,-21,329,172,40,-518,528,-20,329,170,40,-504,514,-20,329,167,31,-396,402,-16,328,168,40,-642,466,-38,319,168,41,-647,460,-36,319,165,40,-624,436,-26,318,158,39,-654,385,-21,293,158,41,-908,96,-30,278,154,40,-883,76,-30,278,151,40,-862,7,-31,245,148,71,-1168,-455,-78,237,125,40,-601,-237,-38,237,119,40,-617,14,-30,294,106,40,-506,166,-19,320,92,40,-277,273,-7,328,87,40,-295,266,-18,325,90,41,-295,268,-20,326,90,39,-287,258,-19,326,81,40,-252,227,-17,326,67,40,-214,193,-13,325,64,41,-206,187,-13,326,61,48,-224,201,-27,323,32" + }, + { + "k": "4075c1", + "m": { + "kind": "aircraft", + "layer": "flights", + "callsign": "UBT78T", + "registration": "G-CKWN", + "type": "B789", + "squawk": "1256", + "country": "United Kingdom" + }, + "p": "653,-4028,511186,88,77,88,40,448,62,-18,78,76,40,414,58,-16,77,75,40,393,55,-14,77,69,40,394,54,-16,77,71,40,402,56,-13,77,69,31,170,24,-11,78,18" + }, + { + "k": "a8d3b4", + "m": { + "kind": "aircraft", + "layer": "flights", + "callsign": "UAL957", + "registration": "N668UA", + "type": "B763", + "squawk": "5722", + "country": "United States" + }, + "p": "653,-3965,524414,1018,329,239,120,-2190,2211,-1,329,240,132,-2431,2423,0,329,241,120,-2247,2216,0,328,242,120,-2280,2217,0,328,242,131,-2529,2426,0,328,242" + }, + { + "k": "4cae61", + "m": { + "kind": "aircraft", + "layer": "flights", + "callsign": "RYR81BV", + "registration": "EI-IJL", + "type": "B38M", + "squawk": "5256", + "country": "Ireland" + }, + "p": "653,-3672,508481,904,152,232,120,2185,-2119,65,141,238,132,2797,-2258,61,142,244,121,2575,-2087,52,142,245" + }, + { + "k": "4ba94a", + "m": { + "kind": "aircraft", + "layer": "flights", + "callsign": "THY8LV", + "registration": "TC-JJJ", + "type": "B77W", + "squawk": "3401" + }, + "p": "653,-3479,533552,1046,112,250,120,4194,-997,0,112,250,132,4566,-1107,0,112,249,122,4183,-1037,1,113,250,138,4728,-1194,0,113,250,131,4576,-1079,1,110,253,120,4194,-969,0,111,253,121,4189,-991,1,111,254,121,4221,-1016,0,112,253,130,4463,-1095,1,112,252,131,4525,-1134,1,112,253,120,4082,-1043,0,113,253,120,4051,-1053,1,113,250" + }, + { + "k": "407178", + "m": { + "kind": "aircraft", + "layer": "flights", + "callsign": "EXS91KB", + "registration": "G-JZBK", + "type": "B738", + "squawk": "5260", + "country": "United Kingdom" + }, + "p": "653,-3401,504430,1086,147,235,120,2080,-2188,29,157,236" + }, + { + "k": "407636", + "m": { + "kind": "aircraft", + "layer": "flights", + "callsign": "GCLAP", + "registration": "G-CLAP", + "type": "C152", + "squawk": "7000", + "country": "United Kingdom", + "ga": true + }, + "p": "653,-2701,523105,55,304,42,40,-211,8,-12,207,37,40,111,-44,0,86,27,40,143,-57,12,138,32,40,133,-78,9,144,32,40,70,-112,9,165,38,31,87,-87,0,137,36,40,147,-87,3,132,34,41,149,-81,0,129,34,40,166,-71,-3,122,35,39,169,-71,0,126,34,41,158,-78,3,130,35,40,161,-84,-3,132,37,40,168,-83,0,126,37,71,294,-155,0,154,37,40,76,-128,-3,157,38,40,100,-124,0,149,38,40,118,-111,0,149,37,40,94,-124,3,157,40,40,85,-132,0,161,41,41,71,-145,0,170,42,39,53,-149,-6,163,44,40,87,-152,-9,159,43,40,92,-144,-9,156,43,41,109,-138,-6,147,42,39,162,-87,3,88,39,41,193,50,-6,44,33,50,174,85,-9,61,30" + }, + { + "k": "4008b2", + "m": { + "kind": "aircraft", + "layer": "flights", + "callsign": "BAW7YT", + "registration": "G-EUPR", + "type": "A319", + "squawk": "5262" + }, + "p": "653,-2667,510889,364,180,186,40,9,-664,58,179,188,40,26,-680,38,178,189,40,34,-691,35,178,195,40,41,-698,50,178,199,40,45,-724,45,178,203,132,799,-2480,110,165,225,120,1006,-2369,97,165,230" + }, + { + "k": "896354", + "m": { + "kind": "aircraft", + "layer": "flights", + "callsign": "ETD9XU", + "registration": "A6-ETQ", + "type": "B77W", + "squawk": "7306", + "country": "United Arab Emirates" + }, + "p": "653,-2557,532228,849,106,236,120,4216,-756,86,106,248,132,4732,-670,52,102,247,121,4380,-593,0,103,248,120,4306,-617,1,104,249,130,4672,-689,0,103,249,120,4372,-520,0,101,250,120,4327,-564,13,106,248,120,4306,-778,51,107,258,131,4827,-755,0,102,259,132,4936,-634,0,102,260,121,4495,-593,1,102,259,121,4480,-611,1,103,256" + }, + { + "k": "49130e", + "m": { + "kind": "aircraft", + "layer": "flights", + "callsign": "NJE908N", + "registration": "CS-DXN", + "type": "C56X", + "squawk": "5673" + }, + "p": "653,-2510,518946,127,74,97,40,464,-95,26,155,94,39,244,-333,4,157,116,41,282,-394,21,156,119,40,320,-376,47,134,117,40,605,-52,63,71,114,31,494,101,50,71,116,40,643,137,66,71,115,40,680,143,35,71,136,41,799,169,32,71,152,39,854,178,31,71,163,41,941,197,38,71,172,40,973,202,41,72,180,131,3444,710,135,72,202,120,3426,706,124,72,208,120,3362,705,143,70,197,120,3125,693,114,70,188,121,3250,697,47,72,203,142,3967,955,49,54,211,120,3109,1316,33,55,216,120,3184,1330,14,56,225" + }, + { + "k": "ab7ae4", + "m": { + "kind": "aircraft", + "layer": "flights", + "callsign": "DAL33", + "registration": "N839MH", + "type": "B764", + "squawk": "1446", + "country": "United States" + }, + "p": "653,-2203,516609,189,333,146,40,-387,467,17,332,147,40,-389,475,52,333,149,40,-409,483,45,333,155,40,-439,531,23,333,175,40,-473,588,23,334,193,31,-400,502,18,334,205,40,-548,694,30,334,218,41,-634,708,43,330,224,40,-663,693,42,330,228,39,-672,705,44,330,230,41,-698,720,37,329,234,40,-691,734,33,330,238,131,-2354,2499,97,330,250,120,-2169,2340,100,330,250,120,-2223,2328,89,329,246,121,-1873,2410,12,334,248,120,-2013,2409,0,333,251" + }, + { + "k": "44056b", + "m": { + "kind": "aircraft", + "layer": "flights", + "callsign": "EJU58MP", + "registration": "OE-LKD", + "type": "A319", + "squawk": "2231" + }, + "p": "653,-2116,512129,168,250,145,40,-772,-177,76,250,145,40,-806,-180,59,251,153,40,-831,-185,64,250,156,40,-840,-187,61,250,158,40,-864,-195,52,250,165,31,-716,-161,27,250,177,40,-999,-227,23,250,189,41,-1051,-250,6,243,195,40,-766,-509,54,215,195,120,-1945,-1730,97,215,200,131,-2217,-1981,132,215,206,120,-2041,-1843,92,215,213,120,-2071,-1887,80,215,218" + }, + { + "k": "405b64", + "m": { + "kind": "aircraft", + "layer": "flights", + "callsign": "EZY53JV", + "registration": "G-EZDK", + "type": "A319", + "squawk": "1434" + }, + "p": "651,-2086,511456,0,76,30,42,397,55,35,76,79,40,474,63,42,78,94,40,565,-16,49,129,111,40,239,-413,46,168,133,40,200,-484,57,163,144,31,180,-396,43,164,153,40,253,-542,64,163,155,41,180,-557,51,181,166,40,-50,-633,33,183,183,39,29,-637,71,167,178,41,244,-635,50,166,183,40,256,-656,43,166,190,131,1258,-2213,116,147,215,120,2014,-1995,99,148,227" + }, + { + "k": "8963f4", + "m": { + "kind": "aircraft", + "layer": "flights", + "callsign": "UAE7CN", + "registration": "A6-EOW", + "type": "A388", + "squawk": "7310" + }, + "p": "653,-2000,514183,140,102,139,40,789,-108,20,102,141,40,788,-112,15,103,142,40,787,-111,13,103,139,40,785,-113,0,103,140,40,773,-110,4,103,137,31,592,-85,16,103,137,40,776,-108,21,102,139,41,794,-111,19,103,140,40,799,-117,36,104,146,39,844,-138,24,105,163,41,966,-165,16,105,182,40,1001,-171,49,105,181,40,1026,-165,41,104,186,71,1900,-225,73,97,190,40,1072,-89,41,97,191,40,1091,-91,38,98,194,121,3372,-284,80,98,210,121,3824,-341,60,98,228,120,3878,-481,72,102,235,130,4212,-568,101,102,233,131,4243,-588,91,103,235,120,4035,-576,38,103,252,120,4288,-629,41,103,265" + }, + { + "k": "345643", + "m": { + "kind": "aircraft", + "layer": "flights", + "callsign": "VLG75ED", + "registration": "EC-MVE", + "type": "A320", + "squawk": "5330", + "country": "Spain" + }, + "p": "652,-1322,510136,238,263,135,41,-744,-57,-15,263,128,40,-724,-52,-24,263,127,40,-709,7,-20,275,124,40,-671,34,-12,282,112,40,-326,288,-12,349,98,31,-80,270,-20,348,100,40,146,316,-23,43,94,41,366,221,-16,60,82,40,438,80,-24,78,77,39,415,56,-16,78,74,41,412,58,-16,78,71,40,393,55,-15,78,72,39,407,56,-14,77,75" + }, + { + "k": "4869c3", + "m": { + "kind": "aircraft", + "layer": "flights", + "callsign": "KLM81E", + "registration": "PH-AXT", + "type": "A21N", + "squawk": "6261", + "country": "Kingdom of the Netherlands" + }, + "p": "653,-1244,516201,236,261,132,40,-747,-77,-8,261,130,40,-736,-76,0,260,129,40,-737,-79,0,260,129,40,-729,-77,0,261,128,40,-660,-70,1,260,107,31,-466,-57,-1,259,106,40,-608,-60,0,268,106,41,-617,-13,-10,268,104,40,-597,-7,-27,269,102,39,-578,-52,-2,258,105,41,-600,-77,-13,258,103,40,-486,-173,-21,201,103,40,-8,-369,-19,163,102,71,825,-251,-12,91,87,40,486,0,-16,90,84,40,479,2,-19,90,81,40,464,3,-17,89,79,40,446,2,-16,89,78,40,427,2,-16,90,72,41,424,2,-16,90,73,39,431,1,-16,90,78,36,260,1,-8,90,22,84,70,-25,0,90,9,60,45,-19,0,180,8,59,1,-54,0,180,8,224,-50,-40,0,222,12,61,-27,-42,0,183,9" + }, + { + "k": "43c8d4", + "m": { + "kind": "military", + "layer": "military", + "callsign": "CWL39", + "registration": "ZM333", + "type": "E50P", + "squawk": "3620", + "military": true, + "country": "United Kingdom" + }, + "p": "653,-908,533742,261,28,91,40,282,337,1,10,111,40,-413,223,1,254,109,40,-235,-314,1,186,101,40,-50,-351,-1,185,91,40,-51,-286,-2,188,75,31,-143,-183,0,248,85,40,-289,210,0,359,85,41,3,248,-5,3,68,40,44,291,5,7,102,39,32,394,0,1,114,41,0,411,1,359,113,40,-11,406,-1,359,112,40,-17,402,0,358,111,68,-515,429,1,241,106,43,-184,-371,-1,185,103,40,-57,-374,0,185,103,40,-50,-357,-5,184,99,40,-46,-358,-14,184,99,40,-39,-347,-11,184,96,41,-42,-350,0,184,96,39,-43,-346,0,184,99,40,-44,-356,0,184,101,40,-48,-363,0,185,103,40,-53,-373,0,185,104,40,-54,-370,0,185,101,41,-55,-355,0,185,97,47,230,-331,0,92,100,44,289,327,0,358,112,40,-21,394,0,358,108,31,-18,299,0,358,109,40,-20,394,0,358,109,40,-18,396,0,358,111,41,-20,400,0,358,111,39,-17,390,0,358,107,40,-19,372,0,359,103,40,-14,375,0,359,105,40,53,365,0,36,101" + }, + { + "k": "40643b", + "m": { + "kind": "aircraft", + "layer": "flights", + "callsign": "EZY61VT", + "registration": "G-EZTY", + "type": "A320", + "squawk": "2062" + }, + "p": "653,-835,508130,428,194,162,40,-226,-579,45,193,166,40,-212,-587,45,193,170,40,-225,-625,20,191,188,40,139,-693,14,166,205,40,289,-748,20,166,218,132,960,-2536,121,166,224" + }, + { + "k": "40697c", + "m": { + "kind": "aircraft", + "layer": "flights", + "callsign": "EFW34BY", + "registration": "G-EUYR", + "type": "A320", + "squawk": "3475" + }, + "p": "652,-751,511638,100,78,121,41,720,43,58,92,130,40,774,-14,59,92,139,40,825,-14,60,92,147,40,847,2,60,89,148,40,884,3,40,90,166,31,751,0,35,90,175,40,1027,0,52,90,181,41,1061,-1,49,90,186,40,1092,-2,42,90,193,120,3433,-24,121,94,209,131,4057,-156,115,94,223,120,3886,-161,90,94,234,120,4058,-213,75,100,240,120,4041,-686,56,106,251,121,4041,-727,89,106,246,142,4751,-877,18,106,246,120,4029,-761,0,107,245,120,3955,-763,0,107,243" + }, + { + "k": "4b19fc", + "m": { + "kind": "aircraft", + "layer": "flights", + "callsign": "SWR1MY", + "registration": "HB-JVW", + "type": "E195", + "squawk": "0554", + "country": "Switzerland" + }, + "p": "653,-376,509044,1010,141,231,120,2436,-1939,39,142,238,132,2786,-2244,0,142,240,121,2532,-2066,1,142,243" + }, + { + "k": "344158", + "m": { + "kind": "aircraft", + "layer": "flights", + "callsign": "VLG4XL", + "registration": "EC-LOP", + "type": "A320", + "squawk": "2732" + }, + "p": "653,-343,510929,168,166,134,40,219,-475,36,163,142,40,241,-499,22,163,148,40,241,-512,0,163,148,40,150,-523,13,191,154,40,-237,-543,59,196,158,31,-201,-444,21,196,177,40,-288,-644,45,195,187,41,-273,-658,57,194,191,40,-97,-689,48,176,197,39,87,-714,40,176,203,40,85,-756,27,176,215,41,92,-775,48,176,215" + }, + { + "k": "4d2038", + "m": { + "kind": "aircraft", + "layer": "flights", + "callsign": "KMM100A", + "registration": "9H-NEG", + "type": "A20N", + "squawk": "2751", + "country": "Malta" + }, + "p": "653,-151,513402,227,271,129,40,-736,0,0,270,128,40,-725,0,0,270,127,40,-738,1,0,270,127,40,-734,-2,0,270,129,40,-742,-7,0,269,129,31,-564,-6,0,269,126,40,-732,-17,0,267,125,41,-724,-18,-10,268,126,40,-701,36,-19,285,121,39,-666,106,-20,283,121,41,-669,98,-13,283,112,40,-579,89,-8,291,98,40,-491,157,-9,298,95,71,-123,529,-11,48,97,40,489,174,-5,61,97,40,490,167,-9,65,96,40,536,54,-12,89,93,40,511,2,-20,89,83,40,471,3,-18,90,80,41,455,2,-17,90,76,39,422,2,-16,90,67,40,351,1,-13,90,60,40,362,2,-13,90,65,40,341,1,-14,91,33,131,120,-25,0,90,10,81,106,-1,0,90,9,60,15,-27,0,180,9,30,0,-29,0,180,11,161,-10,-58,0,211,9" + }, + { + "k": "c01a7d", + "m": { + "kind": "aircraft", + "layer": "flights", + "callsign": "ACA833", + "registration": "C-FKAU", + "type": "B77W", + "squawk": "4406", + "country": "Canada" + }, + "p": "653,644,520225,914,324,250,120,-2590,2198,42,327,259,132,-2603,2607,0,329,256,121,-2374,2384,0,329,256,120,-2391,2373,0,328,259,130,-2633,2575,-1,328,259,120,-2464,2375,0,328,258" + }, + { + "k": "48c2a7", + "m": { + "kind": "aircraft", + "layer": "flights", + "callsign": "RYR29HK", + "registration": "SP-RZH", + "type": "B38M", + "squawk": "0550", + "country": "Poland" + }, + "p": "653,699,506876,1115,140,244,120,2659,-2013,1,140,244,132,2898,-2215,0,140,244" + }, + { + "k": "4080e0", + "m": { + "kind": "aircraft", + "layer": "flights", + "callsign": "BAW639", + "registration": "G-TTNW", + "type": "A20N", + "squawk": "2754", + "country": "United Kingdom" + }, + "p": "653,983,513913,277,117,125,40,606,-236,-18,122,123,40,410,-334,-20,175,124,40,-361,-362,-12,247,131,40,-704,104,0,303,133,40,-643,252,0,302,130,31,-543,72,0,270,128,40,-743,-6,0,270,128,41,-735,-4,0,270,128,40,-731,-3,0,270,127,39,-729,-4,0,269,129,41,-751,-12,1,269,128,40,-727,-12,0,267,127,40,-721,-32,0,266,126,71,-1258,132,-9,284,123,40,-685,104,-12,283,119,40,-632,87,-15,282,107,41,-545,126,-16,293,100,39,-230,281,-14,1,96,40,148,317,-13,54,98,41,506,169,-15,62,98,40,481,170,-22,62,94,39,504,45,-20,90,83,40,471,1,-17,90,80,40,454,2,-17,90,78,40,435,1,-15,90,69,41,368,2,-15,90,62,51,475,2,-17,90,67,39,270,1,-11,90,14,94,-26,-24,0,270,8,58,-65,-3,0,330,8,40,-62,0,0,270,11,40,-51,0,0,270,8" + }, + { + "k": "4bb199", + "m": { + "kind": "aircraft", + "layer": "flights", + "callsign": "THY30S", + "registration": "TC-LLY", + "type": "B789", + "squawk": "6611", + "country": "Turkey" + }, + "p": "653,1185,516357,258,225,136,40,-76,-439,0,149,132,40,659,-138,0,71,130,40,396,367,0,357,135,40,-520,318,0,277,138,40,-793,-77,0,259,138,31,-602,-68,0,260,138,40,-796,-92,-5,260,139,41,-785,-90,-14,260,136,40,-767,-88,-12,260,134,39,-749,-82,1,263,133,41,-780,-49,0,264,132,40,-763,-46,0,265,133,40,-755,-48,1,264,127,71,-1208,-99,-2,262,117,40,-669,-56,-13,263,113,40,-615,-48,-10,263,104,40,-585,-52,-9,262,101,40,-577,-71,-7,245,103,40,-491,-204,-6,217,104,41,-20,-368,-3,151,105,39,507,-170,-15,92,104,40,604,1,-31,89,107,40,591,4,-22,89,96,40,501,3,-19,90,83,40,476,3,-17,90,80,41,461,2,-17,90,78,50,555,2,-21,90,74,41,425,2,-16,90,74,38,420,2,-13,90,77,47,292,0,-8,90,23" + }, + { + "k": "4d2127", + "m": { + "kind": "aircraft", + "layer": "flights", + "callsign": "VJT418", + "registration": "9H-VCL", + "type": "CL35", + "squawk": "0671", + "country": "Malta" + }, + "p": "653,1475,512578,326,316,152,40,-617,374,-7,300,150,40,-830,185,-13,288,152,40,-795,165,-28,288,137,40,-722,152,-17,289,133,40,-715,147,-6,288,129,31,-549,110,-17,288,127,40,-679,135,-11,288,120,41,-674,138,0,288,120,40,-663,135,1,288,122,39,-643,129,-15,288,121,41,-548,224,-32,344,115,40,-33,400,-19,358,108,40,-19,371,-19,358,97,71,-57,594,-36,356,92,40,-43,328,-10,355,90,40,-370,180,0,263,98,40,-455,-163,0,213,96,40,-290,-292,0,211,95,40,-73,-296,0,134,86,41,444,-121,-6,105,83,39,408,-44,-22,95,65,40,357,-22,-3,95,63,40,350,-21,0,96,58,40,347,-21,-14,96,61,40,341,-17,-16,83,58,41,331,57,-9,70,57,49,392,92,-16,70,61" + }, + { + "k": "3ce18f", + "m": { + "kind": "aircraft", + "layer": "flights", + "callsign": "PTN22D", + "registration": "D-CMSL", + "type": "PC24", + "squawk": "5725", + "country": "Germany" + }, + "p": "653,1566,514312,66,273,101,40,-499,-72,-6,223,81,40,-218,-250,-1,207,79,40,-184,-237,-13,205,67,40,-156,-204,-13,206,62,40,-153,-199,-12,206,55" + }, + { + "k": "4ca4f4", + "m": { + "kind": "aircraft", + "layer": "flights", + "callsign": "RYR98KJ", + "registration": "EI-DPP", + "type": "B738", + "squawk": "3506", + "country": "Ireland" + }, + "p": "653,3022,519299,44,223,83,39,-326,-217,-17,223,84,80,-410,-292,-27,223,9,80,45,-3,0,45,10,30,33,22,0,42,12,42,52,34,0,42,13" + }, + { + "k": "47a3b0", + "m": { + "kind": "aircraft", + "layer": "flights", + "callsign": "NOZ17T", + "registration": "LN-ENN", + "type": "B738", + "squawk": "3447" + }, + "p": "653,3427,511661,303,90,148,40,834,101,41,53,161,40,425,546,22,19,181,40,340,628,14,19,184,40,360,631,43,20,188,40,375,643,45,20,197,31,308,528,32,20,205,41,426,716,46,21,211,40,701,626,44,43,215,121,2682,1733,128,44,225,150,4178,1712,116,64,239,120,3820,1131,90,64,245,121,3895,1159,88,64,244,121,3617,1415,63,30,250,120,1826,2444,37,25,249,130,1985,2620,0,25,249,131,2021,2664,0,25,248,120,1865,2427,0,25,248" + }, + { + "k": "48e9f6", + "m": { + "kind": "aircraft", + "layer": "flights", + "callsign": "RYR924", + "registration": "SP-RNR", + "type": "B738", + "squawk": "4627", + "country": "Poland" + }, + "p": "653,3546,530390,1110,100,240,120,4208,-446,0,100,239,132,4629,-511,1,101,239,122,4236,-479,0,101,239,138,4838,-571,1,101,242,131,4711,-258,1,94,243,120,4314,-217,0,95,244,120,4314,-229,0,95,243,120,4268,-244,0,96,241,132,4672,-285,1,96,241,131,4646,-298,1,96,241,120,4294,-63,0,89,244" + }, + { + "k": "4b1a27", + "m": { + "kind": "aircraft", + "layer": "flights", + "callsign": "EZS68GC", + "registration": "HB-JXN", + "type": "A320", + "squawk": "6362", + "country": "Switzerland" + }, + "p": "653,3548,504512,758,139,192,120,2578,-1351,89,108,212,132,3788,-708,22,105,214" + }, + { + "k": "4075a2", + "m": { + "kind": "aircraft", + "layer": "flights", + "callsign": "CFE23DB", + "registration": "G-LCYZ", + "type": "E190", + "squawk": "0516" + }, + "p": "653,3609,515706,204,83,140,40,802,63,20,83,139,40,796,61,5,85,140,40,607,-265,31,164,141,40,-25,-508,19,185,144,40,-72,-528,15,185,155,30,-53,-434,24,184,160,41,-78,-600,36,185,164,41,-81,-604,48,184,169,40,-63,-603,62,183,169,39,-55,-596,57,184,169,41,-63,-622,48,183,173,151,-377,-2483,147,202,193,120,-1293,-1952,101,203,203,121,-1380,-2110,52,203,225,121,-1240,-2318,89,179,223" + }, + { + "k": "43e73d", + "m": { + "kind": "aircraft", + "layer": "flights", + "callsign": "MRLIV", + "registration": "M-RLIV", + "type": "CL60", + "squawk": "5742", + "ladd": true, + "country": "United Kingdom" + }, + "p": "653,3782,522377,344,277,157,40,-916,65,-20,277,160,40,-929,66,-3,276,160,40,-919,64,-6,277,157,40,-880,60,-22,276,143,40,-807,57,-20,270,137,31,-481,-192,-16,214,130,40,-405,-400,-21,211,129,41,-385,-399,-13,210,129,40,-388,-400,-21,211,127,39,-372,-374,-19,211,125,41,-378,-385,-21,211,122,40,-364,-377,-3,210,123,40,-393,-374,0,230,125,71,-1110,-405,0,240,123,40,-618,-225,0,240,123,40,-607,-221,-1,239,115,40,-426,-243,-9,209,100,40,-81,-329,-25,143,97,40,525,-38,-12,77,96,40,502,92,-21,74,84,40,451,64,-16,78,77,40,397,71,-16,73,65,40,341,58,-13,76,59,41,333,58,-12,75,60,35,296,51,-12,74,61,40,209,36,-22,74,16" + }, + { + "k": "4caf26", + "m": { + "kind": "aircraft", + "layer": "flights", + "callsign": "RYR66GR", + "registration": "EI-ILL", + "type": "B38M", + "squawk": "7470", + "country": "Ireland" + }, + "p": "653,3832,520408,114,114,103,40,250,-266,-18,200,94,40,-225,-283,-11,217,86,40,-335,-229,-15,223,88,40,-354,-234,-17,224,88,40,-331,-221,-19,222,82,30,-250,-166,-12,223,84,34,-246,-163,-22,222,46,106,-5,-56,0,42,11,31,38,25,0,42,13,100,130,87,0,42,10,32,31,20,0,45,10" + }, + { + "k": "4081bf", + "m": { + "kind": "aircraft", + "layer": "flights", + "callsign": "BAW891", + "registration": "G-TTSF", + "type": "A20N", + "squawk": "3245", + "country": "United Kingdom" + }, + "p": "653,3935,516641,296,263,136,40,-776,-57,-7,263,137,40,-792,-59,0,263,137,40,-782,-60,0,262,137,39,-555,-289,0,192,132,41,303,-391,0,117,126,31,557,-19,0,83,126,40,641,176,-16,36,127,41,-69,440,-15,320,133,40,-715,91,0,263,134,39,-769,-69,0,260,136,41,-780,-83,0,260,137,40,-778,-85,0,260,136,39,-756,-82,-19,260,133,72,-1352,-146,-11,260,132,40,-751,-83,0,260,131,40,-743,-82,0,260,131,40,-737,-78,0,260,131,40,-747,-90,0,259,131,40,-745,-54,0,268,131,41,-771,-15,-1,268,131,39,-742,-14,-21,268,128,40,-699,-51,-15,254,118,40,-593,-118,-10,247,102,41,-221,-320,-25,179,105,39,327,-282,-10,121,103,41,531,-60,-3,92,88,50,629,-1,-18,89,87,41,502,3,-19,89,84,39,476,3,-19,90,82,32,364,2,-14,90,80,41,465,2,-17,90,79,39,419,1,-15,90,67,40,359,2,-13,90,62,40,368,2,-13,90,65,38,332,1,-15,90,39,82,21,-24,0,270,9" + }, + { + "k": "aad3c9", + "m": { + "kind": "aircraft", + "layer": "flights", + "callsign": "UAL56", + "registration": "N797UA", + "type": "B772", + "squawk": "6373", + "country": "United States" + }, + "p": "653,4561,516463,1019,322,247,120,-2632,2105,-1,322,247,132,-2521,2485,0,330,248,121,-2265,2325,-1,329,249,120,-2285,2299,0,329,250,130,-2502,2496,0,329,250,120,-2341,2304,0,328,252,120,-2373,2306,0,328,253,121,-2408,2311,-1,328,253" + }, + { + "k": "407131", + "m": { + "kind": "aircraft", + "layer": "flights", + "callsign": "VIR479F", + "registration": "G-VBOW", + "type": "B789", + "squawk": "4012" + }, + "p": "653,4801,510421,524,314,191,40,-741,466,-16,316,178,40,-684,452,-15,316,166,40,-635,416,-12,316,156,40,-609,396,-17,316,152,40,-595,387,-17,316,147,31,-448,291,-13,316,144,40,-577,375,-15,316,142,40,-398,423,-13,360,139,41,443,376,-11,72,137,39,689,-135,-12,143,136,41,-17,-467,-23,219,139,40,-729,-119,-25,281,140,40,-806,26,-22,271,140,71,-1312,313,-37,295,136,40,-706,207,-21,295,136,40,-729,-29,-11,246,131,40,-678,-194,-11,245,131,40,-679,-196,-6,245,130,40,-689,-173,1,266,128,41,-717,85,0,285,127,40,-690,115,-1,285,125,39,-689,115,-10,285,125,40,-690,110,-10,284,123,40,-668,102,-10,284,114,40,-600,92,-10,287,102,41,-249,281,-11,3,96,50,291,363,-14,63,101,41,531,160,-14,64,98,39,511,101,-20,87,92,32,403,3,-15,90,86,41,494,2,-18,89,84,39,471,2,-18,90,81,40,462,3,-17,90,78,40,444,2,-17,90,75,40,406,1,-14,90,69,40,411,1,-15,90,75,39,366,2,-14,87,39" + }, + { + "k": "4401e9", + "m": { + "kind": "aircraft", + "layer": "flights", + "callsign": "EJU93RY", + "registration": "OE-IUB", + "type": "A21N", + "squawk": "4643" + }, + "p": "653,4828,513508,431,23,161,40,367,540,30,23,167,40,378,563,28,23,170,40,392,573,47,23,179,40,415,600,52,23,183,132,3091,1147,89,65,199,120,3215,903,87,66,210,121,3469,961,101,66,220,130,3953,992,69,79,234,120,4005,485,67,79,238,120,4171,504,40,79,248,120,4243,422,56,82,246,132,4699,428,19,82,251,131,4772,414,1,82,252,120,4391,365,2,82,251,120,4348,342,-3,83,249" + }, + { + "k": "3cc253", + "m": { + "kind": "aircraft", + "layer": "flights", + "callsign": "AWH84B", + "registration": "D-CAWX", + "type": "C680", + "squawk": "2036", + "country": "Germany" + }, + "p": "653,4879,523989,993,93,208,120,3552,-125,118,93,204,132,4022,-153,75,94,213,121,3881,-158,43,92,224,120,4027,423,9,79,241,130,4539,536,0,79,245,120,4266,488,0,79,245,120,4270,470,0,80,247,120,4288,457,0,80,246,131,4680,479,1,81,246,132,4355,1138,0,58,248,121,3706,1467,1,44,249,121,2881,2091,0,40,249" + }, + { + "k": "4d2493", + "m": { + "kind": "aircraft", + "layer": "flights", + "callsign": "WMT932", + "registration": "9H-WDM", + "type": "A21N", + "squawk": "4611" + }, + "p": "653,6061,519304,560,80,181,40,1056,111,33,80,187,120,3346,347,97,80,199,132,3883,391,92,81,209,120,3686,358,71,81,220,122,3928,369,62,81,228,129,4266,56,70,96,230,120,4088,-249,45,96,238,120,4164,-269,23,96,241,120,4147,-285,0,96,240,132,4555,-330,1,97,240,131,4555,-348,1,97,240,120,4116,-333,0,98,239" + }, + { + "k": "502d5b", + "m": { + "kind": "aircraft", + "layer": "flights", + "callsign": "BTI1761", + "registration": "YL-ABJ", + "type": "BCS3", + "squawk": "1161", + "country": "Latvia" + }, + "p": "653,6394,518795,1049,229,221,120,-2915,-1556,0,229,222,132,-3214,-1737,0,229,220,121,-2891,-1592,0,225,224,120,-2635,-1742,0,223,222,131,-2841,-1904,0,223,223,121,-2614,-1774,1,223,222,120,-2587,-1774,0,223,225,120,-2345,-1879,1,207,225,129,-1788,-2334,0,206,226" + }, + { + "k": "aaac4a", + "m": { + "kind": "aircraft", + "layer": "flights", + "callsign": "UAL46", + "registration": "N787UA", + "type": "B772", + "squawk": "2223", + "country": "United States" + }, + "p": "653,7618,530589,1111,111,252,120,4173,-979,0,108,251,132,4756,-813,1,105,252,121,4316,-847,0,113,253,120,4087,-1109,1,114,252,130,4376,-1218,0,115,252,120,4035,-1143,0,115,252,121,4007,-1152,1,115,251,121,4031,-1181,1,116,251,129,4268,-1280,1,117,252,132,4175,-1465,0,121,249,121,3721,-1369,-58,121,247" + }, + { + "k": "40658a", + "m": { + "kind": "aircraft", + "layer": "flights", + "callsign": "CFE78X", + "registration": "G-LCYP", + "type": "E190", + "squawk": "4441", + "country": "United Kingdom" + }, + "p": "652,7848,513215,186,290,150,41,-817,187,-21,290,150,40,-807,183,-19,290,147,40,-780,177,-18,290,144,40,-780,176,0,290,144,40,-779,175,-10,290,146,31,-617,137,-21,289,147,40,-825,74,1,273,144,41,-847,28,-9,273,145,40,-822,26,-22,273,143,39,-770,25,-1,273,125,41,-674,21,0,273,110,40,-447,229,0,345,102,40,41,333,0,43,90,71,703,101,-4,95,62,40,332,-17,-23,94,58,40,340,-10,-23,92,61,40,305,-9,-11,93,28,80,-2,-9,-5,273,8,39,-54,2,0,273,10" + }, + { + "k": "706059", + "m": { + "kind": "aircraft", + "layer": "flights", + "callsign": "KAC103", + "registration": "9K-AOF", + "type": "B77W", + "squawk": "3107", + "country": "Kuwait" + }, + "p": "653,7943,516931,443,264,173,40,-972,-69,-18,263,163,40,-896,-65,-18,264,150,40,-838,-60,-31,263,145,40,-828,-61,-25,263,144,40,-820,-61,-17,263,142,30,-626,-46,-14,264,145,41,-840,-63,0,263,141,41,-823,-86,-3,249,146,40,-329,-415,-16,173,135,39,507,-314,-12,103,134,41,698,135,-2,41,134,40,-141,433,-15,308,140,40,-743,184,-13,279,140,71,-1411,-75,0,264,138,40,-786,-50,-13,264,137,40,-780,-49,-16,264,134,40,-714,-44,-1,264,114,40,-630,-41,-1,264,109,40,-629,-43,0,264,110,41,-640,-43,1,264,110,39,-623,-43,0,264,110,40,-624,-51,0,260,110,40,-618,-88,-1,257,109,41,-622,-89,-18,257,108,39,-599,-81,-19,257,106,41,-599,-84,-15,257,105,50,-743,-105,-17,257,105,41,-508,-187,-8,203,108,40,-10,-385,-15,173,106,31,306,-198,-8,113,104,40,534,-29,0,91,89,40,518,3,-5,90,90,41,500,2,-19,89,85,39,482,3,-19,90,83,40,459,3,-17,90,80,40,459,1,-17,90,79,40,430,2,-16,90,73" + }, + { + "k": "3cc243", + "m": { + "kind": "aircraft", + "layer": "flights", + "callsign": "AWH67G", + "registration": "D-CAWH", + "type": "C56X", + "squawk": "1342", + "country": "Germany" + }, + "p": "653,8170,522052,417,277,193,40,-1117,85,-12,277,193,40,-1091,81,-13,277,181,40,-977,71,-16,277,156,40,-852,60,-19,277,141,40,-824,60,-21,277,140,31,-630,45,-14,277,141,41,-839,59,-3,276,142,40,-828,56,-20,276,141,40,-816,34,-21,258,137,39,-557,-304,-19,221,131,41,-495,-360,-21,220,129,40,-478,-355,-19,220,128,40,-474,-356,-21,219,128,71,-829,-617,-35,220,123,40,-456,-335,-4,219,123,40,-451,-348,-1,218,124,40,-463,-347,0,228,125,40,-638,-181,-1,248,113,40,-571,-141,1,248,103,41,-558,-137,0,248,101,39,-537,-135,0,248,101,40,-541,-141,0,247,101,40,-501,-172,1,214,99,40,-19,-353,-13,176,98,40,376,-178,-21,79,96,41,529,121,-22,69,95,50,601,110,-5,76,81,41,460,72,-16,75,79,40,429,76,-16,74,75,31,293,51,-12,74,61,40,341,60,-13,74,61,39,323,54,-13,73,60,59,389,69,-28,74,24" + }, + { + "k": "4ca9c3", + "m": { + "kind": "aircraft", + "layer": "flights", + "callsign": "RYR9ED", + "registration": "EI-EVC", + "type": "B738", + "squawk": "4636" + }, + "p": "653,8348,518295,436,111,184,40,678,-478,52,165,186,40,209,-659,51,169,190,40,227,-678,54,168,191,132,2905,-1525,93,125,208,121,2880,-1333,0,128,205,120,3270,-870,0,109,208,130,3649,-815,1,110,208,120,3335,-757,0,110,208,120,3428,-670,1,106,211,121,3481,-641,0,106,211,130,3751,-706,1,107,209,132,3719,-713,1,107,207,121,3408,-666,0,107,209,121,3619,-291,0,96,212" + }, + { + "k": "3c5eee", + "m": { + "kind": "aircraft", + "layer": "flights", + "callsign": "EWG32ME", + "registration": "D-AGWN", + "type": "A319", + "squawk": "5672", + "country": "Germany" + }, + "p": "653,8541,512684,606,101,195,120,3430,-377,119,98,213,132,4049,-364,109,98,215,121,3700,-437,64,104,222,121,3705,-569,111,104,221,129,3902,-613,97,104,218,120,3796,-612,9,104,239,120,3895,-641,1,105,236,120,3880,-655,0,105,234,131,4177,-721,2,106,231,132,4131,-728,-2,106,230,121,3806,-689,3,106,235,121,3865,-712,1,106,234" + }, + { + "k": "c078ba", + "m": { + "kind": "aircraft", + "layer": "flights", + "callsign": "TSC251", + "registration": "C-GTSR", + "type": "A332", + "squawk": "0667" + }, + "p": "653,8802,511464,1014,324,242,120,-2508,2074,64,322,239,132,-2808,2231,4,322,240,121,-2594,2038,-1,321,238,120,-2599,2017,0,321,240,130,-2849,2183,0,321,241,120,-2663,2015,0,321,241,120,-2690,2012,0,321,242,120,-2721,2011,-1,320,242,131,-3005,2191,0,320,242,132,-3026,2231,0,326,244,121,-3330,1626,-1,303,241" + }, + { + "k": "4d2384", + "m": { + "kind": "aircraft", + "layer": "flights", + "callsign": "RYR3417", + "registration": "9H-VUW", + "type": "B38M", + "squawk": "0506" + }, + "p": "653,8819,532572,1175,120,239,120,3685,-1292,0,121,238,132,3750,-1627,0,134,236,122,3076,-1812,1,134,239,138,3496,-2082,1,134,240,131,3291,-1985,0,135,239,120,2961,-1815,1,135,237,120,2919,-1806,0,135,236,120,2873,-1803,1,136,235,132,3036,-2008,1,144,233,131,2618,-2226,0,144,234,120,2375,-2042,1,144,235,120,2367,-2053,1,144,233" + }, + { + "k": "486073", + "m": { + "kind": "aircraft", + "layer": "flights", + "callsign": "KLM741", + "registration": "PH-BKR", + "type": "B78X", + "squawk": "2120", + "country": "Kingdom of the Netherlands" + }, + "p": "653,9833,516904,956,262,244,120,-4189,-396,1,261,245,132,-4603,-454,1,261,246,121,-4231,-435,-2,261,245,120,-4200,-449,0,260,246,130,-4504,-496,0,260,247,120,-4153,-496,0,256,246,121,-4013,-766,0,253,243,140,-4653,-924,0,252,242" + }, + { + "k": "4d23fd", + "m": { + "kind": "aircraft", + "layer": "flights", + "callsign": "RYR41VQ", + "registration": "9H-QEU", + "type": "B738", + "squawk": "2762" + }, + "p": "653,10802,510360,1081,316,228,120,-2719,1770,-1,316,228,132,-3029,1934,0,315,229,120,-2758,1753,-1,315,229,120,-2801,1744,0,315,228,131,-2944,1998,-1,322,232,120,-2497,1970,-96,322,229,120,-2492,1929,-131,321,230,121,-2575,1977,-148,321,230,100,-2451,1298,-120,306,215,30,-769,341,-38,306,211,41,-1015,450,-55,306,205,40,-980,401,-58,299,197,31,-779,265,-52,299,193,40,-995,334,-43,299,179,40,-875,290,-19,299,160,40,-802,266,-25,299,152,40,-783,262,-25,298,152,40,-780,251,-18,299,144,40,-719,263,-25,314,141,40,-556,371,-27,318,139" + }, + { + "k": "06a139", + "m": { + "kind": "aircraft", + "layer": "flights", + "callsign": "QTR69N", + "registration": "A7-BAW", + "type": "B77W", + "squawk": "4614", + "country": "Qatar" + }, + "p": "653,10820,512244,988,92,267,120,4506,-403,0,101,266,132,4939,-603,0,101,266,121,4497,-575,1,102,266,120,4434,-583,1,102,264,131,4776,-649,1,102,264,121,4451,-623,0,103,264,120,4393,-635,1,103,265,120,4350,-646,1,103,263,129,4638,-708,1,104,259" + }, + { + "k": "407777", + "m": { + "kind": "aircraft", + "layer": "flights", + "callsign": "CFE2GH", + "registration": "G-LCAB", + "type": "E190", + "squawk": "1406", + "country": "United Kingdom" + }, + "p": "653,11539,518034,259,204,138,40,-325,-455,-40,204,141,40,-331,-461,-21,205,139,40,-563,-345,-7,241,140,40,-714,-238,-2,242,141,40,-733,-245,1,242,143,31,-553,-185,0,241,142,40,-728,-245,-14,242,141,41,-725,-245,-21,242,138,40,-693,-235,-20,242,137,39,-678,-230,-7,241,136,41,-704,-240,-1,241,136,40,-685,-234,1,241,138,40,-696,-238,-18,241,137,71,-1410,-100,-13,273,143,40,-828,27,-10,273,141,40,-782,25,-20,273,132,40,-705,22,0,273,121,40,-638,88,-1,309,109,40,-221,329,0,0,97,41,256,241,0,58,78,39,407,24,0,93,66,40,339,-18,-17,95,54,40,310,-12,-22,93,55,40,325,-9,-21,93,59" + }, + { + "k": "ab72dc", + "m": { + "kind": "aircraft", + "layer": "flights", + "callsign": "FDX5184", + "registration": "N837FD", + "squawk": "5236", + "country": "United States" + }, + "p": "653,13088,513008,862,95,234,120,3819,-270,-110,98,217,132,3910,-464,-97,110,207,121,3367,-777,-19,110,204,39,1033,-243,-37,111,200,40,1078,-250,-31,108,197,40,1079,-180,-3,103,198,39,1090,-157,0,103,200,52,1440,-209,1,103,199,40,1105,-162,0,103,199,40,1108,-164,0,103,199,40,1093,-162,0,103,200,40,1114,-167,1,103,201,40,1130,-137,0,98,203,41,1162,-87,1,96,202,39,1126,-64,0,95,201,40,1138,-63,0,95,201,40,1129,-63,-41,95,200,40,1121,-65,-38,95,197,41,1113,-64,-35,95,194,40,1112,-66,-7,95,196,50,1391,-82,1,95,194,41,1114,-68,-1,96,191,40,1061,-66,-47,96,187,31,806,-50,-34,96,182,41,1039,-67,-49,96,178,39,907,-58,-17,96,151,40,846,-57,-29,96,146,40,814,-53,-36,96,144,40,822,-55,-36,96,143,40,790,-53,-17,96,139,40,758,-50,-10,96,129" + }, + { + "k": "4d24c2", + "m": { + "kind": "aircraft", + "layer": "flights", + "callsign": "WZZ2050", + "registration": "9H-WZW", + "type": "A320", + "squawk": "3470", + "country": "Malta" + }, + "p": "653,13997,521508,780,65,222,120,3633,977,75,75,232,132,4373,794,77,73,240,121,4014,724,85,74,235,120,4039,694,49,74,239,130,4409,611,47,80,238,120,4198,477,3,80,242,120,4214,464,0,80,241,120,4225,453,0,80,243,131,4663,313,0,84,244" + }, + { + "k": "4ca740", + "m": { + "kind": "aircraft", + "layer": "flights", + "callsign": "RYR86GG", + "registration": "EI-EBY", + "type": "B738", + "squawk": "4634", + "country": "Ireland" + }, + "p": "653,14043,519971,658,67,212,120,3608,697,117,78,221,132,4309,573,87,78,237,120,4109,556,90,78,238,120,4041,343,78,83,236,131,4564,351,57,83,240,121,4098,-92,27,111,238,121,3988,-949,1,111,242,120,3940,-938,1,111,242,129,4189,-1019,0,112,240,132,4268,-1061,1,112,240" + }, + { + "k": "5004c3", + "m": { + "kind": "aircraft", + "layer": "flights", + "callsign": "T7EZZ", + "registration": "T7-EZZ", + "type": "GA6C", + "squawk": "7542", + "country": "San Marino" + }, + "p": "653,14106,521418,470,307,199,40,-1039,258,-16,278,193,40,-1119,87,-16,277,191,40,-1101,86,-15,277,189,40,-1097,85,-15,277,184,40,-1018,78,-12,277,167,31,-720,54,-10,277,158,40,-939,70,-5,277,158,41,-912,68,0,277,152,40,-888,65,-6,277,153,39,-862,62,-26,277,150,41,-880,63,-26,277,151,40,-878,63,-3,277,146,40,-825,58,-8,277,140,71,-1450,74,-48,254,139,40,-574,-320,-25,219,131,40,-465,-367,-10,218,128,41,-457,-364,-19,217,128,39,-448,-355,-20,218,125,40,-446,-351,-14,218,125,41,-458,-356,-18,228,125,39,-634,-219,-1,242,126,40,-640,-216,0,241,124,40,-634,-215,0,241,124,40,-628,-215,0,241,124,40,-607,-210,0,241,112,41,-534,-182,0,241,101,51,-625,-239,0,216,100,40,2,-348,-15,170,99,40,238,-317,-32,113,104,31,445,19,-12,77,96,41,494,80,-9,74,82,39,445,79,-17,74,80,41,383,66,-15,74,60,39,329,58,-12,75,60,40,348,59,-13,75,62,60,445,78,-32,74,24" + }, + { + "k": "4ca303", + "m": { + "kind": "aircraft", + "layer": "flights", + "callsign": "RYR57SC", + "registration": "EI-DLX", + "type": "B738", + "squawk": "0553" + }, + "p": "653,14235,530722,1110,122,235,120,3590,-1340,0,122,237,132,3949,-1503,1,122,240,121,3449,-1525,1,127,238,120,3337,-1541,0,127,237,130,3619,-1631,1,122,236,121,3520,-1347,0,123,236,121,3526,-1392,1,123,236,120,3465,-1377,1,123,236,129,3672,-1482,1,123,236,132,3769,-1541,0,123,237,121,3416,-1422,0,124,238" + }, + { + "k": "7380c3", + "m": { + "kind": "aircraft", + "layer": "flights", + "callsign": "ELY008", + "registration": "4X-EDD", + "type": "B789", + "squawk": "5221", + "country": "Israel" + }, + "p": "653,14638,512888,1115,106,267,120,4439,-772,0,106,269,132,4859,-864,1,106,267,121,4424,-809,1,106,266,120,4350,-815,1,107,266,131,4701,-903,-1,107,264,121,4345,-853,2,107,263,120,4238,-853,0,108,265,120,4243,-870,1,108,264,129,4535,-952,0,108,262" + }, + { + "k": "4010ed", + "m": { + "kind": "aircraft", + "layer": "flights", + "callsign": "EZY42DJ", + "registration": "G-EZBY", + "type": "A319", + "squawk": "3404", + "country": "United Kingdom" + }, + "p": "653,14802,518568,811,73,222,120,3831,598,94,78,228,132,4304,452,102,83,226,121,4021,318,42,83,232,120,4027,321,2,83,234,130,4406,347,0,82,234,120,4045,331,0,87,233,120,3786,-707,1,109,227,120,3745,-801,0,109,227,131,4079,-888,0,110,228,132,4117,-919,2,110,229" + }, + { + "k": "484555", + "m": { + "kind": "aircraft", + "layer": "flights", + "callsign": "KLM1137", + "registration": "PH-BXW", + "type": "B738", + "squawk": "7345", + "country": "Kingdom of the Netherlands" + }, + "p": "653,15719,531017,864,282,205,120,-3596,432,-20,281,207,132,-3911,742,-10,290,208,121,-3543,762,-1,289,208,120,-3553,721,0,289,211,130,-3945,788,0,289,215,120,-3683,757,0,290,214,120,-3789,312,-1,274,213,120,-3849,132,0,273,211,131,-4097,122,-1,273,208,132,-4142,109,0,272,209" + }, + { + "k": "4082b5", + "m": { + "kind": "helicopter", + "layer": "flights", + "callsign": "GPMMC", + "registration": "G-PMMC", + "type": "A139", + "squawk": "7432", + "helicopter": true + }, + "p": "652,16100,527842,72,57,75,33,302,122,0,56,75,43,401,160,0,57,75,44,406,164,0,57,74,35,327,130,0,56,75,40,376,150,0,56,76,55,518,207,0,57,76,64,608,242,0,57,77" + }, + { + "k": "4ca8d4", + "m": { + "kind": "aircraft", + "layer": "flights", + "callsign": "RYR77CN", + "registration": "EI-ENI", + "type": "B738", + "squawk": "1355", + "country": "Ireland" + }, + "p": "653,16208,519110,470,280,177,40,-1011,108,-27,280,176,40,-1000,106,-38,280,173,40,-978,104,-38,279,171,40,-983,97,-36,279,170,40,-969,102,-34,280,169,31,-725,78,-10,280,159,40,-910,98,-26,280,157,41,-907,91,-2,273,153,40,-842,-9,0,269,139,39,-795,-10,0,269,138,41,-816,-12,-21,269,139,39,-794,-12,-10,268,137,41,-792,-22,-9,267,135,71,-1390,-51,-17,266,134,40,-768,-29,-9,267,131,40,-681,-139,-5,222,125,40,-446,-349,-27,218,121,40,-444,-341,-34,219,123,40,-451,-336,-22,220,117,41,-295,-324,-7,172,93,39,323,-234,-10,116,87,41,492,27,-9,79,83,39,389,176,-20,44,88,40,331,221,-17,43,77,40,292,193,-15,43,74,54,352,235,-27,43,32" + }, + { + "k": "aae6d5", + "m": { + "kind": "aircraft", + "layer": "flights", + "callsign": "DAL83", + "registration": "N801NW", + "type": "A333", + "squawk": "7565" + }, + "p": "653,16548,504692,643,330,235,120,-2251,2100,55,324,237,132,-2697,2262,56,322,241,121,-2558,2075,51,322,242,120,-2581,2078,42,322,246,130,-2827,2251,56,322,243,120,-2435,2105,44,334,242,120,-1907,2346,19,333,249,120,-1959,2385,22,333,250,131,-2358,2530,29,330,249,132,-2420,2542,0,330,248,121,-2243,2324,0,330,249,121,-2293,2346,0,329,250" + }, + { + "k": "44cc48", + "m": { + "kind": "aircraft", + "layer": "flights", + "callsign": "BEL2AH", + "registration": "OO-SBH", + "type": "A20N", + "squawk": "4416", + "country": "Belgium" + }, + "p": "653,16573,516450,711,278,180,120,-3048,260,-98,278,177,40,-1006,82,-33,278,172,40,-965,79,-39,277,171,31,-754,62,-17,278,163,40,-898,73,-16,277,150,41,-858,-1,-27,263,145,40,-820,-56,-27,264,142,39,-803,-56,-30,264,143,41,-838,-59,-29,263,142,40,-807,-58,-27,263,141,40,-809,-59,-27,263,139,71,-1416,-105,-47,263,136,40,-775,-57,-24,263,134,41,-770,-57,-12,263,134,39,-731,-141,0,241,134,40,-667,-234,0,240,134,40,-668,-234,0,241,131,41,-728,-23,-22,292,129,39,-690,148,-8,271,130,41,-749,-35,0,265,129,39,-739,-41,0,265,129,40,-731,-43,0,265,128,40,-732,-42,0,265,128,41,-743,-44,-5,264,128,50,-922,-63,-11,264,126,41,-705,-50,-8,263,113,40,-606,-44,-7,263,102,31,-450,-35,-4,262,101,40,-587,-46,-6,263,102,40,-582,-45,-4,263,102,40,-420,-209,-5,189,105,40,101,-359,-6,136,105,40,504,-189,-10,101,99,40,549,-10,-27,90,92,40,513,2,-17,90,88" + }, + { + "k": "48c2a6", + "m": { + "kind": "aircraft", + "layer": "flights", + "callsign": "RYR9GA", + "registration": "SP-RZG", + "type": "B38M", + "squawk": "3410", + "country": "Poland" + }, + "p": "652,16622,520255,633,73,224,121,3903,493,94,84,233,132,4540,295,95,84,240,121,4234,263,83,83,241,120,4255,333,71,83,242,130,4513,324,74,84,243,120,4240,307,60,83,242,120,4235,27,6,93,243,120,4262,-167,1,94,244,131,4672,-186,1,94,244" + }, + { + "k": "4bb248", + "m": { + "kind": "aircraft", + "layer": "flights", + "callsign": "THY6DL", + "squawk": "3554", + "country": "Turkey" + }, + "p": "653,17241,514761,584,280,196,40,-1121,103,-64,267,197,40,-1030,-210,-55,249,186,40,-982,-232,-47,250,178,40,-727,-392,-7,215,166,40,-537,-456,0,217,156,31,-417,-349,-19,217,155,40,-537,-456,-22,216,156,41,-537,-458,-20,217,154,40,-522,-444,-22,216,154,39,-504,-431,-16,217,149,41,-496,-424,-12,216,143,40,-499,-417,-13,224,147,40,-747,-243,-12,246,148,71,-1419,-299,-19,267,150,40,-856,-36,-2,266,151,40,-850,-40,-12,265,148,40,-831,-42,-9,266,146,40,-835,28,-8,276,146,40,-833,47,0,275,147,41,-838,44,0,274,145,39,-813,37,0,274,144,40,-810,31,1,273,145,40,-833,29,0,273,144,40,-815,25,-2,273,144,40,-809,28,-24,273,138,41,-749,29,-22,274,125,50,-899,41,-39,274,125,41,-695,26,-12,273,115,40,-587,37,-5,299,99,31,-197,229,-3,350,94,40,266,276,-5,46,92,40,374,231,-10,46,92,40,486,124,-19,76,91,40,468,63,-18,78,77,40,418,59,-16,77,76,40,380,53,-15,77,66,40,380,53,-15,78,69" + }, + { + "k": "4cae11", + "m": { + "kind": "aircraft", + "layer": "flights", + "callsign": "ITY221", + "registration": "EI-HLA", + "type": "BCS1", + "squawk": "2213", + "country": "Ireland" + }, + "p": "653,17345,511375,616,106,220,120,3310,-1023,101,118,218,132,3706,-1242,71,118,227,121,3501,-1190,83,118,233,121,3453,-1190,105,119,227,129,3734,-1306,58,119,235,120,3436,-1218,66,119,233,120,3491,-1256,20,119,245" + }, + { + "k": "3009b5", + "m": { + "kind": "aircraft", + "layer": "flights", + "callsign": "DLA4AJ", + "registration": "I-JENG", + "type": "E190", + "squawk": "2202", + "country": "Italy" + }, + "p": "653,18225,512964,777,101,195,120,3328,-467,86,106,205,132,3866,-697,85,106,220,121,3699,-677,77,106,224,120,3676,-688,27,107,224,130,3950,-754,1,107,221,120,3625,-705,1,107,223,120,3623,-720,1,108,223,120,3582,-723,0,108,223,131,3775,-987,0,114,220,132,3748,-1074,2,115,222" + }, + { + "k": "406a93", + "m": { + "kind": "aircraft", + "layer": "flights", + "callsign": "EZY65XP", + "registration": "G-EZWS", + "type": "A320", + "squawk": "6277", + "country": "United Kingdom" + }, + "p": "653,18243,517610,899,264,201,120,-3457,-217,-1,264,199,132,-3792,-250,0,264,201,121,-3508,103,1,281,203,120,-3428,398,-1,280,200,131,-3696,434,0,281,200,121,-3128,1093,-1,315,224,120,-2810,1711,-1,315,227,120,-2805,1714,-31,314,222,129,-2357,2127,-114,328,218,132,-2413,1967,-140,315,200,40,-835,503,-42,315,197,40,-814,496,-39,315,194,40,-843,462,-43,309,189,40,-861,403,-39,304,183,40,-947,315,-47,298,183,40,-966,304,-43,297,179,40,-949,294,-24,298,178" + }, + { + "k": "aaa6dd", + "m": { + "kind": "aircraft", + "layer": "flights", + "callsign": "AAL49", + "registration": "N786AN", + "type": "B772", + "squawk": "5460" + }, + "p": "653,19324,504187,767,337,245,120,-2148,2261,71,326,248,132,-2645,2426,60,325,249,121,-2474,2210,0,324,248,120,-2493,2195,0,324,252,130,-2752,2387,-1,324,252,121,-2541,2195,0,327,250,121,-2405,2301,0,327,252,120,-2391,2277,-1,327,251,129,-2583,2432,-1,327,250,132,-2671,2484,0,327,252,121,-2490,2287,0,327,255,121,-2563,2323,-1,326,256" + }, + { + "k": "3c65c4", + "m": { + "kind": "aircraft", + "layer": "flights", + "callsign": "DLH7HH", + "registration": "D-AIND", + "type": "A20N", + "squawk": "2014", + "country": "Germany" + }, + "p": "653,19756,511085,837,103,232,120,3967,-583,80,103,239,132,4364,-657,80,104,243,121,4114,-637,69,104,243,120,4007,-637,58,104,243,130,4348,-708,52,105,241,120,3957,-660,5,105,243,120,3926,-669,-1,105,238,121,3900,-681,3,105,240" + }, + { + "k": "4aca8f", + "m": { + "kind": "aircraft", + "layer": "flights", + "callsign": "NSZ51M", + "registration": "SE-RTO", + "type": "B38M", + "squawk": "6201", + "country": "Sweden" + }, + "p": "653,19888,520096,710,214,194,120,-1830,-1696,-81,214,184,40,-587,-549,-29,214,182,40,-577,-538,-31,214,179,31,-442,-414,-23,214,177,40,-565,-533,-32,213,175,41,-560,-524,-32,214,171,40,-545,-516,-30,213,171,39,-528,-502,-25,213,171,41,-563,-500,-12,217,162,39,-539,-438,-13,218,152,41,-546,-428,-19,219,152,71,-957,-757,-23,218,150,40,-525,-426,-10,218,150,40,-521,-429,0,217,148,40,-510,-413,-19,218,145,40,-651,-330,-21,239,149,40,-739,-271,-21,249,151,41,-843,-131,-21,256,150,39,-812,-128,-19,256,149,40,-824,-129,-10,256,148,40,-819,-126,-10,256,147,40,-763,-124,-4,256,131,40,-724,-23,1,284,130,41,-727,117,0,284,129,50,-889,146,0,285,128,41,-720,111,0,276,127,40,-628,-206,0,229,131,31,-439,-236,0,239,130,40,-720,-93,0,262,127,40,-720,-49,-3,267,126,40,-713,-23,-22,267,125,40,-705,-19,-20,268,122,40,-699,-1,-22,277,122,40,-680,61,-15,278,122,40,-676,65,-9,288,119" + }, + { + "k": "43eaad", + "m": { + "kind": "aircraft", + "layer": "flights", + "callsign": "MATTI", + "registration": "M-ATTI", + "type": "TBM9", + "squawk": "4147", + "country": "United Kingdom" + }, + "p": "653,20596,516723,559,285,156,40,-862,148,-48,285,154,40,-845,143,-51,285,150,40,-835,140,-52,285,145,40,-781,128,-52,279,138,40,-767,-51,-45,262,128,31,-568,-50,-31,256,131,40,-689,-178,-30,247,126,41,-671,-180,-21,247,121,40,-638,-170,-6,246,122,40,-657,-180,-18,246,126,40,-658,-185,-17,245,121,40,-631,-180,0,245,123,40,-668,-179,0,250,130,71,-1281,-293,0,250,131,40,-701,-161,0,250,131,40,-710,-165,0,250,131,40,-704,-159,-9,250,126,40,-689,-105,-21,261,124,40,-720,-74,-19,260,129,41,-737,-79,-12,260,124,39,-676,-69,0,261,115,40,-623,-61,0,261,109,40,-652,-65,-10,261,118,40,-628,-59,-20,262,109,41,-624,-58,-1,261,114,40,-643,-68,-5,260,104,50,-676,-82,-5,251,96,41,-285,-265,-13,202,91,40,-195,-262,-18,205,67,31,-126,-163,-9,205,62,40,-147,-192,-14,205,58,40,-134,-174,-11,206,47" + }, + { + "k": "44c06a", + "m": { + "kind": "aircraft", + "layer": "flights", + "callsign": "PGC62E", + "registration": "OO-PCJ", + "type": "PC12", + "squawk": "1000" + }, + "p": "653,21616,507997,315,132,82,40,354,-199,32,132,82,40,343,-194,29,132,83,40,354,-202,29,132,83,40,355,-202,29,132,85,40,363,-207,26,132,88,31,288,-164,21,132,89,40,377,-216,28,132,90,41,370,-222,31,142,85,40,278,-255,22,145,88,39,283,-264,25,146,91,121,841,-827,68,162,90,131,570,-1093,34,162,108,121,627,-1199,0,162,124" + }, + { + "k": "3c55c7", + "m": { + "kind": "aircraft", + "layer": "flights", + "callsign": "EWG92N", + "registration": "D-AENG", + "type": "A20N", + "squawk": "0545", + "country": "Germany" + }, + "p": "653,22434,522296,1068,73,244,120,4110,745,54,74,245,132,4561,806,48,74,245,121,4226,731,7,74,246,120,4182,704,3,75,246,130,4543,747,-2,75,244,120,4166,666,0,75,243,120,4174,654,1,75,244" + }, + { + "k": "471d6a", + "m": { + "kind": "aircraft", + "layer": "flights", + "callsign": "WZZ6MG", + "registration": "HA-LDQ", + "type": "A21N", + "squawk": "3434", + "country": "Hungary" + }, + "p": "653,24188,511527,976,122,233,120,3471,-1321,44,112,242,132,4465,-651,32,102,243,121,4002,-720,3,107,244,120,3933,-772,-1,107,242,130,4328,-695,1,102,242,120,3996,-547,-1,102,240,120,3984,-562,2,103,242" + }, + { + "k": "471f65", + "m": { + "kind": "aircraft", + "layer": "flights", + "callsign": "WZZ55", + "registration": "HA-LXD", + "type": "A321", + "squawk": "3402", + "country": "Hungary" + }, + "p": "653,24560,510634,896,84,231,120,3956,255,60,84,235,132,4435,-317,14,98,242,122,4162,-409,57,103,241,138,4645,-712,28,104,245,131,4417,-701,0,104,244,120,4037,-624,1,102,244,120,4075,-556,0,102,246" + }, + { + "k": "44cdd1", + "m": { + "kind": "aircraft", + "layer": "flights", + "callsign": "BEL5UB", + "registration": "OO-SNQ", + "type": "A320", + "squawk": "4414", + "country": "Belgium" + }, + "p": "653,25341,513489,880,283,226,120,-3879,531,63,282,231,132,-4214,547,79,282,228,121,-3922,493,-1,281,230,120,-3875,524,1,291,232,130,-3719,1426,-2,302,232,120,-3423,1339,0,302,233,120,-3469,1285,-1,296,232,120,-3627,1112,-15,296,230,131,-3195,1786,-100,329,223,132,-2235,2195,-155,327,212,121,-2287,1671,-122,311,195,39,-845,457,-42,312,191,40,-907,388,-43,302,186,40,-923,347,-43,302,183,40,-916,333,-38,300,178" + }, + { + "k": "4ca761", + "m": { + "kind": "aircraft", + "layer": "flights", + "callsign": "RYR59QZ", + "registration": "EI-EFF", + "type": "B738", + "squawk": "4632", + "country": "Ireland" + }, + "p": "653,26793,528535,1080,97,245,120,4288,-337,32,97,243,132,4715,-385,0,98,243,121,4279,-369,1,98,240,120,4209,-370,0,96,240,130,4648,313,0,80,246,120,4342,418,1,81,248" + }, + { + "k": "484186", + "m": { + "kind": "aircraft", + "layer": "flights", + "callsign": "TRA38B", + "registration": "PH-HZL", + "type": "B738", + "squawk": "1000" + }, + "p": "653,27005,502376,969,31,249,120,2133,2266,-59,31,250,132,2349,2474,-34,31,235,121,2051,2127,-123,31,220,120,1942,1998,-63,32,215,130,1764,2193,-83,24,207,40,473,667,-38,24,203,40,472,664,-39,24,198,40,457,642,-37,24,194,40,444,625,-35,24,189,41,445,621,-34,24,184,39,422,585,-32,24,180,40,418,577,-33,24,175,40,414,572,-33,24,172,40,317,586,-33,18,171,40,293,571,-21,18,164,41,290,558,-26,18,160,51,363,690,-37,18,159,40,294,546,-32,19,158,40,293,536,-29,18,157,31,224,417,-21,18,156,40,290,533,-29,18,156,40,274,537,-27,17,154,40,249,510,-6,21,145,40,443,426,-1,33,139,40,461,420,1,34,142,40,594,321,0,56,134,40,692,115,-1,84,115" + }, + { + "k": "3c654e", + "m": { + "kind": "aircraft", + "layer": "flights", + "callsign": "LHX942", + "registration": "D-AIJN", + "type": "A20N", + "squawk": "2507", + "country": "Germany" + }, + "p": "653,27164,513954,1149,280,226,122,-3843,413,-1,280,223,130,-4127,428,-3,279,223,121,-3847,387,2,279,225,120,-3828,372,-1,279,224,131,-4147,387,-1,278,223,121,-3826,447,0,296,227,120,-3100,1549,-1,310,229,120,-3058,1564,-11,309,229,129,-3260,1649,-106,309,218,132,-2922,1682,-116,328,201,121,-1901,1864,-149,328,203,121,-2050,1685,-96,313,177" + }, + { + "k": "3c65a3", + "m": { + "kind": "aircraft", + "layer": "flights", + "callsign": "DLH415", + "registration": "D-AIMC", + "type": "A388", + "squawk": "3472", + "country": "Germany" + }, + "p": "652,28511,510473,1178,105,256,121,4238,-708,1,105,256,132,4636,-795,1,105,255,121,4235,-743,0,106,255,120,4181,-753,0,106,257,130,4516,-832,2,106,256,120,4174,-787,1,107,257" + }, + { + "k": "4d23f9", + "m": { + "kind": "aircraft", + "layer": "flights", + "callsign": "RYR28TV", + "registration": "9H-QEQ", + "type": "B738", + "squawk": "0540", + "country": "Malta" + }, + "p": "653,30427,524098,1177,122,237,120,3508,-1368,0,123,237,132,3839,-1513,0,123,236,121,3489,-1400,1,123,234,120,3392,-1379,1,124,234,130,3681,-1514,0,124,235,121,3387,-1417,1,124,236,121,3409,-1441,1,124,236" + }, + { + "k": "3c65d7", + "m": { + "kind": "aircraft", + "layer": "flights", + "callsign": "DLH7MA", + "registration": "D-AINW", + "type": "A20N", + "squawk": "6666", + "country": "Germany" + }, + "p": "653,30684,514460,1148,289,220,120,-3610,769,0,289,221,132,-3922,819,-118,288,214,122,-3411,699,-107,288,194,138,-3633,700,-155,278,180,131,-3258,-182,-183,264,165,41,-965,-66,-44,264,166,39,-934,-62,-37,264,162,40,-937,-65,-39,264,164,40,-940,-63,-28,264,162,40,-931,-65,-21,264,162,40,-924,-64,-30,264,159,40,-888,-64,-25,263,153,41,-874,-63,-20,263,146,39,-797,-58,-21,263,140,40,-788,-58,-20,263,136,41,-788,-58,-20,263,135,30,-589,-45,-16,263,134,41,-781,-58,-6,263,134,40,-636,-222,0,205,133,31,71,-340,0,147,129,40,667,-121,0,82,126,40,722,51,0,84,126,40,647,160,0,39,128,40,-53,436,0,319,133,40,-717,82,0,262,132,40,-764,-54,0,264,134,40,-599,-257,0,199,133" + }, + { + "k": "44f684", + "m": { + "kind": "military", + "layer": "military", + "callsign": "BAF641", + "registration": "CT-04", + "type": "A400", + "squawk": "5170", + "military": true + }, + "p": "649,31496,502956,671,0,0,122,2408,1797,-1,40,112,60,1168,875,-74,40,109,49,932,703,-63,40,109,42,773,583,-55,40,103,42,727,567,-31,39,95,40,627,490,-39,40,88,38,600,466,-38,40,90,41,634,483,-44,40,86,30,418,334,-26,38,85,30,487,333,-36,48,86,39,714,336,-41,55,80,50,876,436,-55,52,84,43,797,361,-26,61,75,41,737,131,-18,74,66,38,598,144,-18,69,57,40,616,132,-2,71,58,41,590,35,0,93,50,40,384,-199,0,162,50,40,87,-257,0,194,42,39,-111,-259,-6,198,40,40,-94,-236,-14,194,30,40,-91,-222,-14,194,33,42,-104,-249,-14,195,36,39,-87,-205,-14,196,29,46,-100,-258,-17,193,33" + }, + { + "k": "345691", + "m": { + "kind": "aircraft", + "layer": "flights", + "callsign": "IBE07WM", + "registration": "EC-MXU", + "type": "A20N", + "squawk": "3370" + }, + "p": "653,31597,506970,900,44,229,120,2726,1784,0,44,231,132,3024,1955,0,44,230,121,2807,1793,0,45,230,120,2631,1852,0,36,233,130,2518,2171,0,35,228,120,2416,1929,1,48,228,120,2922,1634,0,48,224,121,2924,1615,1,48,223" + }, + { + "k": "400879", + "m": { + "kind": "aircraft", + "layer": "flights", + "callsign": "BAW926C", + "registration": "G-EUPJ", + "type": "A319", + "squawk": "4766", + "country": "United Kingdom" + }, + "p": "653,32008,510239,1110,106,245,120,3955,-701,5,106,242,132,4361,-786,1,106,242,121,3982,-737,-2,106,241,121,3904,-735,3,107,238,129,4178,-807,-1,107,238" + }, + { + "k": "c058dd", + "m": { + "kind": "aircraft", + "layer": "flights", + "callsign": "ACA808", + "registration": "C-GHQY", + "type": "B788", + "squawk": "6252", + "country": "Canada" + }, + "p": "653,33166,524106,453,74,196,40,1096,197,-60,74,191,40,1024,184,-46,74,176,40,972,172,-35,74,163,40,847,149,-11,74,145,40,840,145,-15,74,149,31,654,114,-19,74,148,40,850,147,-26,77,147,41,779,-96,-9,111,130,40,707,-170,-3,112,129,39,695,-170,-16,112,127,41,704,-173,-27,112,129,40,744,-112,-25,80,135,40,584,339,-34,30,148,71,772,823,-42,29,141,40,528,336,-15,76,121,40,674,27,-5,88,114,40,667,16,0,88,113,41,569,-88,1,143,89,39,232,-279,-1,155,88,41,170,-293,0,177,85,40,-22,-302,1,183,82,39,-27,-275,-1,183,74,40,-23,-260,-4,184,69,41,-22,-240,-14,183,65,39,-20,-222,-13,183,63,41,-22,-238,-14,183,67,49,-26,-300,-15,183,69,41,-14,-150,-5,180,26,41,10,-55,0,132,10,111,71,-39,0,132,10,80,79,-29,0,138,10,40,43,-30,0,138,12,40,38,-27,0,138,10,40,5,-39,0,183,12" + }, + { + "k": "34324e", + "m": { + "kind": "aircraft", + "layer": "flights", + "callsign": "IBE07AP", + "registration": "EC-KUB", + "type": "A319", + "squawk": "1000" + }, + "p": "653,33984,509865,732,33,228,120,1910,2067,-109,25,229,40,553,749,-36,25,226,40,545,729,-38,25,224,31,420,563,-26,25,219,40,532,713,-23,25,218,41,542,718,-21,25,217,40,524,699,-35,25,213,39,506,670,-36,25,207,41,514,673,-37,26,202,40,501,654,-39,25,198,39,470,612,-22,25,182,72,806,965,-36,10,165,40,158,578,-25,10,162,41,165,578,-18,10,162,39,166,564,-18,10,160,40,166,566,-18,10,157,40,263,535,-18,24,157,41,371,520,-19,24,154,39,353,499,-18,24,154,40,366,509,-18,24,155,40,359,516,-18,23,155,40,353,515,-17,22,154,40,465,423,-10,48,135,41,626,273,-10,80,119,50,843,40,-3,86,115,41,593,-88,1,144,94,40,222,-279,0,176,83,31,-12,-223,1,183,78,40,-24,-282,0,182,76,40,-26,-241,0,183,65,40,-19,-231,-10,184,63,40,-23,-230,-13,184,64,40,-19,-227,-14,182,64,40,-22,-235,-14,184,65,30,-16,-172,-10,184,65,31,-12,-142,-5,183,34" + }, + { + "k": "4bb154", + "m": { + "kind": "aircraft", + "layer": "flights", + "callsign": "THY6605", + "registration": "TC-LJT", + "type": "B77L", + "squawk": "6255", + "country": "Turkey" + }, + "p": "653,34405,509722,630,104,192,62,1643,-263,-31,104,189,38,984,-158,-18,104,188,40,1028,-167,-20,104,188,40,1023,-168,-20,105,186,51,1311,-214,-25,105,186,40,1027,-171,-6,105,186,41,1011,-168,0,105,181,40,997,-167,-2,105,185,39,1001,-169,-20,105,182,41,1006,-169,-20,105,182,40,978,-167,-19,105,178,40,985,-124,-21,95,177,71,1805,9,-30,89,177,40,1004,14,-15,89,178,40,992,12,-18,89,174,40,985,12,-32,89,172,40,967,11,-24,89,166,40,890,10,-10,89,154,41,880,139,-25,67,160,39,809,209,-26,68,156" + }, + { + "k": "48455d", + "m": { + "kind": "aircraft", + "layer": "flights", + "callsign": "KLM12B", + "registration": "PH-BGF", + "type": "B737", + "squawk": "1000" + }, + "p": "653,34710,507850,719,15,222,120,958,2315,0,15,222,132,896,2558,-28,2,220,80,851,1473,-100,26,215,39,530,673,-42,26,208,41,526,674,-48,26,205,40,523,661,-49,26,203,40,500,632,-38,26,196,39,492,616,-41,27,190,52,614,770,-35,26,176,40,345,573,-19,9,167,40,164,591,-32,10,166,40,164,585,-28,10,163,40,163,569,-22,10,160,40,251,546,-20,24,159,41,386,530,-20,24,159,39,374,512,-20,24,158,40,371,512,-20,24,156,40,373,514,-19,24,154,40,374,508,-19,24,157,40,371,514,-18,23,155,41,359,516,-17,23,154,50,426,639,-20,22,151,41,401,470,1,48,133,40,670,88,0,86,114,31,516,21,0,86,112,40,612,-14,1,118,95,40,270,-267,0,153,88,40,87,-305,-1,181,86,40,-30,-307,1,182,86,40,-27,-287,0,183,76,40,-26,-271,-10,184,72,40,-22,-229,-16,185,58" + }, + { + "k": "4ca97c", + "m": { + "kind": "aircraft", + "layer": "flights", + "callsign": "RUK65MT", + "registration": "EI-ESV", + "type": "B738", + "squawk": "0521", + "country": "Ireland" + }, + "p": "653,34791,509841,1117,108,244,120,3970,-814,0,108,244,132,4327,-909,1,109,243,121,3962,-851,1,109,242,120,3861,-841,0,109,241,130,4170,-929,2,110,242" + }, + { + "k": "484416", + "m": { + "kind": "aircraft", + "layer": "flights", + "callsign": "KLM743", + "registration": "PH-BQM", + "type": "B772", + "squawk": "2107", + "country": "Kingdom of the Netherlands" + }, + "p": "653,35342,519555,540,245,196,40,-1043,-305,32,245,198,120,-3355,-618,80,266,210,132,-4038,-269,78,263,216,120,-3810,-283,56,262,225,120,-3914,-328,55,262,231,131,-4402,-383,54,262,236,120,-4074,-370,45,262,238,121,-4084,-440,19,257,239,121,-4083,-613,-1,256,239,130,-4365,-673,0,256,241,131,-4410,-698,0,256,243,120,-4015,-652,0,255,239,120,-3988,-664,0,255,240" + }, + { + "k": "06a2f5", + "m": { + "kind": "aircraft", + "layer": "flights", + "callsign": "QTR64P", + "registration": "A7-BHR", + "type": "B789", + "squawk": "7304", + "country": "Qatar" + }, + "p": "653,35392,522761,1116,114,256,120,4104,-1146,0,115,259,132,4487,-1276,1,115,258,122,3990,-1318,1,120,254,138,4413,-1578,1,120,256" + }, + { + "k": "471d70", + "m": { + "kind": "aircraft", + "layer": "flights", + "callsign": "WZZ298", + "squawk": "3471", + "country": "Hungary" + }, + "p": "653,35413,520337,988,110,227,120,3728,-843,2,110,227,132,4091,-949,1,111,229,121,3746,-884,0,111,227,120,3656,-876,0,111,225,130,3925,-957,0,112,225" + }, + { + "k": "3c65d2", + "m": { + "kind": "aircraft", + "layer": "flights", + "callsign": "DLH8YH", + "registration": "D-AINR", + "type": "A20N", + "squawk": "0613", + "country": "Germany" + }, + "p": "653,36172,516665,1148,282,226,120,-3881,87,-1,270,225,132,-4326,9,1,270,227,121,-3975,-8,0,270,225,120,-3873,-20,-3,269,224,130,-4238,-34,1,269,228,120,-3972,-43,1,272,230,120,-3679,912,-2,296,229,121,-3569,1074,-1,296,228,130,-3892,1152,1,296,228,132,-3863,1239,-39,311,230,121,-2906,1758,-83,315,232,121,-2960,1779,-90,314,234" + }, + { + "k": "484cc3", + "m": { + "kind": "aircraft", + "layer": "flights", + "callsign": "KLM9935", + "registration": "PH-EZS", + "type": "E190", + "squawk": "1164", + "country": "Kingdom of the Netherlands" + }, + "p": "653,36973,524821,366,75,167,40,935,151,-47,75,162,39,870,140,-26,75,149,41,857,114,-29,90,143,40,763,-147,-26,112,137,40,743,-182,-21,112,135,31,622,27,-15,62,150,40,766,285,-21,58,147,41,734,281,-29,58,146,40,740,273,-30,59,146,39,784,126,-30,86,139,41,800,45,-21,85,132,40,771,43,-5,85,128,40,544,-128,-1,148,95,71,384,-554,0,188,90,40,-44,-326,0,183,91,40,-31,-295,0,184,72,40,-19,-232,-10,183,63,40,-20,-239,-12,184,64,40,-18,-203,-15,183,56,41,-19,-214,-11,185,61,39,-21,-213,-12,183,61,39,-14,-163,0,183,37,41,21,-78,-5,165,18,39,67,-44,0,165,17,41,82,-33,0,141,17,41,66,-46,0,140,16,51,5,-73,0,183,16,39,-5,-57,0,183,17,40,-6,-61,0,183,16,31,33,-27,0,87,16,40,56,41,0,62,12,38,65,-29,0,132,17,43,88,-4,0,59,16" + }, + { + "k": "480c26", + "m": { + "kind": "military", + "layer": "military", + "callsign": "DIAMO10", + "registration": "L-06", + "type": "PC7", + "squawk": "3710", + "military": true + }, + "p": "652,37234,515893,305,85,61,40,33,-311,2,199,66,39,-639,12,-43,287,68,41,422,496,-48,43,110,40,243,255,-36,31,33,38,-471,-97,-39,238,75,31,75,-85,-33,221,42,42,1041,8,-28,94,76,45,844,-177,-21,105,94,35,6,-108,0,105,94,61,737,3,1,0,0,41,520,1,-1,0,0,37,478,-13,-1,0,0,39,469,-14,1,94,43,46,572,-48,-2,100,44,48,629,-84,8,104,47,33,156,-166,-6,153,37,35,9,-233,-3,189,46,31,308,65,2,110,14,40,719,-56,-2,99,53,40,473,-144,3,116,52,40,380,-115,-3,116,41,40,245,-217,0,151,40,40,-245,-257,0,218,50,41,-679,-77,4,259,68,36,-330,-4,-3,297,40,32,200,209,4,35,62,33,587,47,-5,80,76,44,323,-185,-19,134,54" + }, + { + "k": "ae144c", + "m": { + "kind": "military", + "layer": "military", + "callsign": "RCH471", + "registration": "05-5142", + "type": "C17", + "squawk": "1162", + "military": true + }, + "p": "651,37803,521271,1127,113,237,120,3780,-1024,1,114,235,132,4144,-1143,-25,114,230,120,3741,-1042,-40,114,235,121,3690,-1050,-57,114,227" + }, + { + "k": "aa6ccb", + "m": { + "kind": "aircraft", + "layer": "flights", + "callsign": "AAL705", + "registration": "N771AN", + "type": "B772", + "squawk": "2550", + "country": "United States" + }, + "p": "653,38271,528766,1020,319,255,120,-1847,2451,0,350,259,132,-871,3028,0,351,260" + }, + { + "k": "3c4ad8", + "m": { + "kind": "aircraft", + "layer": "flights", + "callsign": "DLH493", + "registration": "D-ABVX", + "type": "B744", + "squawk": "2245", + "country": "Germany" + }, + "p": "653,38285,522645,1176,114,257,120,4099,-1156,1,115,258,132,4501,-1293,0,115,259,121,4129,-1207,1,116,259,120,4094,-1219,-36,116,259" + }, + { + "k": "407600", + "m": { + "kind": "aircraft", + "layer": "flights", + "callsign": "BAW429", + "registration": "G-NEOP", + "type": "A21N", + "squawk": "6275" + }, + "p": "653,39654,520754,567,246,180,120,-2950,-833,136,245,191,132,-3379,-964,16,245,196,121,-3282,-570,-1,264,196,120,-3400,-228,-1,264,199,130,-3705,-259,0,263,199,121,-3453,-214,0,265,200,121,-3496,-216,-27,264,197,118,-3275,-212,-96,264,189,40,-1082,-73,-41,264,185,41,-1074,-72,-41,264,183,50,-1326,-93,-49,264,182,41,-1039,-70,-35,264,179,40,-988,-70,-18,264,165,31,-722,-52,-21,263,161,40,-922,-67,-29,263,156,40,-862,-62,-19,263,146,40,-826,-61,-24,263,142,40,-812,-61,-18,263,142,40,-817,-60,-9,263,142,40,-804,-68,-1,256,140,40,-447,-368,0,181,135" + }, + { + "k": "a6745a", + "m": { + "kind": "aircraft", + "layer": "flights", + "callsign": "DAL161", + "registration": "N515DN", + "type": "A359", + "squawk": "2126" + }, + "p": "653,39692,527433,515,318,211,39,-844,571,30,318,217,41,-883,596,26,318,223,120,-2445,1934,95,333,232,132,-1604,2619,93,341,238,121,-1437,2478,68,341,245" + }, + { + "k": "4cac87", + "m": { + "kind": "aircraft", + "layer": "flights", + "callsign": "RYR63PD", + "registration": "EI-IFP", + "type": "B38M", + "squawk": "7307", + "country": "Ireland" + }, + "p": "653,39981,508122,1118,111,244,120,3893,-937,1,107,246,132,4367,-851,0,107,244,120,3926,-794,1,108,244" + }, + { + "k": "8991b4", + "m": { + "kind": "aircraft", + "layer": "flights", + "callsign": "CAL077", + "registration": "B-18306", + "type": "A333", + "squawk": "3116" + }, + "p": "653,40171,511106,1151,287,237,120,-3876,759,-1,287,237,132,-4298,821,-1,287,239,121,-3990,748,-1,287,240,120,-4016,524,0,281,238,130,-4379,434,0,278,238,120,-4075,355,-1,278,239,120,-4081,340,0,277,239,120,-4048,433,-1,280,238,131,-4440,461,0,279,237,132,-4454,446,0,279,237,121,-4063,389,0,279,236,121,-4092,378,0,278,237" + }, + { + "k": "ae0574", + "m": { + "kind": "military", + "layer": "military", + "callsign": "RCH2020", + "registration": "86-0023", + "type": "C5M", + "squawk": "5233", + "military": true + }, + "p": "651,40327,521869,1006,116,226,121,3621,-1071,1,116,228,132,4080,-1036,-1,111,230,122,3891,-692,0,102,230" + }, + { + "k": "480c2a", + "m": { + "kind": "military", + "layer": "military", + "callsign": "STICK18", + "registration": "L-10", + "type": "PC7", + "squawk": "3720", + "military": true + }, + "p": "652,40923,514502,73,134,81,39,256,-99,-13,142,34,40,538,28,3,81,46,40,529,43,-2,76,50,39,480,27,-1,83,45,42,446,44,1,80,37,31,278,65,2,68,32,37,287,94,-12,58,29,34,158,-43,-24,116,16" + }, + { + "k": "3c5b32", + "m": { + "kind": "aircraft", + "layer": "flights", + "callsign": "OCN874", + "registration": "D-AFYR", + "type": "A333", + "squawk": "2006", + "country": "Germany" + }, + "p": "653,41084,508774,1213,101,253,120,4206,-506,-94,101,251,132,4387,-599,-110,110,229,121,3701,-857,-27,110,236" + }, + { + "k": "020145", + "m": { + "kind": "aircraft", + "layer": "flights", + "callsign": "@@@@@@@@", + "registration": "CN-NMO", + "type": "A320", + "squawk": "1000", + "country": "Morocco" + }, + "p": "653,41239,519022,300,27,170,40,601,458,-10,42,165,40,636,441,-10,42,164,40,639,437,-9,42,165,40,522,482,-12,14,167,40,44,593,-17,1,163,31,20,451,-17,1,160,40,32,582,-20,5,161,41,224,562,-27,15,157,40,238,543,-29,15,157,39,247,547,-24,16,159,41,260,548,-21,16,156,40,240,539,-19,15,156,40,234,543,-11,16,155,71,1220,343,-8,88,131,41,548,-203,2,153,101,39,255,-318,-1,154,98,40,65,-343,-1,183,94,40,-26,-298,0,183,79,40,-23,-265,2,183,66,41,-23,-242,-14,183,66,39,-22,-239,-14,184,67,40,-21,-237,-13,183,66,40,-22,-240,-15,183,67,36,-19,-209,-7,183,48,44,-2,-118,-5,183,16,41,15,-44,0,183,12,50,49,-37,0,132,12,40,49,-14,0,93,9,41,44,-23,0,141,12,31,39,-28,0,141,13,41,43,-33,0,155,10,39,-2,-41,0,183,14,40,-4,-52,0,183,14,40,-5,-50,0,183,14,40,-4,-49,0,183,13,39,34,-17,0,87,10" + }, + { + "k": "44cdc2", + "m": { + "kind": "aircraft", + "layer": "flights", + "callsign": "BEL8WD", + "registration": "OO-SNB", + "type": "A320", + "squawk": "1000" + }, + "p": "653,42562,506250,434,232,152,39,-716,-349,26,233,169,41,-598,-474,46,212,171,40,-511,-525,41,212,176,40,-531,-542,39,212,181,132,-1871,-1860,123,213,191" + }, + { + "k": "4bce61", + "m": { + "kind": "aircraft", + "layer": "flights", + "callsign": "KOC22", + "registration": "TC-SSA", + "type": "FA8X", + "squawk": "3406", + "ladd": true, + "country": "Turkey" + }, + "p": "653,42896,525779,176,77,130,40,728,105,-16,76,125,40,710,47,-15,87,120,40,724,32,-16,85,124,40,719,34,2,86,122,40,722,35,-20,85,123,31,548,5,-14,111,113,40,384,-284,-2,148,100,41,175,-326,0,186,96,40,-41,-343,0,183,89,39,-28,-285,-4,183,75,41,-24,-267,-12,183,74,40,-24,-252,-16,183,67,40,-22,-232,-14,184,62,71,-33,-367,-22,182,56,40,-19,-207,-12,184,60,40,-20,-223,-10,184,59,39,10,-93,-5,183,11,200,78,-17,0,87,11,465,315,-5,0,79,11,39,46,2,0,87,13,40,86,3,0,87,13,57,75,-25,0,132,10" + }, + { + "k": "4ca813", + "m": { + "kind": "aircraft", + "layer": "flights", + "callsign": "RYR7FE", + "registration": "EI-EKT", + "type": "B738", + "squawk": "4422" + }, + "p": "653,42937,509704,251,314,134,40,-671,286,31,290,147,40,-830,200,36,291,166,40,-926,228,44,291,178,40,-954,234,61,291,180,40,-968,237,58,291,185,31,-779,189,35,291,192,40,-1062,257,43,291,202,120,-3338,802,143,291,211,121,-3486,823,103,291,224,131,-4095,753,100,278,228,120,-3854,355,93,279,224,120,-3821,356,67,278,227,120,-3861,342,62,278,225,132,-4245,361,17,278,228,131,-4277,346,0,277,228,120,-3897,301,-1,277,227,120,-3870,290,0,277,225" + }, + { + "k": "407a3a", + "m": { + "kind": "helicopter", + "layer": "flights", + "callsign": "NHZ02B", + "registration": "G-NHVC", + "type": "A139", + "squawk": "4302", + "helicopter": true + }, + "p": "653,42949,530290,82,94,68,39,391,-13,-15,93,66,41,365,-54,-1,110,60,40,352,-57,-1,102,61,40,359,-46,1,101,63,40,361,-45,0,101,62,30,269,-35,0,102,62,41,367,-46,0,103,62,41,370,-47,0,102,62,39,360,-46,0,102,62,41,353,-45,-10,100,61,40,349,-45,-16,102,58,40,346,-45,-4,102,61,40,360,-38,-1,97,62,71,500,-70,-1,163,38,40,21,-136,-10,189,40,40,-95,-128,-8,211,39,40,-116,-109,-8,213,30,34,-56,-51,-3,221,10" + }, + { + "k": "4ca894", + "m": { + "kind": "aircraft", + "layer": "flights", + "callsign": "RYR47HU", + "registration": "EI-ENH", + "type": "B738", + "squawk": "7346" + }, + "p": "653,43237,523798,367,304,192,40,-998,412,32,304,212,40,-1031,425,63,304,213,40,-1055,432,47,304,220,40,-1104,451,47,304,226,132,-3787,1532,135,303,242,120,-3513,1623,105,311,252,120,-3957,1187,86,281,256,131,-4744,473,45,278,241,120,-4239,376,8,282,240,120,-4211,566,21,283,241,120,-4198,554,0,282,239,132,-4595,591,-1,282,239,131,-4629,534,0,276,239,120,-4255,252,-1,276,238,120,-4265,231,-1,275,237" + }, + { + "k": "4ba953", + "m": { + "kind": "aircraft", + "layer": "flights", + "callsign": "THY6", + "registration": "TC-JJS", + "type": "B77W", + "squawk": "4626", + "country": "Turkey" + }, + "p": "652,43362,521754,1052,112,253,121,4124,-1029,1,112,253,132,4475,-1139,1,113,252" + }, + { + "k": "3c00af", + "m": { + "kind": "aircraft", + "layer": "flights", + "callsign": "KAY51", + "registration": "D-APGS", + "type": "A319", + "squawk": "3443", + "ladd": true, + "country": "Germany" + }, + "p": "653,43406,507358,1054,105,247,120,4036,-681,0,105,246,132,4436,-767,0,105,247,121,4089,-726,1,106,250" + }, + { + "k": "407eec", + "m": { + "kind": "aircraft", + "layer": "flights", + "callsign": "EZY61LP", + "registration": "G-UZLP", + "type": "A20N", + "squawk": "7303", + "country": "United Kingdom" + }, + "p": "653,43412,507767,1119,108,240,120,3862,-802,1,108,235,132,4201,-892,2,109,238,121,3878,-839,0,109,240" + }, + { + "k": "4cadb7", + "m": { + "kind": "aircraft", + "layer": "flights", + "callsign": "RYR86FK", + "registration": "EI-IFW", + "type": "B38M", + "squawk": "7305", + "country": "Ireland" + }, + "p": "653,43522,520200,1116,120,240,120,3638,-1288,0,120,240,132,3960,-1428,1,120,240,120,3547,-1291,1,120,237" + }, + { + "k": "485a32", + "m": { + "kind": "aircraft", + "layer": "flights", + "callsign": "KLM54D", + "registration": "PH-BCG", + "type": "B738", + "squawk": "1000", + "country": "Kingdom of the Netherlands" + }, + "p": "653,43876,523654,117,16,157,40,244,536,-19,15,154,40,234,542,-16,17,155,40,403,489,-9,27,152,40,411,487,-8,27,153,40,539,398,0,66,138,31,577,-17,1,108,125,40,461,-315,-1,148,117,41,365,-352,0,148,114,39,146,-358,0,194,101,40,-32,-320,0,183,81,41,-29,-275,-7,184,76,40,-22,-246,-15,183,64,40,-19,-225,-14,183,63,68,-38,-412,-24,183,71,43,-17,-186,-5,184,30,39,8,-68,0,183,12,41,63,-34,0,132,15,39,57,-16,0,129,11,41,60,-38,0,348,17,41,52,-38,0,138,11,39,5,-43,0,183,13,40,-5,-48,0,183,14,40,-4,-52,0,183,15,39,-4,-44,0,183,12,39,19,-28,0,93,9,41,50,12,0,39,8,87,51,18,0,132,8,46,60,-32,0,129,13,66,62,0,0,59,10,45,71,27,0,59,15,40,71,28,0,59,14" + }, + { + "k": "02012b", + "m": { + "kind": "aircraft", + "layer": "flights", + "callsign": "MAC113R", + "registration": "CN-NML", + "type": "A320", + "squawk": "1000", + "country": "Morocco" + }, + "p": "653,44375,511656,159,29,145,40,404,456,-14,29,144,40,390,449,-10,30,142,40,571,290,-7,68,119,40,414,-131,-5,169,75,40,19,-265,-6,179,75,31,10,-210,-4,174,76,40,8,-268,-6,190,74,41,-112,-267,-7,195,75,40,-109,-259,-2,195,75,39,-104,-257,0,194,71,41,-93,-224,0,195,61,40,-85,-210,0,194,60,40,-88,-213,-1,194,61,71,-157,-380,-22,195,61,40,-91,-223,-13,195,67,40,-94,-234,-15,194,66,40,-94,-227,-14,194,65,41,-93,-230,-15,195,65,39,-90,-219,-9,194,59,81,-52,-62,-9,14,9" + }, + { + "k": "3e369f", + "m": { + "kind": "aircraft", + "layer": "flights", + "callsign": "DGJ567", + "registration": "D-ILWP", + "type": "C25A", + "squawk": "2042", + "country": "Germany" + }, + "p": "653,44393,523204,1179,91,217,120,3819,-64,1,92,217,132,4195,-83,1,92,218" + }, + { + "k": "45ac33", + "m": { + "kind": "aircraft", + "layer": "flights", + "callsign": "SAS66A", + "registration": "OY-KAS", + "type": "A320", + "squawk": "7676", + "country": "Denmark" + }, + "p": "653,44521,513675,294,225,111,39,-449,-273,-22,227,108,41,-445,-260,-15,227,105,40,-226,-309,-19,161,102,40,547,-140,-20,72,124,40,582,240,-14,75,113,31,478,42,-13,83,108,40,615,50,-13,83,106,41,459,-108,-10,159,78,40,110,-270,-10,166,77,39,98,-261,-9,174,74,41,-43,-266,-9,192,74,39,-105,-259,-7,195,75,41,-111,-262,-6,195,74,71,-181,-445,-10,194,71,40,-103,-246,-6,195,72,40,-102,-250,-7,194,72,40,-101,-248,-15,195,70,41,-103,-251,-15,194,74,39,-103,-249,-15,195,71,41,-96,-240,-12,195,69,39,-95,-228,-17,194,66,40,-93,-233,-14,194,66,40,-91,-220,-16,194,44,36,-33,-50,0,194,9,105,-8,43,0,17,10,44,14,34,0,14,9" + }, + { + "k": "4ca9d2", + "m": { + "kind": "aircraft", + "layer": "flights", + "callsign": "RYR8NZ", + "registration": "EI-EVJ", + "type": "B738", + "squawk": "1356" + }, + "p": "653,44690,526787,959,287,228,120,-3876,724,0,287,229,132,-4321,776,-1,287,231,121,-4023,687,-1,283,236,120,-4041,669,0,292,233,130,-4206,1011,-1,292,234,120,-3884,934,0,292,234,120,-3906,945,0,292,235,120,-3985,829,0,283,234,131,-4471,598,-1,283,232,132,-4507,590,0,282,233,120,-4136,364,-1,277,232,120,-4136,287,0,277,231" + }, + { + "k": "44cdcf", + "m": { + "kind": "aircraft", + "layer": "flights", + "callsign": "BEL2NM", + "registration": "OO-SNO", + "type": "A320", + "squawk": "1000" + }, + "p": "653,44940,508766,61,151,65,40,203,-188,48,147,66,39,242,-233,26,145,92,41,366,-326,28,144,124,40,448,-360,34,132,143,40,766,-295,50,119,163,31,626,-225,50,120,166,40,850,-308,57,120,173,41,874,-318,58,120,177,40,878,-321,45,120,185,39,995,-244,49,102,197,41,1100,-143,52,102,198" + }, + { + "k": "02019a", + "m": { + "kind": "aircraft", + "layer": "flights", + "callsign": "AOM334M", + "registration": "CN-TMV", + "type": "LJ45", + "squawk": "2104", + "country": "Morocco" + }, + "p": "653,45045,515853,878,206,204,120,-1555,-2036,107,206,211,132,-1649,-2247,109,205,206,121,-1413,-2027,75,204,202,120,-1316,-1995,62,203,198,131,-1497,-2095,50,209,196,120,-1551,-1872,28,208,198" + }, + { + "k": "4868bc", + "m": { + "kind": "aircraft", + "layer": "flights", + "callsign": "KLM66A", + "registration": "PH-AXN", + "type": "A21N", + "squawk": "1000", + "country": "Kingdom of the Netherlands" + }, + "p": "653,45054,525834,99,58,149,40,789,75,-29,88,130,40,750,21,-5,87,118,40,505,-174,1,149,100,40,184,-317,0,181,87,40,-22,-280,0,183,76,31,-19,-210,0,184,75,40,-23,-249,0,183,65,41,-23,-231,-10,183,60,40,-18,-222,-12,184,64,39,-20,-216,-13,183,61,41,-20,-222,-13,183,62,36,-20,-206,-11,183,65,44,-16,-182,-7,183,29,71,21,-95,0,166,9,39,43,-25,0,132,13,41,53,-17,0,90,9,38,40,-20,0,141,11,42,53,-38,0,138,13,40,36,-34,0,183,12,41,-5,-47,0,183,14,39,-4,-51,0,183,14,39,-5,-49,0,183,14,40,-3,-48,0,166,10,38,51,-2,0,65,12,43,32,33,0,25,9,41,35,-5,0,132,9,50,63,-34,0,132,13,58,57,-1,0,59,10,54,81,31,0,59,13,39,67,25,0,59,14,41,43,28,0,3,10" + }, + { + "k": "4ca911", + "m": { + "kind": "aircraft", + "layer": "flights", + "callsign": "RYR9KG", + "registration": "EI-EPC", + "type": "B738", + "squawk": "1000", + "country": "Ireland" + }, + "p": "653,45083,509283,20,194,70,40,-104,-254,-12,195,65,39,-42,-88,-8,194,11,80,-8,30,0,14,10,41,15,39,0,14,11,112,-19,39,0,335,8,57,-38,18,0,245,9,43,-63,-19,0,245,10" + }, + { + "k": "39856e", + "m": { + "kind": "aircraft", + "layer": "flights", + "callsign": "AFR61VJ", + "registration": "F-HBLO", + "type": "E190", + "squawk": "1000", + "country": "France" + }, + "p": "653,45195,517863,1177,34,258,120,2526,2251,5,35,255,132,2789,2502,0,34,257,121,2618,2308,0,38,256" + }, + { + "k": "4caded", + "m": { + "kind": "aircraft", + "layer": "flights", + "callsign": "ITY156", + "registration": "EI-HOM", + "type": "A20N", + "squawk": "1000", + "country": "Ireland" + }, + "p": "653,45613,510580,96,194,73,40,-104,-255,-11,195,71,40,-103,-249,-16,194,72,40,-100,-244,-15,195,64,40,-80,-199,-12,194,57,40,-86,-209,-13,194,58,31,-63,-156,-9,194,60,40,-87,-213,-20,194,46,141,-75,-20,0,245,8" + }, + { + "k": "4bb567", + "m": { + "kind": "aircraft", + "layer": "flights", + "callsign": "CAI7DJ", + "registration": "TC-MKG", + "type": "B38M", + "squawk": "3247" + }, + "p": "653,45667,518620,1096,277,227,120,-3894,308,-41,277,223,132,-4286,322,-54,277,228,121,-3865,245,-117,268,211,120,-3547,-130,-74,267,199,130,-3670,-147,-86,266,191,121,-3244,-137,-79,266,184,80,-2120,-49,-57,268,183,40,-1039,-25,-28,268,178,39,-1031,-3,-19,279,180,40,-1001,200,-29,283,181,40,-1018,90,-29,278,178,40,-1026,86,-27,278,178,41,-1037,87,-26,278,175,50,-1240,101,-28,278,167,41,-964,78,-22,277,162,40,-923,74,-20,277,160,31,-705,55,-16,277,158,40,-921,72,-24,277,157,40,-907,72,-26,277,158,40,-907,76,-17,278,157,40,-915,82,-16,278,158,40,-911,77,-20,278,156,40,-887,-11,-20,262,149,40,-826,-66,-9,262,139" + }, + { + "k": "46b836", + "m": { + "kind": "aircraft", + "layer": "flights", + "callsign": "AEE2BR", + "registration": "SX-NAV", + "type": "A21N", + "squawk": "1000", + "country": "Greece" + }, + "p": "653,46125,511826,96,194,73,40,-103,-253,0,194,72,40,-107,-256,0,195,73,40,-103,-254,-1,194,73,40,-106,-257,0,194,72,40,-91,-220,0,194,62,31,-68,-166,-4,195,61,40,-89,-216,-14,195,61,41,-90,-222,-14,194,62,40,-93,-230,-13,195,67,39,-87,-208,-14,193,58,41,-82,-204,-12,195,57,40,-86,-211,-13,194,62,40,-84,-216,26,193,55,71,561,53,45,52,114,40,568,272,14,53,134,40,616,289,1,54,135,40,472,377,0,19,141,41,269,483,0,20,141,39,268,473,0,19,142,41,136,494,-1,345,131,39,-436,316,1,307,115,40,-570,64,-1,259,94,40,-395,-177,0,230,85,40,-375,-199,0,226,84,40,-210,-253,0,200,80,41,-121,-265,0,194,73,50,-124,-307,-1,194,64,41,-90,-218,-11,194,61,40,-91,-222,-14,194,66,31,-75,-181,-11,196,67,40,-96,-237,-14,194,68,40,-98,-238,-16,195,71,40,-98,-243,-14,194,71,40,-90,-219,-15,195,41,119,-38,0,0,14,9" + }, + { + "k": "3c55c8", + "m": { + "kind": "aircraft", + "layer": "flights", + "callsign": "EWG7ED", + "registration": "D-AENH", + "type": "A20N", + "squawk": "4631", + "country": "Germany" + }, + "p": "653,46192,522379,1053,82,238,120,4119,330,2,83,236,132,4497,341,-1,83,233" + }, + { + "k": "48c2b1", + "m": { + "kind": "aircraft", + "layer": "flights", + "callsign": "RYR11HY", + "registration": "SP-RZS", + "type": "B38M", + "squawk": "4623", + "country": "Poland" + }, + "p": "653,46489,520209,1116,116,241,120,3743,-1160,1,117,240,132,4084,-1283,1,117,240" + }, + { + "k": "4841a9", + "m": { + "kind": "aircraft", + "layer": "flights", + "callsign": "TRA086", + "registration": "PH-HZW", + "type": "B738", + "squawk": "1000", + "country": "Kingdom of the Netherlands" + }, + "p": "653,46712,519661,81,326,120,40,-386,343,-11,325,110,40,-423,151,-10,238,68,40,-327,-119,-10,240,64,40,-325,-124,-13,236,66,40,-318,-131,-13,236,67,30,-258,-103,-11,238,72,41,-302,-121,-13,236,20,61,-24,-38,0,146,9" + }, + { + "k": "484443", + "m": { + "kind": "aircraft", + "layer": "flights", + "callsign": "KLM787", + "registration": "PH-AOD", + "type": "A332", + "squawk": "2147" + }, + "p": "653,46860,522683,50,222,90,40,-414,-262,19,239,116,40,-675,-143,56,260,123,40,-781,74,41,283,141,40,-822,108,50,282,145,40,-836,103,46,276,147,31,-613,-98,41,243,137,40,-706,-240,48,240,138,41,-722,-260,41,240,144,40,-741,-264,34,240,152,39,-809,-289,18,240,170,41,-900,-319,32,240,178,40,-902,-322,43,240,181,40,-919,-333,38,240,184,131,-3098,-1131,112,239,195,120,-3402,-378,92,262,204,121,-3624,-296,70,262,212,121,-3742,-314,61,262,218,130,-4083,-355,58,262,222,131,-4285,-398,35,258,231,120,-3947,-573,32,257,235,120,-4001,-578,32,257,236" + }, + { + "k": "3ce0f7", + "m": { + "kind": "aircraft", + "layer": "flights", + "callsign": "PVD497N", + "registration": "D-CMMP", + "type": "E55P", + "squawk": "2035", + "ladd": true, + "country": "Germany" + }, + "p": "653,47015,525643,66,148,82,40,241,-228,0,148,79,40,6,-275,0,186,76,40,-29,-270,0,183,72,40,-23,-251,0,183,65,40,-19,-196,-11,183,52,31,-13,-153,-9,183,57,40,-21,-198,-12,185,58,41,-17,-219,-13,183,62,39,-20,-215,-14,183,58,32,-12,-140,-7,184,36,49,20,-87,0,169,12,39,-4,-43,0,183,13,40,-1,-43,0,155,10,73,90,-36,0,132,16,39,67,-41,0,138,16,40,58,-41,0,138,13,40,5,-50,0,183,17,40,-5,-63,0,183,18,38,-6,-63,0,183,18,61,39,-39,0,65,12,39,37,30,0,20,11,36,31,5,0,129,9,37,59,-31,0,132,16,49,68,-9,0,59,14,34,77,29,0,62,19,47,99,38,0,59,14,30,19,30,0,3,14,41,7,44,0,56,8,39,56,9,0,87,12,32,63,2,0,87,15,37,74,1,0,132,10,43,55,-30,0,132,11" + }, + { + "k": "484561", + "m": { + "kind": "aircraft", + "layer": "flights", + "callsign": "KLM104", + "registration": "PH-BVD", + "type": "B77W", + "squawk": "1000", + "country": "Kingdom of the Netherlands" + }, + "p": "652,47117,523327,0,184,13,41,67,-36,0,132,15,40,49,-13,0,132,8,39,47,-30,0,141,14,41,55,-38,0,138,14,40,9,-48,0,183,15,31,-4,-42,0,183,16,38,-5,-51,0,183,14,43,-5,-53,0,183,11,140,86,16,0,23,8,39,5,35,0,3,12,39,4,40,0,3,11,173,121,36,0,84,10" + }, + { + "k": "485123", + "m": { + "kind": "aircraft", + "layer": "flights", + "callsign": "TRA41Q", + "registration": "PH-HSM", + "type": "B738", + "squawk": "1000", + "country": "Kingdom of the Netherlands" + }, + "p": "651,47129,523729,13,183,71,37,-21,-233,-8,183,62,45,3,-122,-5,183,18,39,10,-46,0,174,11,41,45,-28,0,132,12,39,57,-17,0,113,11,32,42,-24,0,141,15,40,56,-40,0,141,13,41,24,-41,0,183,14,40,-5,-51,0,183,15,39,-4,-48,0,183,13,39,-4,-42,0,183,11,41,-2,-39,0,166,11,40,52,-2,0,65,11,72,62,29,0,132,9,42,54,-29,0,132,14,38,55,-4,0,59,12,40,67,25,0,59,14,33,48,19,0,59,10" + }, + { + "k": "484bd1", + "m": { + "kind": "aircraft", + "layer": "flights", + "callsign": "KLM1753", + "registration": "PH-EZF", + "type": "E190", + "squawk": "3137" + }, + "p": "653,47169,523997,281,31,159,40,494,503,66,31,164,40,503,518,58,30,171,40,638,482,56,56,172,40,913,259,57,67,173,40,965,252,47,67,182,132,3329,876,164,67,191" + }, + { + "k": "4868a6", + "m": { + "kind": "aircraft", + "layer": "flights", + "callsign": "KLM1930", + "registration": "PH-NXY", + "type": "E295", + "squawk": "1000", + "country": "Kingdom of the Netherlands" + }, + "p": "653,47183,524342,50,184,67,40,-20,-234,-15,183,63,40,-21,-235,-13,183,68,36,-20,-221,-13,183,69,43,-21,-230,-4,183,42,41,11,-93,-5,183,16,46,82,-44,0,132,12,46,75,-29,0,141,16,40,61,-43,0,138,15,39,14,-52,0,183,15,41,-5,-56,0,183,16,39,-5,-56,0,183,16,40,-2,-54,0,149,13,39,65,6,0,45,11,53,38,29,0,129,10,30,32,-18,0,132,12,30,44,-23,0,132,13" + }, + { + "k": "484368", + "m": { + "kind": "aircraft", + "layer": "flights", + "callsign": "KLM749", + "registration": "PH-BQA", + "type": "B772", + "squawk": "6323", + "country": "Kingdom of the Netherlands" + }, + "p": "653,47241,523274,0,132,8,40,42,-28,0,138,12,40,48,-34,0,141,12,40,14,-41,0,183,13,39,-4,-44,0,183,13,41,-4,-45,0,183,13,31,-4,-35,0,183,13,40,-4,-44,0,183,9,41,40,-11,0,76,8,100,45,37,0,23,11,40,8,44,0,3,12,39,3,35,0,3,9,92,38,32,0,87,8,80,93,3,0,87,11,40,71,3,0,87,11" + }, + { + "k": "a4d483", + "m": { + "kind": "aircraft", + "layer": "flights", + "callsign": "DAL162", + "registration": "N410DZ", + "type": "A339", + "squawk": "6336", + "country": "United States" + }, + "p": "652,47329,523213,0,138,8,41,17,-30,0,183,11,38,-4,-36,0,183,11,42,-3,-38,0,183,10,40,-3,-35,0,183,10,40,-4,-34,0,183,9,31,-2,-26,0,183,9,181,90,35,0,3,8,40,3,36,0,3,10,40,3,36,0,3,10,151,123,22,0,84,9,40,63,2,0,87,12,40,63,3,0,87,10" + }, + { + "k": "4852a0", + "m": { "kind": "aircraft", "layer": "flights", "callsign": "4852a0" }, + "p": "622,47412,523117,0,183,13,1546,298,-117,0,56,12" + }, + { + "k": "4d21dc", + "m": { + "kind": "aircraft", + "layer": "flights", + "callsign": "KMM394", + "registration": "9H-NEC", + "type": "A20N", + "squawk": "1000", + "country": "Malta" + }, + "p": "653,47414,523141,0,183,13,36,-4,-42,0,183,13,39,-4,-45,0,183,13,45,38,-29,0,132,10,59,70,-38,0,132,11,52,68,16,0,59,11" + }, + { + "k": "780a1d", + "m": { + "kind": "aircraft", + "layer": "flights", + "callsign": "CPA065", + "registration": "B-LJE", + "type": "B748", + "squawk": "1000", + "country": "China" + }, + "p": "647,47440,523027,0,132,9,272,104,-73,0,149,9,64,47,-2,0,68,8" + }, + { + "k": "484210", + "m": { "kind": "aircraft", "layer": "flights", "callsign": "P3" }, + "p": "637,47496,523154,0,264,17,32,-48,-22,0,281,9,276,-10,26,0,3,18,116,23,72,0,0,10,123,-14,34,0,132,10,49,-4,-58,0,180,14,86,-8,-5,0,186,9,37,5,-31,0,186,12,56,-3,-36,0,183,10" + }, + { + "k": "484161", + "m": { + "kind": "aircraft", + "layer": "flights", + "callsign": "KLM44Y", + "registration": "PH-BXH", + "type": "B738", + "squawk": "3526" + }, + "p": "653,47538,524814,95,184,84,40,-27,-291,-17,183,78,40,-23,-265,-19,184,70,40,-21,-240,-12,183,68,40,-22,-237,-15,182,66,40,-23,-244,-14,183,70,31,-19,-198,-11,183,71,40,-18,-194,-7,184,25,40,24,-60,0,184,14,39,8,-46,0,129,12,37,48,-25,0,132,11,42,54,-29,0,132,12,41,41,-1,0,135,9,41,59,23,0,135,13" + }, + { + "k": "48436c", + "m": { + "kind": "aircraft", + "layer": "flights", + "callsign": "KLM166", + "registration": "PH-BQE", + "type": "B772", + "squawk": "6257", + "country": "Kingdom of the Netherlands" + }, + "p": "652,47674,523148,0,87,12,41,56,-7,0,129,11" + }, + { + "k": "486491", + "m": { + "kind": "aircraft", + "layer": "flights", + "callsign": "KLM1977", + "registration": "PH-NXH", + "type": "E295", + "squawk": "1000" + }, + "p": "653,47765,523136,0,3,13,40,-7,33,0,51,11,351,42,21,5,184,30,41,-25,-213,20,186,64,40,-7,-252,28,170,83,40,462,-160,63,92,120,71,1366,-38,123,92,144,40,840,-23,80,93,144,40,866,-25,73,93,147,40,889,-28,57,93,159,40,814,-198,68,125,148,40,729,-317,52,125,158" + }, + { + "k": "484cbc", + "m": { + "kind": "aircraft", + "layer": "flights", + "callsign": "KLM105", + "registration": "PH-BVI", + "type": "B77W", + "squawk": "0150" + }, + "p": "653,47781,522723,48,174,95,40,152,-363,33,161,109,40,121,-413,37,183,120,40,-63,-440,46,185,125,40,-67,-468,41,185,133,40,-69,-483,43,185,138,31,-55,-387,38,185,140,40,-70,-525,37,185,149,41,-162,-539,48,203,153,40,-389,-502,42,206,157,39,-398,-502,44,206,158,41,-406,-522,36,206,163,40,-419,-542,22,206,174,40,-456,-590,17,206,187,71,-858,-1115,53,206,197,120,-1524,-1947,93,206,206,121,-1525,-2097,65,203,220,121,-1476,-2263,67,203,229,120,-1550,-2359,0,202,239,130,-1795,-2511,0,208,237" + }, + { + "k": "4846df", + "m": { "kind": "aircraft", "layer": "flights", "callsign": "V6" }, + "p": "653,47911,523055,0,39,15,371,-85,170,0,3,19,36,-46,-5,0,197,15,33,-68,-31,0,264,21,89,-271,-16,0,197,17,38,31,-28,0,93,16,799,-32,23,0,3,16,117,312,28,0,34,16,30,33,38,0,48,15" + }, + { + "k": "486651", + "m": { + "kind": "aircraft", + "layer": "flights", + "callsign": "KLM71N", + "registration": "PH-AXA", + "type": "A21N", + "squawk": "1000" + }, + "p": "653,47944,521183,280,185,127,40,-66,-475,59,185,137,40,-68,-486,63,185,140,40,-77,-541,42,185,154,40,-132,-546,54,203,159,40,-423,-524,55,206,163,31,-324,-416,31,206,169,121,-1331,-1714,135,206,180,120,-1386,-1806,104,206,191,131,-1825,-2062,81,211,204,121,-1846,-1964,56,211,216,121,-1900,-2077,57,206,222,120,-1262,-2232,38,200,222,120,-1238,-2226,0,200,217" + }, + { + "k": "400960", + "m": { + "kind": "aircraft", + "layer": "flights", + "callsign": "BAW84NT", + "registration": "G-TTOE", + "type": "A320", + "squawk": "3124" + }, + "p": "653,48384,519876,1085,263,213,120,-3656,-282,-3,263,210,132,-3959,-320,0,262,209,121,-3671,-309,-1,262,211,120,-3648,-318,1,262,212,130,-3959,-299,-1,264,211,120,-3637,-246,-34,264,212,120,-3603,-254,-117,264,201,120,-3277,-196,-88,264,182,131,-3367,-209,-123,264,179,112,-2875,-187,-140,264,171,41,-983,-66,-31,264,165,39,-930,-62,-31,264,163,41,-939,-65,-32,264,160,40,-914,-62,-29,264,158,39,-896,-62,-28,264,159,40,-921,-65,-29,263,158,40,-901,-65,-30,263,156" + }, + { + "k": "501c5c", + "m": { + "kind": "aircraft", + "layer": "flights", + "callsign": "CTN5NL", + "squawk": "1000" + }, + "p": "653,48611,525578,96,276,116,40,-626,-12,0,234,96,40,-353,-258,0,206,92,40,-69,-301,-1,183,78,40,-32,-273,-2,184,76,40,-28,-267,-19,183,73,31,-15,-196,-12,182,69,40,-20,-227,-13,183,58,41,-19,-215,-13,183,61,40,-21,-221,-13,184,64,39,-21,-231,-12,184,65,41,-18,-187,-11,180,18,40,20,-37,0,126,8,39,3,-33,0,126,10,72,-6,-65,0,183,10,40,26,-24,0,132,10,40,41,-22,0,132,10,39,42,-23,0,129,9,41,47,9,0,59,9,58,60,23,0,59,9" + }, + { + "k": "480808", + "m": { + "kind": "military", + "layer": "military", + "callsign": "WLDCT78", + "registration": "S-444", + "type": "AS3B", + "squawk": "3601", + "military": true, + "country": "Kingdom of the Netherlands" + }, + "p": "653,48957,515627,25,314,57,40,156,57,-1,103,45,40,217,-24,-8,102,29,40,95,-12,-10,97,4,33,13,-1,-1,103,5,34,1,0,3,0,0,41,83,-17,11,148,26,43,-183,-60,10,277,49,41,-278,33,-4,283,50,40,-94,100,-1,82,35,39,202,-26,2,101,37,41,165,-18,-9,98,22,36,85,-10,-9,101,8,38,19,-2,-1,117,1,54,-2,0,0,284,2,30,-3,0,-2,90,1,157,0,0,0,104,2,31,5,0,2,90,1,40,1,0,0,0,0,45,16,-2,2,99,16,40,35,-65,17,236,43,40,-311,11,-1,281,62,40,-253,94,0,11,49,40,193,2,-1,105,37,41,179,-24,-5,101,29,45,129,-15,-11,103,10,42,12,-1,-3,0,0,33,-4,0,2,90,1,113,0,0,0,90,2,35,4,0,-1,90,1,35,-1,0,2,0,0,39,62,-9,8,125,24,40,-142,-64,10,268,53,41,-311,28,0,281,55,39,-51,108,-4,92,36" + }, + { + "k": "485b44", + "m": { + "kind": "aircraft", + "layer": "flights", + "callsign": "KLM879", + "registration": "PH-BKD", + "type": "B78X", + "squawk": "3164" + }, + "p": "653,48988,522544,120,93,130,40,800,-24,39,92,144,40,850,-22,54,92,147,40,865,-24,51,93,150,40,894,-35,50,100,152,40,766,-254,44,125,151,31,554,-241,36,126,153,40,789,-349,18,125,173,41,865,-374,30,125,184" + }, + { + "k": "4852f4", + "m": { + "kind": "aircraft", + "layer": "flights", + "callsign": "KLC1761", + "registration": "PH-EXG", + "type": "E75L", + "squawk": "1000" + }, + "p": "653,49530,525754,447,67,180,39,1003,261,39,67,190,41,1054,276,46,67,194,40,1069,279,44,67,198" + }, + { + "k": "486521", + "m": { + "kind": "aircraft", + "layer": "flights", + "callsign": "PHSCH", + "registration": "PH-SCH", + "type": "PC12", + "squawk": "7000" + }, + "p": "653,49669,504214,723,320,132,120,-1435,1087,-1,320,133,132,-1386,1317,0,345,142,121,-654,1538,-41,345,156,99,-561,1321,-81,345,147,40,-217,506,-40,345,145,71,-398,933,-72,345,155,40,-230,539,-47,345,152,40,-221,508,-47,345,142,40,-205,477,-48,345,136,40,-202,469,-47,345,133,40,-198,463,-51,345,135,41,-202,468,-48,345,132,39,175,433,-44,38,129,40,458,366,-45,38,129,40,421,342,-16,38,105,40,393,219,0,50,87,40,427,168,-15,85,83,41,320,-99,-17,174,54,50,-359,-104,-29,294,83,40,-190,243,-8,19,82,40,344,104,0,77,61,30,242,8,-4,110,56,42,79,143,-1,299,65,40,-315,-54,-8,246,58" + }, + { + "k": "395d6d", + "m": { + "kind": "aircraft", + "layer": "flights", + "callsign": "BGA113N", + "registration": "F-GXLN", + "type": "A337", + "squawk": "3376", + "country": "France" + }, + "p": "653,49680,517606,993,44,218,120,2609,1688,0,44,218,132,2891,1850,1,44,216" + }, + { + "k": "480892", + "m": { + "kind": "military", + "layer": "military", + "callsign": "APACHE3", + "registration": "Q-49", + "type": "H64", + "squawk": "3601", + "helicopter": true, + "military": true, + "country": "Kingdom of the Netherlands" + }, + "p": "653,49753,517089,27,10,64,39,-217,100,-20,271,51,39,-256,-25,-1,219,38,42,225,16,-1,122,41,40,92,-45,0,108,2,40,85,22,1,34,51,50,-232,19,-1,108,2,41,166,14,1,335,49,40,-154,-16,-1,0,0,40,136,-14,1,84,48,41,-142,12,-1,239,29,40,-50,-59,3,241,45,39,105,52,-2,63,27,40,-184,1,0,240,54,47,120,-7,-1,325,21,43,-150,-35,0,83,40,42,154,41,0,322,8,40,44,-7,0,64,45,40,38,29,1,267,9,40,28,-51,0,77,40,40,45,18,0,187,8,39,83,9,1,316,29,40,-5,-42,0,359,48,30,-36,31,-5,180,11,32,64,10,6,33,39,37,-61,-3,0,179,39,30,1,8,-1,243,26,33,47,-9,1,34,46,47,-47,26,0,183,32,42,-6,-24,-2,188,15,40,-37,0,0,18,27,30,93,-1,3,135,20,42,10,-9,0,90,1,41,3,5,0,190,12,39,3,-5,0,0,0,41,35,24,2,310,31,40,-40,-23,1,0,1,40,-1,2,0,90,1,40,53,2,-3,349,34" + }, + { + "k": "48c1a1", + "m": { + "kind": "aircraft", + "layer": "flights", + "callsign": "RYR43VN", + "registration": "SP-RNB", + "type": "B738", + "squawk": "0544", + "country": "Poland" + }, + "p": "653,50150,517024,1117,106,241,120,4043,-709,1,106,244" + }, + { + "k": "39856f", + "m": { + "kind": "aircraft", + "layer": "flights", + "callsign": "KLM1850", + "registration": "F-HBLP", + "type": "E190", + "squawk": "1000" + }, + "p": "653,50504,525458,131,276,125,40,-705,45,2,276,118,40,-681,44,-16,276,116,40,-664,41,-19,276,114,40,-581,-70,-2,227,90,40,-291,-247,1,186,84,31,-11,-217,-1,184,74,40,-32,-264,-4,184,73,40,-25,-252,-15,184,63,41,-22,-227,-12,183,64,39,-20,-211,-13,184,58,41,-19,-216,-13,183,59,40,-20,-223,-13,184,63,39,-21,-229,-13,184,65,72,-8,-272,-13,180,13,38,7,-47,0,183,16,42,-5,-56,0,183,14,38,31,-28,0,132,12,38,52,-29,0,132,13,44,63,-9,0,59,12,35,54,21,0,59,12" + }, + { + "k": "4494e8", + "m": { + "kind": "helicopter", + "layer": "flights", + "callsign": "OOEGH", + "registration": "OO-EGH", + "type": "R22", + "squawk": "2000", + "helicopter": true, + "country": "Belgium" + }, + "p": "653,50831,511456,30,229,27,39,-45,-90,1,186,28,41,-11,-106,0,181,30,40,89,-77,-2,84,36,39,-56,59,2,251,35,38,-102,-68,-4,159,26,34,76,50,4,336,44,36,-60,-37,-4,91,34,45,-16,17,3,217,30,38,-56,-87,0,164,27,41,171,10,-1,114,31,39,1,65,0,274,37,41,42,-28,-2,17,43,40,-75,-13,-1,144,27,72,-41,-40,4,227,30,39,71,-39,-2,25,45,41,1,3,2,120,29,39,67,49,0,282,38,41,14,-61,-2,76,35,41,180,34,-1,34,40,40,-86,5,0,169,25,39,136,16,1,27,44,39,-99,53,0,200,26,41,88,-63,1,169,24,41,122,-33,1,47,40,39,-95,57,3,231,28,40,-68,-79,-1,180,25,52,23,-130,-1,172,29,39,89,-78,-2,78,38,41,-107,29,1,244,36,31,-136,-55,-1,236,38,40,-181,-75,3,241,38,40,-191,-59,2,248,36,40,-172,-51,2,242,35,39,-168,-63,-1,237,39,41,-174,-76,-1,231,34,40,-151,-81,0,229,38,40,-156,-86,-3,224,35" + }, + { + "k": "4864fa", + "m": { + "kind": "aircraft", + "layer": "flights", + "callsign": "PHSFR", + "registration": "PH-SFR", + "type": "BR23", + "squawk": "5470", + "country": "Kingdom of the Netherlands" + }, + "p": "653,51795,517134,64,212,16,40,-47,-38,4,211,22,40,-79,-79,6,221,19,40,3,-74,1,187,30,40,-74,-103,2,213,31,40,90,-18,-18,40,76,31,179,90,8,118,34,40,-82,-98,8,242,13,41,-30,-70,1,157,29,40,58,-94,-10,165,27,39,33,-97,-11,171,29,41,22,-112,-6,175,33,40,24,-124,0,169,35,40,151,-87,1,133,35,71,260,-151,-1,133,34,40,7,-70,1,288,56,41,-311,96,0,298,61,39,-301,108,-1,313,64,40,-238,183,1,335,68,40,111,186,0,75,47,41,213,-35,0,102,38,39,159,-63,0,159,31,40,63,-105,0,160,31,40,65,-105,0,147,33,40,113,-96,0,142,33,40,119,-90,0,141,31,41,118,-92,0,141,34,50,152,-121,0,143,33,41,142,-88,0,130,35,40,76,-98,0,183,31,31,-13,-85,0,187,32,40,11,-115,0,164,33,40,46,-113,0,171,31,40,13,-115,0,184,34,40,5,-117,0,179,31,40,7,-118,0,170,33,40,116,-100,0,133,35,40,166,-76,-9,127,36" + }, + { + "k": "c0583a", + "m": { + "kind": "aircraft", + "layer": "flights", + "callsign": "ACA845", + "registration": "C-GHKR", + "type": "A333", + "squawk": "2510" + }, + "p": "653,52203,519819,1086,317,252,120,-2971,1975,-1,317,249,132,-3269,2144,-1,317,247,120,-2964,1919,0,317,246,120,-3012,1925,-1,316,247,131,-2859,2365,-1,335,253,120,-1148,2641,0,350,256,120,-772,2723,-1,351,256" + }, + { + "k": "4009da", + "m": { + "kind": "aircraft", + "layer": "flights", + "callsign": "BAW879", + "registration": "G-EUUM", + "type": "A320", + "squawk": "3103" + }, + "p": "653,52399,509877,1089,290,224,120,-3603,817,-2,290,224,132,-3998,889,0,289,229,121,-3808,834,0,289,233,121,-3771,809,-1,289,229,129,-4030,848,0,288,229,120,-3773,779,0,288,232,120,-3787,766,-30,288,233,120,-3535,704,-88,288,203,131,-3552,691,-121,287,190,132,-3385,402,-178,264,177,61,-1500,-95,-75,264,170,39,-962,-64,-57,264,169,40,-963,-63,-50,264,165,40,-939,-63,-53,264,166,40,-945,-65,-22,264,157,40,-856,-59,0,263,143" + }, + { + "k": "486803", + "m": { + "kind": "aircraft", + "layer": "flights", + "callsign": "KLC27U", + "registration": "PH-NXV", + "type": "E295", + "squawk": "1000" + }, + "p": "653,52428,522436,397,102,152,40,737,-253,59,125,144,39,683,-295,55,126,147,41,733,-320,39,125,156,40,753,-329,41,125,162" + }, + { + "k": "44a8a6", + "m": { + "kind": "aircraft", + "layer": "flights", + "callsign": "TFL9ED", + "registration": "OO-JEF", + "type": "B738", + "squawk": "3144" + }, + "p": "653,54100,513583,280,71,142,40,863,181,45,71,168,40,954,208,61,71,182" + }, + { + "k": "4bcde1", + "m": { + "kind": "aircraft", + "layer": "flights", + "callsign": "SXS2VN", + "registration": "TC-SOA", + "type": "B738", + "squawk": "3253" + }, + "p": "653,54630,508329,1150,288,230,120,-3718,755,-1,288,229,132,-4077,814,0,287,226,121,-3711,725,-1,287,224,120,-3631,696,-53,286,224,130,-3964,744,-80,286,223,120,-3707,684,-72,286,225,120,-3551,609,-76,282,215,121,-3656,481,-93,282,218,130,-3913,502,-132,281,207,41,-1163,147,-45,282,202,40,-1121,139,-44,281,198,31,-871,101,-36,280,200,40,-1143,124,-43,276,196,40,-1056,-137,-35,250,187,40,-1018,-236,-23,250,187,40,-854,-359,-20,217,182,40,-621,-528,-19,216,181,40,-610,-519,-13,216,180,40,-611,-515,-13,217,174" + }, + { + "k": "486649", + "m": { + "kind": "aircraft", + "layer": "flights", + "callsign": "CND7ZL", + "registration": "PH-CDQ", + "type": "B39M", + "squawk": "3136" + }, + "p": "653,54745,521497,428,125,175,40,828,-363,46,126,175" + }, + { + "k": "452087", + "m": { + "kind": "aircraft", + "layer": "flights", + "callsign": "UBD423", + "registration": "LZ-BHM", + "type": "A320", + "squawk": "1000" + }, + "p": "653,55284,525134,277,276,164,40,-910,64,-12,277,147,40,-847,56,-23,276,143,40,-833,53,-26,276,142,40,-835,55,-25,276,141,40,-821,56,-26,276,140,31,-628,40,-8,276,134,40,-762,49,-17,276,126,41,-739,47,-14,276,122,40,-680,46,-11,276,110,39,-485,-102,-8,217,81,41,-153,-257,-8,187,75,40,-35,-268,-9,184,74,40,-27,-269,-8,184,75,71,-44,-471,-22,183,69,40,-21,-241,-14,183,69,40,-23,-238,-15,183,66,40,-22,-237,-13,184,67,40,-22,-241,-13,183,70,40,-13,-144,-5,183,18,159,42,-13,0,3,10,142,126,24,0,87,8,30,43,2,0,87,9,253,155,-30,0,183,8" + }, + { + "k": "48625a", + "m": { + "kind": "aircraft", + "layer": "flights", + "callsign": "PHBAC", + "registration": "PH-BAC", + "type": "A210", + "squawk": "7000" + }, + "p": "672,45247,515476,21,256,42,41,-221,45,8,344,60,40,19,218,10,7,56,40,26,206,12,358,56,40,10,210,12,3,60,51,58,283,9,38,63,40,255,183,-3,42,69,41,-25,257,0,345,77,40,-128,270,-2,342,76,39,-102,5,1,163,28,41,54,-63,-2,148,27,40,88,-86,1,146,35,40,115,-105,-2,144,36,71,181,-146,1,140,22,40,86,-58,-3,93,31,40,163,27,0,118,20,40,103,-39,2,124,22,40,101,-29,-2,119,27,40,175,-40,9,139,28,41,133,-83,-1,170,33,39,14,-119,-4,182,30,40,-119,-92,-11,228,37,40,-142,-112,-13,206,46,41,-95,-152,-5,200,44,39,-69,-158,-5,194,43,38,-50,-143,-5,195,45,53,-181,-159,-16,243,39" + }, + { + "k": "4846f0", + "m": { "kind": "aircraft", "layer": "flights", "callsign": "VY" }, + "p": "669,47237,523284,0,129,12,44,66,-42,0,138,16,99,37,-9,0,0,15,33,4,48,0,3,16,321,81,64,0,183,11,68,-8,-86,0,183,15,31,-3,-41,0,183,15,71,24,-39,0,84,8,31,0,-24,0,180,11,245,44,-14,0,90,16,43,82,7,0,84,12,82,111,4,0,76,14,419,78,-72,0,183,10" + }, + { + "k": "484559", + "m": { + "kind": "aircraft", + "layer": "flights", + "callsign": "KLM31K", + "registration": "PH-BGB", + "type": "B738", + "squawk": "0144" + }, + "p": "673,47724,523026,0,236,19,40,-327,-124,22,239,85,40,-436,-164,53,249,101,40,-585,173,64,331,136,40,150,468,70,33,142,51,631,588,71,31,159,40,632,449,42,52,175,41,869,442,30,49,198,40,903,476,50,49,207,39,926,479,50,50,213,41,993,510,52,50,220,40,1008,514,49,50,225,131,3425,1733,158,50,234" + }, + { + "k": "4246b7", + "m": { + "kind": "aircraft", + "layer": "flights", + "callsign": "AHY107", + "registration": "VP-BCG", + "type": "A20N", + "squawk": "7543" + }, + "p": "673,55571,508849,1026,287,212,120,-3487,671,-2,287,213,131,-3824,722,1,287,217,120,-3559,662,1,286,219,121,-3584,650,-3,286,214,131,-3886,692,-1,286,214,121,-3604,507,-53,282,215,121,-3486,444,-84,281,189,120,-3190,396,-59,281,188,130,-3382,418,-81,281,181,132,-3276,392,-118,281,172,39,-947,112,-33,281,167,40,-950,110,-39,281,166,40,-945,109,-46,280,169,40,-935,107,-30,280,164,40,-897,-70,-23,249,158,40,-853,-198,-19,250,158" + }, + { + "k": "4cad41", + "m": { + "kind": "aircraft", + "layer": "flights", + "callsign": "SAS61E", + "registration": "EI-SIN", + "type": "A20N", + "squawk": "2217", + "country": "Ireland" + }, + "p": "687,-22788,533610,0,318,8,94,-82,45,0,315,9" + }, + { + "k": "4ca4ee", + "m": { + "kind": "aircraft", + "layer": "flights", + "callsign": "RYR100T", + "registration": "EI-DPJ", + "type": "B738", + "squawk": "4570", + "country": "Ireland" + }, + "p": "693,-13389,528291,0,270,10,623,-72,16,0,87,26,40,395,9,45,86,76,40,461,-18,21,93,79,40,286,191,0,354,86,41,-375,190,0,293,85,39,-465,92,0,267,81,40,-469,-28,0,265,79,40,-470,-17,0,268,75,41,-241,-150,-6,175,65,39,32,-234,-13,162,68,41,371,-42,-13,93,70,50,531,7,-19,88,70,41,458,11,35,88,79,40,483,20,16,61,84,31,144,209,-1,346,88,40,-410,168,1,290,86,40,-484,92,1,277,85,40,-503,-9,0,268,85,40,-482,-16,-1,259,76,40,-143,-215,-11,176,70,40,103,-229,-15,133,68,40,381,-39,-11,89,68" + }, + { + "k": "42592a", + "m": { "kind": "aircraft", "layer": "flights", "callsign": "42592a" }, + "p": "692,-7915,512717,0,39,9,717,170,84,0,42,11" + }, + { + "k": "407796", + "m": { + "kind": "aircraft", + "layer": "flights", + "callsign": "EZY787Q", + "registration": "G-UZLD", + "type": "A20N", + "squawk": "4226" + }, + "p": "693,-3444,518788,45,74,73,40,401,70,59,75,72,40,322,195,39,7,103,40,-340,335,57,316,116,40,-450,355,45,332,138,31,-297,370,39,334,153,40,-395,505,62,338,163,41,-196,591,5,351,165,40,-171,595,39,350,171,39,-316,571,66,331,175,41,-528,560,53,330,179,40,-521,561,46,331,184,131,-1781,1980,174,332,197,120,-1670,1951,120,333,208,120,-1854,1913,105,330,207,121,-1923,1971,0,329,211,120,-1953,1976,2,329,213,142,-2289,2289,-2,329,209" + }, + { + "k": "4951d8", + "m": { + "kind": "aircraft", + "layer": "flights", + "callsign": "TAP640", + "registration": "CS-TNX", + "type": "A320", + "squawk": "1000" + }, + "p": "693,29814,502161,729,45,204,120,2380,1547,-59,44,198,132,2511,1655,-69,44,192,40,737,495,-26,44,185,40,699,466,-20,43,178,40,657,485,-19,35,176,40,574,521,-21,35,176,40,560,514,-27,34,174,40,539,506,-23,34,171,51,692,648,-31,34,168,40,531,497,-26,34,166,40,529,493,-28,34,165,41,520,485,-23,34,159,39,523,448,-29,51,155,40,711,319,-37,55,151,41,719,316,-41,55,149,39,647,291,-28,54,139,40,659,264,-38,75,131,40,721,84,-23,79,124,40,651,83,-11,77,112,40,568,-23,-11,130,88,41,216,-243,-9,178,73,50,-86,-322,-13,193,73,41,-105,-253,-7,195,72,39,-106,-250,-7,194,73,32,-80,-197,-4,195,72,40,-103,-257,-2,194,74,40,-108,-254,-2,195,74,40,-102,-255,-16,195,69,40,-94,-229,-15,194,67,40,-95,-232,-14,195,69,40,-97,-238,-15,194,68,40,-98,-240,-15,195,67" + }, + { + "k": "4ca809", + "m": { + "kind": "aircraft", + "layer": "flights", + "callsign": "RYR64CZ", + "registration": "EI-EKJ", + "type": "B738", + "squawk": "1000" + }, + "p": "693,44313,504550,53,252,89,40,-446,-125,59,240,90,40,-482,-150,53,246,98,40,-511,-150,13,245,101,40,-319,-269,54,184,103,31,219,-269,44,137,119,40,548,-285,58,108,137,41,877,60,26,81,173,40,1035,10,23,91,196,39,1108,-23,49,92,203,41,1174,-30,56,92,209,40,1190,-32,51,92,213,40,1216,-34,46,92,219,131,4185,-121,128,93,233" + }, + { + "k": "48529f", + "m": { "kind": "aircraft", "layer": "flights", "callsign": "VI" }, + "p": "690,47360,523204,0,0,8,40,-12,18,0,273,10,43,-41,17,0,318,11,40,-45,32,0,315,12,288,-47,6,0,219,11,174,20,8,0,129,12,41,58,-36,0,138,15,60,47,-10,0,3,13,36,4,42,0,3,12,57,9,64,0,17,11,187,79,2,0,115,10,31,11,-35,0,183,11" + }, + { + "k": "4cae1e", + "m": { + "kind": "aircraft", + "layer": "flights", + "callsign": "ITY108", + "registration": "EI-HXH", + "type": "A21N", + "squawk": "1000" + }, + "p": "693,55755,525872,332,225,154,40,-255,-477,-22,194,138,40,-523,-347,-31,252,139,40,-830,30,-35,278,145,40,-840,54,-24,276,143,31,-650,51,-8,278,143,40,-842,78,-11,279,143,41,-841,79,-10,279,143,40,-824,75,-14,279,143,39,-800,71,-18,278,135,41,-761,67,-12,279,122,40,-682,44,-18,260,109,40,-301,-253,-14,189,84,71,-63,-491,-19,183,76,40,-25,-274,-15,183,74,40,-23,-240,-15,183,64,40,-22,-235,-13,184,67,40,-21,-233,-14,183,62,40,-21,-226,-14,183,64,41,-21,-236,-14,183,67,39,-20,-214,-11,183,42,40,8,-84,0,183,10,40,11,-25,0,183,8,37,-3,-35,0,183,12,41,33,-24,0,132,8,30,27,-14,0,132,8,30,33,-18,0,132,11,33,49,-5,0,59,12,41,60,23,0,59,11,39,52,20,0,59,10" + }, + { + "k": "407cb4", + "m": { + "kind": "aircraft", + "layer": "flights", + "callsign": "RUK9MH", + "registration": "G-RUKH", + "type": "B738", + "squawk": "7023" + }, + "p": "694,2228,518769,23,222,89,39,-345,-231,49,223,98,40,-494,-243,39,259,120,40,-477,262,23,357,125,40,-82,490,39,335,147,31,-504,249,28,284,150,40,-881,63,20,276,152,41,-885,53,57,276,154,40,-752,287,41,327,165,39,-581,507,27,321,183,41,-687,518,61,321,185,40,-692,523,50,321,193,40,-717,539,57,321,195,131,-2451,1856,152,321,210,120,-2413,1801,114,321,221,120,-2548,1882,101,320,228,120,-2589,1890,72,320,230,132,-2813,2113,-1,314,229,131,-3554,1623,0,307,228,120,-3292,1458,0,307,228" + }, + { + "k": "404fa7", + "m": { + "kind": "aircraft", + "layer": "flights", + "callsign": "GCDZG", + "registration": "G-CDZG", + "type": "C42", + "squawk": "7365" + }, + "p": "710,-25112,535554,69,0,0,40,208,-16,1,141,26,41,193,-81,0,124,21,40,188,-38,0,105,17,53,254,-80,-10,116,19,39,178,-78,0,127,20,33,98,-93,0,148,19,47,-10,-168,12,186,21,39,-16,-115,0,192,19,40,26,-124,-1,181,17,55,128,-134,-29,127,16,46,67,184,-2,9,33,51,-125,198,11,341,32,41,-347,-119,1,249,29,320,400,68,-1,0,0,40,-215,-33,1,0,0,39,-204,-28,1,0,0,263,481,43,-2,0,0,39,-201,-11,-1,0,0,41,-197,-41,3,0,0" + }, + { + "k": "4867c4", + "m": { + "kind": "aircraft", + "layer": "flights", + "callsign": "KLM1031", + "registration": "PH-AXI", + "type": "A21N", + "squawk": "7330", + "country": "Kingdom of the Netherlands" + }, + "p": "713,-25048,535871,228,223,130,40,-535,-337,-28,223,128,291,-383,-3054,-82,153,100,40,530,-111,-11,88,99,41,562,103,-14,54,100,40,468,220,-22,51,99,71,733,353,-33,51,77,40,351,171,-15,51,75,39,344,167,-12,51,69,40,155,79,-11,51,14,41,38,36,0,51,10,40,47,22,0,51,9,40,7,26,0,321,10,37,-28,21,0,326,9,43,-14,30,0,354,8,86,-50,34,0,315,9,31,-34,16,0,315,9" + }, + { + "k": "43bff0", + "m": { "kind": "aircraft", "layer": "flights", "callsign": "LEADER 5" }, + "p": "713,-1722,511538,0,250,11,82,-105,3,0,236,17,249,-22,23,0,62,12,140,-2,-1,0,248,14,46,-18,-32,0,172,11" + }, + { + "k": "4d2238", + "m": { + "kind": "aircraft", + "layer": "flights", + "callsign": "RYR4GC", + "registration": "9H-QCN", + "type": "B738", + "squawk": "1427", + "country": "Malta" + }, + "p": "708,2324,518782,0,270,10,39,48,32,0,42,14" + }, + { + "k": "502ce7", + "m": { + "kind": "aircraft", + "layer": "flights", + "callsign": "SWR2DV", + "registration": "YL-CSM", + "type": "BCS3", + "squawk": "1000" + }, + "p": "712,47586,523004,0,68,9,39,45,8,0,59,10,39,58,22,0,59,14,117,71,45,0,3,8,38,3,34,0,3,12,40,-10,40,0,312,10,39,16,24,0,17,10,272,30,9,0,183,32,40,-30,-229,45,184,63,40,-11,-249,50,174,80,40,487,-152,38,93,122,40,745,-16,47,92,135,40,829,-21,49,92,143,40,857,-23,52,93,149,40,868,-24,60,93,149,41,903,-44,48,103,151,40,764,-266,29,125,159,39,765,-333,44,125,163,41,783,-340,52,125,162,30,593,-260,30,125,165" + }, + { + "k": "48597e", + "m": { + "kind": "aircraft", + "layer": "flights", + "callsign": "TRA69E", + "registration": "PH-HXO", + "type": "B738", + "squawk": "2112" + }, + "p": "713,47800,523199,0,183,21,39,-17,-206,15,183,76,41,73,-285,42,164,91,40,143,-351,47,167,109,51,29,-535,75,186,121,40,-65,-450,60,185,128,41,-204,-450,64,202,132,40,-283,-448,62,201,133,39,-279,-450,46,201,146,41,-317,-508,55,201,154,40,-329,-531,55,201,160,40,-339,-546,60,201,164,131,-1173,-1904,155,201,178,120,-1136,-1858,105,201,195,120,-1300,-2018,84,205,207,120,-1444,-2103,73,203,217,132,-1576,-2368,89,203,216,131,-1553,-2376,54,203,222,120,-1432,-2208,42,203,223" + }, + { + "k": "48c126", + "m": { + "kind": "aircraft", + "layer": "flights", + "callsign": "RYR7SG", + "registration": "SP-RKG", + "type": "B738", + "squawk": "7675" + }, + "p": "733,-25965,532673,136,164,116,40,343,-327,-19,112,110,40,614,54,-20,56,106,40,486,234,-21,51,102,31,364,177,-16,51,98,40,446,215,-20,50,88,41,377,183,-17,51,77,38,334,162,-12,51,63,41,139,70,-11,51,15,61,47,42,0,51,11,40,54,27,0,51,12,40,61,29,0,51,14" + }, + { + "k": "4403f0", + "m": { + "kind": "aircraft", + "layer": "flights", + "callsign": "EJU38NA", + "registration": "OE-LQF", + "type": "A319", + "squawk": "6256" + }, + "p": "733,-25846,515078,449,84,187,40,1085,66,50,84,195,40,1138,78,50,83,201,132,3813,324,183,83,201,120,3439,281,73,80,204,121,3556,394,60,80,211,130,3913,412,-2,81,209,120,3564,361,3,81,209,120,3585,350,1,81,209,120,3460,634,-1,71,208,132,3755,786,1,71,207,131,3729,766,0,72,206,120,3410,687,0,72,205,120,3414,676,-1,72,206" + }, + { + "k": "502cce", + "m": { + "kind": "aircraft", + "layer": "flights", + "callsign": "BTI65T", + "registration": "YL-CSE", + "type": "BCS3", + "squawk": "7672" + }, + "p": "730,-2067,511459,0,79,37,43,400,49,35,80,73,40,418,58,41,77,80,40,502,72,35,77,100,31,478,53,25,82,119,40,745,65,42,82,136,41,792,68,54,82,141,40,826,68,52,80,147,39,785,167,54,70,148,41,837,201,37,67,162,40,774,360,22,48,172,40,648,468,40,33,178,71,1035,998,67,33,190,40,604,580,36,33,197,40,621,599,35,33,200,120,1936,1825,104,34,205,121,2038,1885,70,34,215,121,2877,1490,73,63,220,130,3868,1053,72,73,231,131,4251,800,89,73,225,120,3849,711,37,74,232,121,3941,715,42,73,234" + }, + { + "k": "4b0294", + "m": { + "kind": "aircraft", + "layer": "flights", + "callsign": "SWR3VB", + "registration": "HB-AZK", + "type": "E295", + "squawk": "5235" + }, + "p": "733,466,515047,0,273,8,100,43,7,6,93,45,51,456,-13,56,87,61,40,361,93,34,41,85,40,411,222,17,80,108,41,701,70,33,78,134,39,760,101,30,78,136,41,785,106,31,78,139,40,770,103,20,79,137,40,758,-84,2,123,135,71,541,-779,51,171,143,40,291,-511,8,131,168,40,908,-225,34,108,174,40,954,-193,58,108,178,40,998,-188,51,103,184,40,1054,-133,51,101,190,41,1092,-124,45,100,196,39,1119,-119,40,100,203,120,3559,-403,111,101,217,131,3967,-657,99,121,222,132,3608,-1341,35,121,226,121,3407,-1283,72,121,234,121,3462,-1321,88,121,232" + }, + { + "k": "40773e", + "m": { + "kind": "aircraft", + "layer": "flights", + "callsign": "HKS78", + "registration": "G-EMED", + "type": "EC75", + "squawk": "7430" + }, + "p": "732,11232,534674,85,173,63,42,49,-239,0,173,64,30,36,-171,0,0,0,134,154,-767,0,173,64,45,53,-256,0,173,64,96,111,-544,0,173,64,45,51,-255,0,173,64,35,41,-202,2,173,64,74,86,-424,1,173,64,41,47,-233,0,173,64,42,49,-245,-1,173,66,40,47,-231,0,173,65,40,47,-231,0,173,66,40,48,-238,0,173,66,41,48,-237,-3,173,64,38,45,-222,0,173,65,41,48,-240,0,173,66,38,44,-219,0,173,65,42,50,-247,-1,173,65,40,46,-229,-4,173,63,41,45,-228,-4,173,62,51,57,-282,-6,173,62,38,41,-211,-3,173,62,42,47,-231,-5,173,62,30,22,-168,-2,179,62,41,-18,-229,-5,186,64,40,-38,-225,-4,186,64,40,-67,-230,-5,194,65,40,-133,-227,-4,202,68,40,-35,-223,-3,164,56,40,144,-166,-7,147,48,40,152,-66,-10,94,25" + }, + { + "k": "407fb9", + "m": { + "kind": "helicopter", + "layer": "flights", + "callsign": "GPJCD", + "registration": "G-PJCD", + "type": "A139", + "squawk": "7420", + "helicopter": true + }, + "p": "732,12916,526763,22,86,41,41,233,11,20,84,39,40,226,17,20,82,38,40,242,50,10,56,56,31,247,103,0,56,71,40,354,146,0,56,71,41,353,143,0,57,71,39,346,141,0,56,71,40,351,142,0,56,71,40,351,143,0,56,71,33,288,116,0,56,72,45,400,163,0,56,72,74,663,268,0,56,73,40,360,145,0,56,73,39,345,138,0,56,73,42,383,155,0,56,75,39,365,147,-6,57,74" + }, + { + "k": "484ac1", + "m": { + "kind": "helicopter", + "layer": "flights", + "callsign": "ZXP25", + "registration": "PH-PXY", + "type": "A139", + "squawk": "6220", + "helicopter": true, + "country": "Kingdom of the Netherlands" + }, + "p": "733,45520,521750,5,171,34,40,191,-71,17,106,51,39,314,-53,2,97,61,41,376,-4,3,91,64,31,288,-3,4,90,63,40,374,0,4,90,64,41,380,5,3,88,63,40,367,8,-2,88,64,39,366,11,-1,86,64,41,364,141,-4,54,75,40,352,158,-4,54,75,40,357,159,0,55,75,71,-36,500,4,316,87,40,-369,222,2,315,88,40,-358,217,2,316,81,40,-325,172,-19,279,59,40,-108,-73,-11,133,11" + }, + { + "k": "398564", + "m": { + "kind": "aircraft", + "layer": "flights", + "callsign": "KLM81Y", + "registration": "F-HBLE", + "type": "E190", + "squawk": "1000" + }, + "p": "732,47689,523034,0,59,9,41,51,20,0,59,11,39,21,30,0,6,11,41,3,44,0,3,12,232,22,32,0,87,8,40,9,-16,5,184,25,40,-21,-222,10,184,81,71,173,-491,92,164,84,40,120,-335,22,179,113,40,-59,-428,50,185,122,40,-60,-435,53,185,126,40,-186,-442,59,202,127,40,-284,-445,41,202,136,41,-296,-466,38,201,141,40,-300,-471,38,201,143,39,-305,-482,39,201,145,40,-307,-486,33,201,149,40,-321,-510,34,201,152,40,-325,-518,42,201,157,132,-1113,-1780,144,201,168,131,-1276,-1908,109,203,184,120,-1273,-1897,80,203,195,121,-1368,-2057,36,203,218" + }, + { + "k": "4258ee", + "m": { "kind": "aircraft", "layer": "flights", "callsign": "RNG06" }, + "p": "749,-22636,533575,0,42,9,79,69,30,0,51,12" + }, + { + "k": "4bc894", + "m": { + "kind": "aircraft", + "layer": "flights", + "callsign": "PGT65G", + "registration": "TC-RDT", + "type": "A21N", + "squawk": "6623" + }, + "p": "753,55906,522063,964,296,236,131,-4045,1231,-3,296,236,121,-3756,1121,0,296,237,120,-3780,1109,-1,296,239,131,-4209,1219,0,295,241,120,-3878,1103,0,295,241,120,-3874,1081,-1,295,240,121,-4089,666,-2,282,236,120,-4098,527,0,282,234,142,-4815,598,-1,281,230,120,-4061,490,0,281,232,120,-4072,474,1,281,231" + }, + { + "k": "4d20fd", + "m": { + "kind": "aircraft", + "layer": "flights", + "callsign": "WMT68LU", + "registration": "9H-WMQ", + "type": "A21N", + "squawk": "5203" + }, + "p": "754,-3791,518728,0,73,23,39,362,61,45,75,84,39,496,79,50,76,96,52,725,-134,30,154,130,41,-229,-435,34,237,142,40,-742,-250,54,246,146,40,-833,12,18,280,147,39,-844,82,49,279,154,41,-928,88,38,279,164,40,-947,38,30,255,168,40,-908,-211,60,244,168,72,-1008,-917,64,209,186,39,-541,-604,1,209,196,40,-172,-676,6,165,197,40,529,-637,20,151,203,40,544,-646,27,153,203,40,554,-660,34,152,209,41,576,-673,37,152,213,121,1779,-2097,100,152,224,120,2104,-2076,80,143,234,130,2622,-2187,87,143,237,131,2607,-2207,99,143,233,120,2379,-2031,72,143,233" + }, + { + "k": "406b05", + "m": { + "kind": "aircraft", + "layer": "flights", + "callsign": "BAW29C", + "registration": "G-STBL", + "type": "B77W", + "squawk": "7645" + }, + "p": "773,-25695,514142,698,96,201,132,3644,-246,-107,96,185,40,1031,-73,-30,97,179,40,1020,-74,-30,96,177,39,977,-69,-27,97,174,41,1001,-71,-25,97,170,40,963,-70,-28,96,169,40,960,-72,-27,97,170,39,942,-72,-21,97,165,52,1203,-90,-23,97,163,40,924,-71,-18,97,161,40,906,-71,-11,97,153,40,822,-36,0,90,139,40,796,-7,0,91,138,41,793,-7,-2,91,138,40,793,-8,-10,91,137,40,770,-9,-10,91,135,39,766,-8,-9,91,135,40,776,-9,0,91,134,41,776,-11,-9,92,136,39,773,-8,-9,91,134,41,784,-14,-11,93,138,50,965,-22,-13,96,133,41,496,-337,-10,175,138,40,-413,-370,-10,254,131,31,-533,74,-5,310,127,40,-421,373,-9,325,125,40,-486,330,-11,292,128,40,-728,72,-5,278,127,40,-707,97,0,285,125,40,-695,110,1,284,126,40,-705,111,-4,284,126,40,-701,107,-15,284,123" + }, + { + "k": "485207", + "m": { + "kind": "aircraft", + "layer": "flights", + "callsign": "KLM64L", + "registration": "PH-EXF", + "type": "E190", + "squawk": "7634" + }, + "p": "773,-25529,534072,1090,100,238,132,4722,-474,22,100,243,121,4349,-453,0,100,242,120,4263,-459,0,100,239,130,4578,-520,0,103,241,120,4158,-688,1,105,241,120,4152,-696,0,106,240,121,4139,-685,0,105,241,131,4515,-748,0,105,240,131,4500,-763,0,106,240,121,4140,-588,-109,100,236,121,4009,-271,-140,94,213" + }, + { + "k": "43c8d6", + "m": { + "kind": "military", + "layer": "military", + "callsign": "CWL35", + "registration": "ZM335", + "type": "E50P", + "squawk": "1735", + "military": true + }, + "p": "773,-4787,530309,23,82,67,40,447,93,36,42,98,40,404,269,55,43,102,31,307,211,49,40,99,40,367,286,55,35,102,41,354,318,47,32,107,40,354,323,27,33,111,39,371,338,0,33,115,41,363,348,1,32,112,40,200,368,-1,336,117,40,-562,68,-1,222,105,68,524,-376,1,115,92,43,553,-150,-1,115,93,40,506,-134,1,112,93,40,519,-121,0,110,92,40,515,-115,-1,111,92,40,512,-109,-1,90,94,41,236,296,0,337,114,39,-523,245,2,300,114,41,-603,178,18,295,103,39,-551,151,12,294,105,40,-615,148,0,290,114,40,-647,109,-1,253,110,41,178,-132,1,43,108,47,10,486,2,355,114,44,-73,448,-13,354,124,40,-120,444,-26,348,123,30,-122,334,-26,347,124,41,-197,414,4,342,112,40,-162,371,0,12,103,40,439,65,-2,146,90,40,194,-308,1,160,93,40,202,-316,0,158,93,40,199,-307,-1,160,92,40,201,-308,0,158,92" + }, + { + "k": "4caed8", + "m": { + "kind": "aircraft", + "layer": "flights", + "callsign": "EIN7HL", + "registration": "EI-NSH", + "type": "A20N", + "squawk": "4223" + }, + "p": "772,-4781,514648,8,89,54,41,429,1,43,90,72,40,340,-153,37,169,98,31,-226,-264,30,235,125,40,-767,-31,63,275,138,41,-810,35,52,274,142,40,-836,27,25,272,147,39,-844,18,41,272,151,41,-919,87,42,295,170,40,-912,285,10,297,178,40,-917,285,12,296,177,71,-1634,506,60,296,179,40,-937,288,25,296,183,40,-953,293,55,296,187,40,-960,315,53,298,191,121,-3294,526,146,277,201,121,-3600,280,113,277,211,139,-4310,322,82,277,224" + }, + { + "k": "43bfdd", + "m": { "kind": "aircraft", "layer": "flights", "callsign": "LEADER 8" }, + "p": "769,-1730,511535,0,273,11,136,-104,21,0,340,14,40,-39,-10,0,155,8" + }, + { + "k": "a0a54d", + "m": { + "kind": "aircraft", + "layer": "flights", + "callsign": "UAL973", + "registration": "N14019", + "type": "B78X", + "squawk": "4417" + }, + "p": "773,45006,509094,0,194,15,40,-85,-205,18,195,84,40,-234,-256,62,240,88,31,-395,20,40,304,110,40,-463,374,32,323,140,41,-530,429,44,321,152,40,-598,396,61,314,153,39,-624,388,50,313,159,41,-814,329,19,292,177,40,-1013,222,28,289,194,40,-1055,235,51,290,198,71,-1937,425,86,289,205,40,-1127,244,42,289,210,40,-1143,245,39,289,216,120,-2996,1429,148,311,219,120,-2832,1542,95,311,228,120,-3151,1531,80,304,235,132,-3813,1581,60,304,248,131,-3983,1625,34,303,252,120,-3722,1495,30,303,254,120,-3725,1474,-1,303,253" + }, + { + "k": "502ccf", + "m": { + "kind": "aircraft", + "layer": "flights", + "callsign": "BTI6RZ", + "registration": "YL-CSF", + "type": "BCS3", + "squawk": "1000" + }, + "p": "772,47689,523013,0,236,37,41,-346,-129,25,239,76,40,-389,-138,40,252,86,31,-437,64,26,309,121,40,-75,450,56,28,137,41,455,450,40,32,155,40,462,478,62,30,154,39,469,485,48,31,162,41,500,508,57,35,163,40,784,317,38,66,168,40,957,258,35,66,181,72,1787,481,74,66,189,39,1030,275,40,66,193,40,1055,281,38,66,197" + }, + { + "k": "406ae2", + "m": { + "kind": "aircraft", + "layer": "flights", + "callsign": "EFW88UA", + "registration": "G-EUYV", + "type": "A320", + "squawk": "2150" + }, + "p": "793,-1866,511514,0,259,9,59,-63,-8,0,259,8,30,-40,-6,0,259,11,42,-68,-9,0,259,12,41,-64,-9,0,259,9,100,30,-23,0,76,37,40,393,56,42,77,73,40,432,52,33,78,89,39,551,106,23,53,112,52,-27,493,29,315,129,40,-745,59,2,259,145,40,-820,-99,0,260,146,40,-826,-95,17,260,147,40,-820,-101,14,258,144,40,-803,-106,40,258,144,41,-769,-197,67,228,149,39,-621,-381,45,226,164,40,-720,-448,26,225,185,40,-893,-310,52,255,181,40,-994,-163,38,255,178,40,-982,-159,44,256,181,41,-1033,-168,34,256,189,50,-1331,-218,53,255,192,41,-1074,-191,40,247,196,131,-1996,-2024,117,206,213,120,-1690,-2182,80,206,221,120,-1688,-2187,64,207,234" + }, + { + "k": "4016b8", + "m": { + "kind": "aircraft", + "layer": "flights", + "callsign": "GAVBH", + "registration": "G-AVBH", + "type": "P28A", + "squawk": "7350" + }, + "p": "793,9346,527586,21,207,44,39,-250,42,8,344,62,52,162,157,7,143,44,40,3,-141,10,196,44,40,-241,39,4,351,51,40,136,100,-19,82,36,81,157,-197,-9,210,44,37,-228,19,18,348,56,43,66,172,-8,68,35" + }, + { + "k": "4846e1", + "m": { + "kind": "aircraft", + "layer": "flights", + "callsign": "V8", + "registration": "GND", + "type": "GND" + }, + "p": "793,47439,523162,0,3,10,37,4,34,0,3,11,50,-1,-2,0,183,10,37,-3,-33,0,183,10,65,-2,-25,0,0,10,42,7,45,0,354,12,78,0,-3,0,191,10,193,-7,-42,0,3,11,39,7,47,0,349,11,35,-2,11,0,183,9,35,-3,-32,0,183,11,173,-2,-20,0,3,8,39,7,38,0,0,12,60,0,1,0,177,11,47,-7,-46,0,180,10,45,6,42,0,20,17,36,-1,18,0,183,10,117,-4,-49,0,0,8,34,6,36,0,352,12,44,-2,12,0,180,13,80,-4,-43,0,0,12,37,5,43,0,0,13" + }, + { + "k": "485f85", + "m": { + "kind": "aircraft", + "layer": "flights", + "callsign": "KLM567", + "registration": "PH-BKS", + "type": "B78X", + "squawk": "3132" + }, + "p": "793,47799,523187,0,183,31,40,-21,-238,16,183,83,51,186,-350,43,117,102,41,670,-43,38,93,122,40,766,-24,32,93,140,40,827,-23,58,93,140,39,826,-22,49,93,144,41,857,-27,48,93,147,40,842,-102,45,119,145,40,694,-295,47,125,145,71,1336,-587,41,125,172,41,861,-373,27,125,183" + }, + { + "k": "47878d", + "m": { + "kind": "aircraft", + "layer": "flights", + "callsign": "NOZ4LH", + "registration": "LN-DYX", + "type": "B738", + "squawk": "0733" + }, + "p": "793,55854,522316,1085,211,216,131,-2114,-2193,0,211,218,120,-1937,-2034,0,210,220,121,-1928,-2053,0,210,221,131,-2102,-2255,0,210,220,120,-1883,-2048,1,210,219,120,-1862,-2041,0,210,218,120,-1840,-2034,32,210,217,132,-2005,-2241,0,212,219,131,-2123,-2180,0,212,217" + }, + { + "k": "4081bc", + "m": { + "kind": "aircraft", + "layer": "flights", + "callsign": "BAW71LK", + "registration": "G-TNEG", + "type": "A21N", + "squawk": "1172" + }, + "p": "793,55915,505587,1089,297,226,131,-3733,1199,-1,297,224,120,-3416,1083,-1,296,225,121,-3473,1085,0,296,231,131,-3838,1182,0,296,227,120,-3500,1061,-1,296,230,120,-3568,1066,1,295,234,120,-3622,1066,-2,295,228,132,-3918,1136,-1,295,230,131,-3791,1083,-123,294,211,120,-3216,902,-109,294,194,120,-2966,821,-109,294,183" + }, + { + "k": "407e45", + "m": { + "kind": "aircraft", + "layer": "flights", + "callsign": "EXS021J", + "registration": "G-SUNB", + "type": "A21N", + "squawk": "6213" + }, + "p": "813,-25975,530531,1049,164,224,132,1831,-2403,-9,148,219,120,1942,-1932,-107,149,207,120,1829,-1843,-118,149,193,131,1854,-1885,-122,149,182,120,1624,-1645,-96,146,174,41,527,-495,-2,147,153,39,464,-439,0,147,148,40,471,-446,-1,147,148,40,479,-453,-59,147,157,40,520,-495,-62,147,165,40,520,-496,-16,147,164,41,519,-496,-13,147,163,50,651,-624,0,147,164,41,517,-497,0,147,166,40,477,-518,0,154,165,31,323,-411,-16,154,163,40,428,-532,-43,154,163,40,402,-524,-19,154,162,40,396,-518,-10,155,161,40,392,-525,-4,155,160,40,389,-522,0,155,161,40,392,-522,-4,155,163,40,395,-532,-17,155,163" + }, + { + "k": "aaa012", + "m": { + "kind": "aircraft", + "layer": "flights", + "callsign": "ASA180", + "registration": "N784HA", + "type": "B789", + "squawk": "1143" + }, + "p": "813,-25908,527620,1176,139,259,132,3335,-2301,0,139,258,120,3506,-1769,39,122,264,121,4016,-1518,24,122,263,130,4231,-1627,2,122,264,120,3877,-1514,0,122,262,120,3833,-1521,0,123,263,121,3818,-1537,0,123,261,131,4113,-1682,1,123,260,131,4081,-1695,0,124,260,120,3711,-1566,1,124,262,121,3711,-1587,1,124,263" + }, + { + "k": "4b18f2", + "m": { + "kind": "aircraft", + "layer": "flights", + "callsign": "EDW28K", + "registration": "HB-JLQ", + "type": "A320", + "squawk": "2063" + }, + "p": "813,-25265,535650,1110,161,232,132,1836,-2545,1,156,235,120,1812,-2292,0,151,238,121,2051,-2280,2,152,237,130,2168,-2434,-1,152,238,120,1984,-2256,0,152,238,121,1962,-2255,1,152,237,121,1967,-2292,0,152,237,130,2113,-2428,0,147,239,131,2792,-2234,0,142,241,120,2561,-2035,1,142,240,120,2543,-2044,0,142,241" + }, + { + "k": "407ea1", + "m": { + "kind": "aircraft", + "layer": "flights", + "callsign": "DHK849", + "registration": "G-DHLO", + "type": "B763", + "squawk": "2071" + }, + "p": "813,-13453,528307,0,87,33,40,400,7,65,93,75,31,357,-11,60,93,79,40,534,-97,59,130,110,41,565,-295,68,140,136,40,22,-482,35,211,147,40,-453,-478,33,184,173,40,228,-628,46,167,180,39,189,-628,49,171,182,41,147,-664,52,173,188,71,255,-1237,84,173,200,40,156,-715,39,172,202,120,489,-2231,199,172,216,120,2089,-1948,74,135,228,120,3029,-1540,1,121,228,131,3678,-1372,1,121,225,132,3671,-1387,0,121,226,121,3339,-1278,1,122,227,121,3878,-400,0,93,229" + }, + { + "k": "501c0c", + "m": { + "kind": "aircraft", + "layer": "flights", + "callsign": "EXS7MJ", + "registration": "9A-ABC", + "type": "B738", + "squawk": "7475" + }, + "p": "813,-12518,502017,694,28,220,111,1489,1833,-103,27,193,41,502,619,-37,27,187,40,472,591,-45,27,184,39,461,564,-45,27,179,41,472,570,-38,28,172,40,441,534,-40,27,167,40,426,529,-42,27,164,71,739,909,-57,28,149,40,376,455,-25,28,139,40,360,422,-19,29,130,40,337,405,-23,27,123,40,317,392,-26,27,122,40,302,394,-29,25,121,41,414,343,-17,41,116,39,406,301,-23,40,108,40,445,231,-16,68,100,40,540,77,-21,78,95,40,516,73,-20,77,90,41,455,63,-18,78,77,40,414,58,-16,77,73,48,505,71,-19,77,76,40,313,43,-15,76,22" + }, + { + "k": "4cad39", + "m": { + "kind": "aircraft", + "layer": "flights", + "callsign": "RYR1T", + "registration": "EI-HEY", + "type": "B38M", + "squawk": "2261" + }, + "p": "812,2391,518879,15,223,71,41,-361,-237,39,224,90,31,-300,-200,25,223,110,40,-596,-97,58,303,124,41,-205,412,56,346,128,39,-609,285,23,275,149,40,-879,13,39,271,153,41,-908,-21,49,255,161,40,-932,-197,33,250,176,40,-937,-256,51,230,178,71,-1312,-826,84,224,183,40,-740,-487,40,223,188,40,-753,-483,40,225,190,40,-790,-491,37,225,194,121,-2114,-1599,119,198,196,121,179,-2157,85,158,212,120,1407,-2189,73,158,225,130,1571,-2469,73,158,234,131,1641,-2616,59,158,243,120,1483,-2397,69,159,242" + }, + { + "k": "a4c592", + "m": { + "kind": "aircraft", + "layer": "flights", + "callsign": "JBU1621", + "registration": "N4062J", + "type": "A21N", + "squawk": "6462" + }, + "p": "814,-4853,514648,0,90,11,39,330,1,13,90,86,31,370,1,40,87,84,40,458,205,17,49,109,41,536,289,25,49,131,40,692,203,43,73,135,40,690,220,43,41,142,40,67,492,7,344,143,40,-230,495,0,344,145,40,-231,499,22,343,145,71,-446,910,80,343,149,40,-268,542,19,343,166,40,-284,601,19,344,183,40,-292,646,36,345,188,40,-290,657,35,345,192,40,-330,669,33,338,197,41,-491,650,34,335,200,39,-492,650,33,335,202,40,-506,660,33,335,205,40,-508,679,30,336,208,40,-570,662,28,330,211,131,-2114,2163,78,325,219,132,-2413,2181,70,326,224,121,-2240,2019,54,326,225,121,-2286,2038,51,326,227" + }, + { + "k": "345206", + "m": { + "kind": "aircraft", + "layer": "flights", + "callsign": "VLG7291", + "registration": "EC-MLE", + "type": "A320", + "squawk": "5227" + }, + "p": "828,-1875,511513,0,259,9,117,-126,-18,0,259,9,40,-56,-7,0,259,11,253,-51,-35,0,79,8,38,290,39,16,79,82,40,452,58,45,79,88,40,564,82,22,71,108,40,276,336,15,351,121,40,-493,297,18,279,138,41,-820,-86,22,259,146,39,-807,-94,30,260,146,40,-818,-95,21,259,147,40,-818,-107,22,258,145,41,-792,-120,80,256,140,39,-809,-123,48,257,151,41,-847,-132,60,255,154,50,-1118,-177,58,257,161,41,-899,-142,53,256,161,40,-834,-263,41,238,168,31,-484,-368,29,214,175,120,-1803,-1716,83,214,199,120,-1855,-1782,114,213,196" + }, + { + "k": "43c8e0", + "m": { + "kind": "military", + "layer": "military", + "callsign": "SYS71", + "registration": "ZM506", + "type": "EC35", + "squawk": "7421", + "helicopter": true, + "military": true, + "country": "United Kingdom" + }, + "p": "852,-24427,528153,31,269,50,32,-114,78,0,36,44,39,243,27,0,93,44,39,256,0,0,88,43,34,224,15,0,91,45,45,106,-116,-4,212,37,33,-139,-11,-1,275,22,30,-98,4,-3,271,23,592,24,35,2,46,33,42,172,23,0,42,36,47,-131,-63,-1,275,20" + }, + { + "k": "471fae", + "m": { + "kind": "aircraft", + "layer": "flights", + "callsign": "WMT729", + "registration": "HA-LZY", + "type": "A21N", + "squawk": "4711" + }, + "p": "853,-15284,535932,459,119,164,31,670,-225,38,119,165,40,890,-292,35,118,171,41,914,-296,43,119,173,120,2857,-921,102,118,183,151,3702,-1191,106,119,189,120,3173,-942,51,103,207,121,3728,-497,60,103,216,121,3872,-535,56,103,223,120,3934,-523,44,102,230,130,4416,-614,45,104,236,131,4493,-618,9,103,237,120,4124,-513,-1,100,237" + }, + { + "k": "48644b", + "m": { + "kind": "helicopter", + "layer": "flights", + "callsign": "NCG06", + "registration": "PH-NCG", + "type": "A189", + "squawk": "5177", + "helicopter": true, + "ladd": true, + "country": "Kingdom of the Netherlands" + }, + "p": "852,46518,524792,11,56,2,32,-20,-50,11,167,25,40,62,-95,-1,150,33,41,198,-97,0,129,45,39,190,-108,-3,134,46,40,215,-99,0,117,45,41,270,-39,0,99,49,40,285,-35,0,102,50,40,222,-27,0,104,33,71,398,-56,0,100,46,40,264,-38,0,117,45,40,198,-111,1,140,41,40,143,-131,-1,168,43,40,166,-108,0,100,48,40,265,-41,0,96,47,41,213,-54,0,145,39,39,106,-121,0,145,36,40,143,-85,0,129,29,40,94,-69,0,147,26,40,93,-97,0,160,31,40,-26,-92,0,204,29,41,-105,-85,0,228,31,50,-148,-107,0,204,33,41,-58,-96,-1,221,20,40,-59,-37,-4,227,11,31,-24,-16,-5,221,5,41,7,-53,11,123,35,39,155,-101,4,143,40,40,242,-59,1,73,55,40,259,136,-1,45,59,40,236,143,0,46,57,40,239,162,-3,28,69,40,137,218,1,20,61" + }, + { + "k": "486905", + "m": { + "kind": "aircraft", + "layer": "flights", + "callsign": "KLM359", + "squawk": "3166" + }, + "p": "853,47709,523020,0,236,32,31,-267,-103,21,237,85,40,-448,-191,56,230,99,41,-490,-280,54,238,120,40,-719,-119,65,278,143,39,-665,327,68,332,161,41,-503,522,52,325,176,40,-675,528,41,322,194,40,-709,566,58,323,201,71,-1315,1033,102,322,209,40,-760,598,58,322,212,120,-2397,1860,133,322,226,120,-2539,1982,104,327,241,120,-1711,2386,94,341,248,131,-1621,2789,108,341,248" + }, + { + "k": "4cac7a", + "m": { + "kind": "aircraft", + "layer": "flights", + "callsign": "SAS1547", + "registration": "EI-SIK", + "type": "A20N", + "squawk": "0743" + }, + "p": "853,55761,525179,300,243,136,31,-636,-25,-14,277,145,40,-861,60,-23,276,144,41,-852,56,-21,276,144,40,-846,54,-22,276,143,39,-824,55,-21,276,142,41,-831,56,-21,276,141,40,-824,51,-21,276,140,40,-809,51,-20,276,136,71,-1304,51,-20,253,106,40,-342,-253,-4,202,89,40,-70,-313,-6,184,87,40,-32,-306,-18,183,85,41,-26,-278,-17,183,65,39,-20,-229,-13,183,66,41,-21,-217,-13,183,57,39,-19,-206,-12,183,59,40,-20,-212,-13,183,61,40,-20,-221,-12,184,64,40,-18,-200,-9,183,37,39,21,-53,0,183,12,41,0,-36,0,183,11,51,31,-36,0,132,10,40,48,-26,0,132,13,39,50,-17,0,62,8,33,37,14,0,59,10,40,51,20,0,59,11" + }, + { + "k": "40838a", + "m": { + "kind": "aircraft", + "layer": "flights", + "callsign": "EZY94MC", + "country": "United Kingdom", + "squawk": "2727" + }, + "p": "80,-1895,511510,0,259,9,841,-208,-56,0,76,17,44,396,55,31,77,83,40,498,69,50,79,97,39,566,-12,47,125,109,41,215,-379,57,169,120,40,182,-468,34,163,144,40,250,-510,58,163,155,71,337,-985,99,183,170,40,-37,-604,76,182,164,40,-27,-597,56,182,168,40,-30,-618,54,182,172,121,-95,-1941,134,182,186,121,-50,-2091,104,181,199" + }, + { + "k": "a8886d", + "m": { + "kind": "aircraft", + "layer": "flights", + "callsign": "UAL924", + "registration": "N649UA", + "type": "B763", + "squawk": "5153" + }, + "p": "884,-25853,514152,715,96,200,121,3355,-225,-95,96,188,39,1049,-73,-32,96,185,41,1060,-77,-31,97,181,40,1012,-71,-30,96,178,40,1005,-72,-31,97,174,71,1756,-128,-52,97,169,40,949,-72,-31,97,167,40,946,-70,-18,97,164,40,922,-71,-13,97,162,40,881,-69,0,97,148,40,823,-63,0,97,145,41,834,-34,-22,91,141,39,791,-7,-9,91,139,40,782,-7,0,91,136,40,790,-8,0,91,138,40,787,-9,0,91,136,40,777,-8,-1,91,135,41,782,-10,-28,91,134,50,971,-12,-3,91,137,41,791,-10,-1,92,132,40,752,-28,-25,94,132,31,577,-14,-4,92,131,40,616,-236,0,154,137,40,-198,-427,-15,232,129,40,-668,9,-22,304,122,40,-417,344,-23,322,120,40,-376,365,-1,330,120,40,-40,412,0,3,120,40,32,428,0,1,121" + }, + { + "k": "407d74", + "m": { + "kind": "aircraft", + "layer": "flights", + "callsign": "BAW706", + "registration": "G-TTNT", + "type": "A20N", + "squawk": "2731" + }, + "p": "884,-4777,514648,8,89,54,40,445,0,48,89,79,41,489,-102,35,120,104,40,641,-166,32,109,133,39,758,-133,27,102,140,40,794,-109,31,103,142,41,806,-112,7,103,144,40,804,-115,0,103,142,71,1412,-201,76,103,142,40,816,-119,52,103,156,40,900,-129,53,103,165,40,978,-141,34,103,182,40,1033,-151,52,103,187,40,1061,-162,46,106,194,41,1087,-199,50,106,197,39,1083,-196,46,105,202,121,3529,-505,112,103,217,130,4077,-610,106,104,229,132,4276,-677,69,104,240,121,3982,-650,81,105,237,121,4070,-676,40,105,248" + }, + { + "k": "400e92", + "m": { + "kind": "aircraft", + "layer": "flights", + "callsign": "UAH80", + "registration": "G-BYWO", + "type": "G115", + "squawk": "2611" + }, + "p": "884,-4756,530274,33,165,35,40,-233,-55,-2,263,49,41,-268,18,-3,334,46,100,472,72,-1,88,34,40,84,-98,0,213,39,39,-250,-21,-2,273,46,39,-264,14,1,281,45,46,87,78,-11,83,36,67,350,27,12,84,36,30,45,38,-9,244,44,31,-87,-71,5,115,38,39,168,-23,19,197,32,41,-224,-32,17,271,42,40,-251,16,15,316,47,39,155,99,0,68,42,40,142,-41,-15,187,31,40,-159,-75,-16,263,39,40,-175,54,-17,33,41,39,161,-22,17,173,30,41,-173,-22,-8,319,49,30,96,56,-17,83,36,42,219,17,1,83,36,39,55,-72,15,230,38,52,-341,-19,0,269,48,41,-128,60,-10,85,38,79,457,32,-4,85,42,40,207,-24,22,129,33,40,176,-57,18,123,34,40,168,-77,16,133,35,40,158,-93,15,135,38" + }, + { + "k": "4842e5", + "m": { "kind": "aircraft", "layer": "flights", "callsign": "TD8" }, + "p": "884,47441,523173,0,14,13,106,239,15,0,84,20,34,77,14,0,28,16,39,46,39,0,101,14,38,35,-39,0,87,16" + }, + { + "k": "c005e9", + "m": { + "kind": "aircraft", + "layer": "flights", + "callsign": "NCG01", + "registration": "C-FCGE", + "type": "DH8A", + "squawk": "5177" + }, + "p": "884,47993,523123,0,309,10,32,-37,19,0,287,9,47,-69,-3,0,262,11,42,-64,-2,0,259,9,140,-25,-1,0,259,8,91,-51,-52,0,180,11,200,-82,-81,0,233,51,41,-330,-124,27,238,71,39,-416,-123,9,268,96,40,-565,42,0,280,97,40,-554,70,1,283,96,40,-542,101,0,293,98,40,-541,138,-2,293,99,40,-364,241,4,352,99,51,-55,460,1,3,101,40,55,363,0,5,101,40,-231,308,0,308,99,31,-367,162,0,306,99,41,-476,225,0,300,97,40,-528,118,-1,287,96,41,-541,101,0,288,96,39,-528,105,0,288,96,37,-492,106,-1,290,96,40,-537,116,1,290,96,43,-501,-12,-1,218,73" + }, + { + "k": "4d24c0", + "m": { + "kind": "aircraft", + "layer": "flights", + "callsign": "9H-CAC", + "registration": "9H-CAC", + "type": "B763", + "squawk": "2233" + }, + "p": "884,55828,507247,81,225,62,40,-251,-158,-5,226,60,41,-216,-136,-11,224,50,39,-207,-130,-12,225,53,40,-228,-145,-11,225,58,41,-244,-152,-13,225,61,228,-187,-141,-29,45,10" + }, + { + "k": "407cb0", + "m": { + "kind": "aircraft", + "layer": "flights", + "callsign": "RUK99FV", + "registration": "G-RUKD", + "type": "B738", + "squawk": "6342" + }, + "p": "905,-25980,532448,133,133,104,40,519,-118,-14,83,95,40,530,109,-24,52,99,39,453,218,-21,51,97,40,447,216,-20,51,95,41,429,207,-20,51,83,40,363,176,-15,52,78,39,315,152,-19,51,43,51,95,69,0,51,10,40,48,23,0,51,12,41,61,29,0,321,11" + }, + { + "k": "4ca8d5", + "m": { + "kind": "aircraft", + "layer": "flights", + "callsign": "RYR86DZ", + "registration": "EI-ENJ", + "type": "B738", + "squawk": "1000" + }, + "p": "905,44256,504522,65,246,81,40,-479,-141,49,247,96,40,-522,-147,52,245,108,39,-601,-140,25,265,124,41,-699,-65,52,259,125,40,-719,-86,53,260,133,40,-785,-90,27,260,156,39,-882,-142,35,238,168,53,-698,-660,72,211,173,39,-516,-534,61,212,176" + }, + { + "k": "4842c4", + "m": { + "kind": "aircraft", + "layer": "flights", + "callsign": "GND", + "registration": "GND", + "type": "GND" + }, + "p": "903,47256,523274,0,129,10,41,53,-37,0,138,14,58,51,-30,0,180,12,38,-4,-40,0,183,10,44,-4,-52,0,183,14,199,65,-79,0,14,13,63,11,93,0,3,16,169,56,22,0,53,14,94,107,-10,0,135,11,178,2,6,0,335,12,74,-107,5,0,228,11,89,-13,15,0,76,10" + }, + { + "k": "484217", + "m": { "kind": "aircraft", "layer": "flights", "callsign": "AMBU2" }, + "p": "900,47450,523285,0,3,8,412,-101,41,0,183,11,41,-4,-38,0,183,10,43,-3,-34,0,183,8" + }, + { + "k": "344698", + "m": { + "kind": "aircraft", + "layer": "flights", + "callsign": "VLG96CC", + "registration": "EC-MGE", + "type": "A320", + "squawk": "1000" + }, + "p": "905,47799,523183,0,183,34,40,-19,-232,33,175,70,40,94,-278,35,168,92,39,136,-355,52,168,112,41,25,-437,70,185,122,40,-61,-457,66,187,131,40,-243,-435,69,200,134,39,-295,-486,40,201,151,52,-417,-675,74,201,157,40,-329,-534,49,201,162,40,-342,-560,51,201,168,40,-344,-566,47,201,173,121,-1187,-1785,129,207,183,121,-1390,-1867,81,202,200,121,-1348,-2056,84,202,210,128,-1536,-2374,55,202,227,133,-1558,-2427,107,202,216,121,-1392,-2202,47,202,222" + }, + { + "k": "3c6672", + "m": { + "kind": "aircraft", + "layer": "flights", + "callsign": "DLH3EJ", + "registration": "D-AISR", + "type": "A321", + "squawk": "2016" + }, + "p": "924,-25681,533337,1044,98,233,120,4208,-359,0,98,237,121,4234,-378,1,99,238,131,4599,-430,-1,99,235,120,4142,-438,-2,104,235,120,4082,-629,4,105,236,120,4069,-661,0,109,235,132,4319,-909,0,109,232,132,4262,-913,-2,110,232,121,3965,-871,3,110,236,120,3930,-877,-1,110,236" + }, + { + "k": "06a2e7", + "m": { + "kind": "aircraft", + "layer": "flights", + "callsign": "QTR94R", + "registration": "A7-BHD", + "type": "B789", + "squawk": "4633" + }, + "p": "924,-1912,511508,0,257,8,37,-44,-6,0,257,9,44,-63,-9,0,257,11,34,-57,-8,0,257,13,278,9,-26,0,77,37,39,405,53,24,80,89,40,505,64,45,78,98,40,629,91,28,78,123,41,726,12,53,92,130,39,760,-13,54,92,136,40,793,-13,48,90,143,41,837,-16,51,94,148,39,853,-31,52,93,150,40,866,-18,48,91,154,41,904,-12,41,91,162,50,1253,-7,25,90,184,41,1103,2,21,90,199,40,1137,-71,37,99,203,31,895,-91,29,99,205,40,1189,-121,38,99,210,121,3706,-251,94,94,225,121,3947,-355,87,100,234" + }, + { + "k": "c0584f", + "m": { + "kind": "aircraft", + "layer": "flights", + "callsign": "ACA867", + "registration": "C-GHLM", + "type": "A333", + "squawk": "4225" + }, + "p": "944,-4859,514648,0,90,11,41,332,0,11,90,87,39,477,18,50,65,87,41,452,236,16,48,114,40,535,298,36,51,130,40,694,168,39,72,133,39,541,297,26,15,136,52,-203,633,11,344,143,40,-235,501,0,344,145,40,-245,494,5,342,145,40,-259,504,51,343,147,40,-262,508,51,342,152,40,-281,552,21,343,172,41,-309,631,28,344,188,39,-306,648,49,344,191,40,-375,656,41,335,197,40,-497,644,41,335,202,40,-514,663,44,335,204,40,-508,663,39,335,208,41,-531,690,38,335,212,131,-1801,2325,103,331,224,131,-2414,2245,88,327,233,120,-2339,2150,63,327,240" + }, + { + "k": "4076e3", + "m": { + "kind": "aircraft", + "layer": "flights", + "callsign": "SHT9X", + "registration": "G-NEOU", + "type": "A21N", + "squawk": "6465" + }, + "p": "965,-25937,535658,985,162,230,120,1269,-2331,-1,162,227,151,1706,-2995,2,157,234,120,2019,-2210,-20,148,232,121,2167,-2068,-148,146,216,121,1988,-1827,-97,146,186,120,1690,-1577,-96,147,168,49,638,-614,-34,148,161,41,497,-485,-27,145,156,40,606,-415,-29,138,154,31,465,-317,-22,138,152,40,599,-406,-29,138,150,40,585,-396,-28,138,149,40,576,-388,-29,135,146,40,693,-305,-28,124,147,40,703,-291,-29,124,145,40,695,-289,-29,124,143,40,680,-284,-27,124,141" + }, + { + "k": "4079cc", + "m": { + "kind": "aircraft", + "layer": "flights", + "callsign": "VIR48WE", + "registration": "G-VLIB", + "type": "A35K", + "squawk": "5175" + }, + "p": "965,-25580,514132,717,96,201,120,3330,-224,-106,96,189,40,1062,-75,-18,97,180,40,1026,-74,-41,97,180,71,1795,-127,-58,97,175,40,988,-72,-27,97,172,40,980,-72,-28,97,170,40,908,-69,-18,97,149,41,819,-62,-9,97,141,39,793,-60,0,97,142,41,831,-63,-9,97,144,39,801,-63,-11,97,141,40,803,-46,-10,90,140,40,801,-4,-1,91,138,41,790,-8,0,91,136,39,779,-8,0,91,137,41,794,-8,0,91,136,50,974,-11,-12,91,134,41,777,-10,-12,91,135,40,775,-8,-7,91,135,31,596,-8,-14,91,134,40,776,-12,-17,92,131,40,664,-178,0,128,129,40,611,-269,-15,126,131,40,168,-428,-20,204,132,40,-604,-201,-21,279,124,40,-460,285,-6,348,119,40,-87,419,1,327,120" + }, + { + "k": "42594b", + "m": { "kind": "aircraft", "layer": "flights", "callsign": "SQUID20" }, + "p": "954,-4552,514600,0,180,8,451,-94,148,0,87,13,33,53,0,0,87,17" + }, + { + "k": "4855d2", + "m": { + "kind": "aircraft", + "layer": "flights", + "callsign": "KLM1828", + "registration": "PH-EXP", + "type": "E75L", + "squawk": "4123" + }, + "p": "965,55658,525132,298,263,142,40,-851,40,-20,277,145,39,-823,56,-20,276,143,41,-857,59,-19,276,144,40,-831,54,-20,276,143,40,-842,56,-20,276,141,71,-1471,95,-41,276,140,40,-791,50,-18,276,128,40,-701,44,-9,276,116,40,-660,-13,-11,236,105,40,-239,-313,-14,188,93,40,-33,-309,-11,184,79,41,-31,-282,-10,183,78,39,-28,-277,-16,183,77,40,-24,-251,-15,183,64,40,-21,-233,-14,183,64,40,-21,-237,-13,184,68,40,-23,-248,-15,183,71,41,-22,-233,-8,183,28,50,23,-74,-4,154,16,41,-6,-57,0,183,15,40,37,-33,0,132,12,51,69,-38,0,132,13,40,61,11,0,59,11" + }, + { + "k": "a1aa10", + "m": { + "kind": "aircraft", + "layer": "flights", + "callsign": "UAL932", + "registration": "N206UA", + "type": "B772", + "squawk": "4667" + }, + "p": "985,-25401,517087,1177,99,267,120,4573,-443,1,99,265,131,4925,-497,0,99,264,120,4497,-473,0,100,264,121,4513,-493,0,100,264,121,4525,-514,0,100,264,120,4478,-527,0,101,264,130,4819,-586,1,101,265,131,4878,-616,1,102,264,121,4442,-580,0,102,264" + }, + { + "k": "4cae93", + "m": { + "kind": "aircraft", + "layer": "flights", + "callsign": "RYR99RH", + "registration": "EI-IKE", + "type": "B38M", + "squawk": "2216" + }, + "p": "984,-22703,533582,0,239,8,94,-58,-17,0,228,10,43,-59,-36,0,225,14,43,-62,-32,0,225,13,92,-31,-38,0,51,15,40,276,133,22,51,83,40,444,180,37,80,100,40,446,-226,36,170,114,40,19,-419,35,188,117,40,-119,-420,22,195,123,40,-194,-455,26,193,141,40,45,-509,61,174,143,40,91,-521,56,174,148,41,99,-565,25,174,169,39,105,-614,42,174,175,40,110,-632,43,174,180,41,125,-666,39,173,187,31,100,-517,36,173,189,40,132,-680,41,173,191,40,152,-695,39,172,196,31,123,-536,30,172,198,120,751,-2103,117,152,207,120,1718,-2040,90,153,218" + }, + { + "k": "a4ce71", + "m": { + "kind": "aircraft", + "layer": "flights", + "callsign": "DAL59", + "registration": "N409DX", + "type": "A339", + "squawk": "5152" + }, + "p": "982,-4756,514666,0,270,8,434,-92,-18,0,90,16,40,341,0,13,91,86,40,460,31,43,61,86,40,457,226,13,50,114,40,556,288,25,52,133,41,722,192,44,72,136,39,579,302,40,18,142,40,-198,478,42,330,145,41,-439,453,46,329,146,30,-334,347,30,329,148,41,-484,488,16,328,167,40,-531,529,16,328,181,31,-435,442,23,329,186,41,-568,593,32,329,190,39,-562,592,32,329,193,40,-565,608,33,331,196,40,-555,609,33,331,196,40,-570,627,26,331,201,40,-581,635,29,331,203,40,-588,630,30,330,203" + }, + { + "k": "425938", + "m": { "kind": "aircraft", "layer": "flights", "callsign": "FIRE 2" }, + "p": "973,-1787,511551,0,73,14,48,88,15,0,76,15" + }, + { + "k": "3475d9", + "m": { + "kind": "aircraft", + "layer": "flights", + "callsign": "VLG3CY", + "registration": "EC-ODL", + "type": "A320", + "squawk": "1000" + }, + "p": "985,44977,509092,0,53,10,531,25,-8,0,194,31,40,-91,-222,37,191,72,40,157,-207,66,144,60,40,219,-206,24,147,81,41,235,-262,41,174,84,40,-419,-224,28,245,117,50,-730,-304,74,229,126,41,-575,-315,48,229,141,40,-642,-353,39,229,156,31,-524,-288,44,229,159,40,-696,-384,54,229,162,40,-685,-380,53,229,165,40,-716,-398,45,229,170,40,-704,-423,46,217,173,120,-1559,-1648,105,209,188" + }, + { + "k": "c079ce", + "m": { + "kind": "aircraft", + "layer": "flights", + "callsign": "WJA10", + "registration": "C-GUDH", + "type": "B789", + "squawk": "6303" + }, + "p": "1005,-25993,528544,1175,140,259,120,2948,-2145,-1,140,258,131,3175,-2343,1,141,258,120,2862,-2142,1,141,257,121,2839,-2152,0,141,258,120,2820,-2164,1,141,259,120,2802,-2178,0,141,258,142,3277,-2583,1,142,259,120,2774,-2219,-43,142,260,120,2668,-2157,-105,142,248" + }, + { + "k": "44cc42", + "m": { + "kind": "aircraft", + "layer": "flights", + "callsign": "BEL6VP", + "registration": "OO-SBB", + "type": "A20N", + "squawk": "1000" + }, + "p": "1003,44990,509054,8,194,52,41,-74,-235,45,171,60,41,172,-184,58,143,58,40,228,-215,35,146,87,40,338,-306,37,145,119,71,814,-657,119,139,136,40,546,-394,48,132,160,40,959,-232,24,105,196,41,965,-343,53,125,197,39,934,-413,46,125,206,40,964,-428,52,125,210,41,997,-446,49,125,215,121,3615,-798,135,107,229" + }, + { + "k": "4851b1", + "m": { + "kind": "aircraft", + "layer": "flights", + "callsign": "KLM755", + "registration": "PH-BHF", + "type": "B789", + "squawk": "2124" + }, + "p": "1005,47736,523031,0,239,27,39,-339,-131,15,238,91,41,-448,-184,43,228,95,40,-446,-266,30,237,116,40,-681,-158,51,251,128,71,-1321,-274,85,251,141,40,-781,-165,56,251,140,40,-782,-170,42,249,146,40,-800,-216,44,246,152,40,-825,-229,43,245,156,40,-836,-234,41,245,161,41,-875,-247,31,245,169,39,-925,-263,17,245,184,40,-1014,-284,28,245,193,40,-1028,-295,40,245,196,121,-3179,-918,106,245,206,131,-3878,-590,100,262,218,131,-4205,-351,88,263,226,120,-3959,-324,64,262,232" + }, + { + "k": "484209", + "m": { "kind": "aircraft", "layer": "flights", "callsign": "C4" }, + "p": "1004,47749,523095,0,6,23,59,-96,56,0,264,18,40,-108,-1,0,338,13,670,-77,-8,0,20,10,71,103,10,0,87,16,33,83,-1,0,87,19,102,75,1,0,301,12,31,-49,1,0,253,14,63,-130,-6,0,267,9,66,-111,10,0,3,14,30,30,23,0,84,15" + }, + { + "k": "40615b", + "m": { + "kind": "aircraft", + "layer": "flights", + "callsign": "BAW732", + "registration": "G-EUYF", + "type": "A320", + "squawk": "0520" + }, + "p": "1024,-4842,514749,0,90,9,78,53,-19,0,180,8,32,0,-30,0,180,11,744,-1,-52,24,90,47,41,474,2,29,89,81,40,457,-133,31,147,108,40,225,-423,27,170,136,40,-226,-463,29,206,139,40,-288,-468,29,192,146,40,-183,-565,19,192,170,40,-211,-596,12,193,172" + }, + { + "k": "425959", + "m": { "kind": "aircraft", "layer": "flights", "callsign": "SQUID34" }, + "p": "1023,-4816,514744,0,90,12,41,69,1,0,87,13" + }, + { + "k": "425953", + "m": { "kind": "aircraft", "layer": "flights", "callsign": "SQUID28" }, + "p": "1019,-4787,514738,0,53,11,46,55,7,0,90,10,450,146,3,0,87,10,73,90,-1,0,90,9" + }, + { + "k": "4ca622", + "m": { + "kind": "aircraft", + "layer": "flights", + "callsign": "RYR8XC", + "registration": "EI-DWV", + "type": "B738", + "squawk": "1000" + }, + "p": "1023,44360,504551,48,245,83,42,-509,-151,51,246,107,40,-572,-160,62,245,110,39,-579,-157,17,251,120,41,-690,-98,61,261,127,51,-955,-104,72,260,142,40,-863,-88,34,261,164,40,-930,-99,57,260,170,40,-819,-260,58,215,169,40,-445,-542,57,209,172,40,-475,-545,51,209,177" + }, + { + "k": "484271", + "m": { "kind": "aircraft", "layer": "flights", "callsign": "484271" }, + "p": "1018,47824,523210,0,0,17,46,-46,7,0,219,16,63,-172,-32,0,264,23,52,-161,-6,0,236,10,45,23,-34,0,101,23" + }, + { + "k": "4d22b5", + "m": { + "kind": "aircraft", + "layer": "flights", + "callsign": "RYR99AK", + "registration": "9H-LON", + "type": "A320", + "squawk": "1117" + }, + "p": "1024,55868,520001,1087,213,216,121,-2049,-1957,-1,213,217,131,-2229,-2156,1,213,217,120,-2014,-1965,-1,213,216,120,-1987,-1964,0,212,216,121,-1966,-1959,-2,212,216,130,-2131,-2146,3,212,215,132,-2122,-2164,1,212,217,121,-1930,-1981,30,212,217" + }, + { + "k": "4080c0", + "m": { + "kind": "aircraft", + "layer": "flights", + "callsign": "BAW26E", + "registration": "G-ZBLL", + "type": "B78X", + "squawk": "6227" + }, + "p": "994,-4809,514674,0,269,129,562,-18,-26,0,89,30,40,399,2,10,89,97,40,520,81,53,50,96,40,472,240,17,51,117,41,600,282,22,62,135,50,916,252,53,47,142,41,152,486,43,339,147,40,-406,466,43,330,150,31,-336,368,33,331,152,40,-449,491,30,330,162,40,-493,530,23,330,175,41,-505,556,39,331,178,39,-496,567,37,332,182,40,-506,575,34,331,185,40,-514,593,34,333,188,40,-506,604,37,333,190" + }, + { + "k": "407f61", + "m": { + "kind": "aircraft", + "layer": "flights", + "callsign": "EZY19BE", + "registration": "G-EJCH", + "type": "A320", + "squawk": "6763" + }, + "p": "1044,15794,502002,936,331,231,121,-2053,2100,-153,310,228,131,-3266,1507,-178,306,208,40,-935,424,-49,305,204,40,-937,422,-49,305,200,40,-896,420,-48,309,197,40,-861,440,-45,309,194,40,-851,433,-41,309,189,40,-800,406,-19,309,174,40,-739,375,-15,309,159,41,-705,355,-28,308,154,39,-673,333,-31,308,152,40,-805,188,-10,277,154,41,-870,66,-10,276,149,30,-633,45,-6,277,148,41,-836,61,-9,277,146,40,-820,61,-9,277,143,30,-618,47,-20,277,142,41,-804,67,-32,278,139,40,-790,77,-23,279,142,40,-762,71,-11,278,129,40,-507,237,-8,343,110,40,-121,361,-12,348,97,40,-64,327,-22,20,92,40,351,247,-19,45,92" + }, + { + "k": "4952cd", + "m": { + "kind": "aircraft", + "layer": "flights", + "callsign": "TAP752", + "registration": "CS-TVM", + "type": "A20N", + "squawk": "2353" + }, + "p": "1044,27429,502098,1182,40,246,121,2680,2014,-2,41,246,131,2971,2204,2,41,247,120,2746,2015,0,41,248,120,2802,2028,-1,41,250,120,2823,2020,1,41,252,132,3133,2215,-1,42,250,131,3162,2203,-1,42,250,120,2901,1997,1,42,250,120,2933,1990,0,42,250" + }, + { + "k": "4cad3c", + "m": { + "kind": "aircraft", + "layer": "flights", + "callsign": "RYR26QM", + "registration": "EI-HMT", + "type": "B38M", + "squawk": "2044" + }, + "p": "1065,-21430,535879,405,197,198,40,-355,-685,53,197,195,40,-329,-638,71,197,182,132,-181,-2078,113,170,199,121,802,-2261,57,158,224,120,1543,-2312,74,158,234,120,1641,-2325,76,157,238,129,519,-2719,73,177,238,132,255,-2793,80,175,237,121,1508,-2410,56,147,242,121,2356,-2220,44,146,244" + }, + { + "k": "425952", + "m": { "kind": "aircraft", "layer": "flights", "callsign": "425952" }, + "p": "1062,-4849,514744,0,28,11,36,63,2,0,121,11" + }, + { + "k": "4855d0", + "m": { + "kind": "aircraft", + "layer": "flights", + "callsign": "KLC1056", + "registration": "PH-EXN", + "type": "E75L", + "squawk": "6352" + }, + "p": "1065,13041,526762,33,89,61,40,261,-152,29,162,79,40,161,-319,39,163,98,39,201,-370,52,160,119,52,294,-535,110,162,115,40,221,-407,54,162,128,40,246,-456,43,162,144,40,284,-530,38,162,161,40,324,-564,47,155,171,40,549,-503,81,143,160,41,668,-413,52,117,168,39,1010,-173,16,104,190,120,3174,-487,30,104,186,131,3470,-516,1,90,190,132,3453,812,0,67,192,80,2100,543,-35,67,196,41,1062,272,-38,67,190,39,995,253,-36,67,185,40,1005,255,-35,68,185,40,991,251,-35,68,181,40,961,242,-35,68,175" + }, + { + "k": "801859", + "m": { + "kind": "aircraft", + "layer": "flights", + "callsign": "AIC129", + "registration": "VT-AWB", + "type": "B789", + "squawk": "3256" + }, + "p": "1065,55501,509053,1215,290,237,121,-3842,895,0,290,236,130,-4081,931,-2,290,234,120,-3779,847,0,289,234,120,-3763,830,-1,289,234,120,-3817,825,-6,289,235,132,-4127,874,-84,289,225,131,-3916,814,-99,288,211,121,-3367,689,-89,288,197,121,-3228,647,-103,288,190" + }, + { + "k": "407281", + "m": { + "kind": "helicopter", + "layer": "flights", + "callsign": "CTK06", + "registration": "G-EMHN", + "type": "A109", + "squawk": "7000", + "helicopter": true + }, + "p": "1084,-25237,535990,110,259,38,39,-464,-47,0,260,41" + }, + { + "k": "400a7d", + "m": { + "kind": "aircraft", + "layer": "flights", + "callsign": "BAW7RL", + "registration": "G-DBCB", + "type": "A319", + "squawk": "5211" + }, + "p": "1085,-4831,514648,0,90,33,40,378,3,27,89,76,40,438,-37,41,120,89,71,413,-677,62,174,137,40,217,-481,31,163,140,40,228,-482,20,164,142,41,215,-500,7,165,141,39,199,-491,3,166,142,40,210,-503,64,166,148,41,208,-545,51,166,164,39,235,-608,35,167,184,40,249,-651,62,167,187,40,250,-659,56,166,191,40,258,-675,46,167,198,40,266,-702,52,166,202,132,1662,-2125,164,138,205,131,3003,-1567,118,123,218,120,2883,-1510,86,140,225" + }, + { + "k": "4078dd", + "m": { + "kind": "aircraft", + "layer": "flights", + "callsign": "BAW21ML", + "registration": "G-XWBF", + "type": "A35K", + "squawk": "7654" + }, + "p": "1105,-25801,514183,693,96,203,131,3696,-263,-102,97,192,41,1091,-81,-30,97,188,39,1047,-79,-29,97,181,40,1006,-75,-28,97,174,40,985,-74,-27,97,171,41,966,-74,-27,97,168,40,953,-74,-27,97,165,39,907,-72,-11,97,154,40,829,-62,0,97,140,40,794,-59,0,97,141,40,810,-62,0,97,142,40,800,-63,0,97,140,41,814,-20,0,90,140,50,1007,-10,-14,91,138,40,787,-7,-16,91,136,41,782,-9,-1,91,135,31,599,-6,0,91,134,40,771,-9,-14,91,134,40,764,-10,-16,91,131,40,756,-9,-1,91,134,40,747,-9,-8,92,129,40,740,-25,-20,104,130,40,627,-251,-20,126,132,40,560,-313,-14,156,131" + }, + { + "k": "406666", + "m": { + "kind": "aircraft", + "layer": "flights", + "callsign": "EZY12WY", + "registration": "G-EZUL", + "type": "A320", + "squawk": "1424" + }, + "p": "1105,-25563,532657,955,120,212,131,3598,-1263,1,130,213,120,2126,-1884,1,147,211,121,2062,-1919,-45,147,211,121,2045,-1863,-183,145,198,58,970,-857,-140,146,202,40,666,-610,-56,147,198,41,627,-590,-72,147,192,31,442,-425,-16,148,171,40,509,-501,-10,148,161,40,509,-504,-71,148,168,31,411,-404,-63,149,173,41,511,-522,-40,149,156,39,437,-444,-19,149,137,40,401,-407,-11,149,126,40,368,-374,0,149,121,40,357,-375,0,150,121,40,353,-374,-21,150,120,40,358,-371,-16,149,119" + }, + { + "k": "406446", + "m": { + "kind": "aircraft", + "layer": "flights", + "callsign": "EZY8303", + "registration": "G-EZGI", + "type": "A319", + "squawk": "7311" + }, + "p": "1105,-2010,511485,0,259,9,40,-58,-8,0,259,12,311,79,-7,11,77,62,40,419,62,42,76,77,41,496,64,35,78,100,39,540,-130,51,148,122,41,177,-474,33,167,135,39,221,-466,16,163,140,40,226,-491,0,164,143,41,230,-500,-1,164,143,30,175,-375,0,164,143,41,233,-504,7,164,146,40,244,-517,29,164,151,31,188,-401,1,164,150,40,-29,-553,47,186,156,40,-96,-568,64,186,161,40,-62,-585,68,183,163,40,-38,-604,48,182,174,40,-29,-625,63,182,174,40,-23,-637,52,181,178" + }, + { + "k": "406b80", + "m": { + "kind": "aircraft", + "layer": "flights", + "callsign": "EFW79YW", + "registration": "G-GATN", + "type": "A320", + "squawk": "7716" + }, + "p": "1101,-1793,511571,0,259,8,194,-91,-59,0,259,10,161,-81,-21,0,259,8,40,-58,-8,0,259,10,579,-21,-21,11,76,55,44,435,62,43,78,69,40,459,61,28,78,98" + }, + { + "k": "39bda3", + "m": { + "kind": "aircraft", + "layer": "flights", + "callsign": "AFR54YT", + "registration": "F-HPND", + "type": "BCS3", + "squawk": "7567" + }, + "p": "1105,14794,502022,718,306,186,131,-2563,1450,-47,321,191,101,-1700,1309,-80,320,184,39,-652,501,-32,320,183,40,-653,500,-29,320,180,40,-648,495,-32,320,177,40,-654,474,-26,313,177,40,-768,405,-3,309,174,40,-772,395,-5,309,173,41,-757,385,-30,309,168,39,-733,373,-46,309,167,40,-693,350,-21,309,149,41,-524,372,-21,349,133,30,-41,363,-22,357,132,41,-33,477,-27,358,131,39,-202,426,-22,307,131,32,-574,51,-17,268,131,41,-750,-22,-22,267,127,39,-713,-20,-11,267,126,40,-719,-22,1,267,127,40,-723,-26,0,267,127,40,-715,-29,0,267,126,40,-723,-31,0,267,126,40,-680,-95,-22,250,124" + }, + { + "k": "020175", + "m": { + "kind": "aircraft", + "layer": "flights", + "callsign": "MAC135", + "registration": "CN-NMP", + "type": "A320", + "squawk": "1000" + }, + "p": "1105,30541,502160,751,37,228,131,2499,2128,-77,37,222,102,1877,1619,-74,36,218,38,763,556,-63,55,220,40,1072,351,-37,64,209,40,1033,335,-44,63,204,40,1025,340,-31,63,202,40,997,328,-29,63,198,40,830,476,-29,40,198,41,714,536,-27,40,187,39,602,514,-19,34,173,40,537,504,-32,34,170,41,528,504,-22,33,159,30,363,347,-16,34,148,41,470,444,-29,34,145,40,451,421,-22,34,139,31,336,312,-9,34,132,40,417,402,-23,33,133,40,604,218,-22,74,118,41,480,-140,-13,140,90,39,71,-282,-9,188,80,40,-96,-276,-10,195,79,40,-114,-275,-10,194,81,40,-113,-278,-6,195,80" + }, + { + "k": "ab4866", + "m": { + "kind": "aircraft", + "layer": "flights", + "callsign": "DAL47", + "registration": "N826NW", + "type": "A333", + "squawk": "2140" + }, + "p": "1104,47698,523016,0,236,31,41,-378,-143,18,239,93,39,-424,-190,42,219,93,53,-640,-300,24,252,126,39,-716,-7,49,293,136,40,-552,394,32,330,153,40,-448,482,36,329,156,40,-498,487,36,324,159,40,-582,448,37,322,162,41,-607,472,35,322,165,39,-606,470,29,322,171,40,-632,486,38,322,172,40,-651,500,15,321,184,41,-693,535,20,322,193,39,-732,560,13,322,206,41,-792,605,18,322,215,50,-1020,773,27,321,222,41,-833,629,32,321,223,40,-835,629,29,321,224,31,-539,536,16,340,228,40,-450,781,23,341,230,40,-458,792,23,341,232,120,-1367,2361,79,341,233" + }, + { + "k": "347695", + "m": { + "kind": "aircraft", + "layer": "flights", + "callsign": "VLG2BE", + "registration": "EC-OGD", + "type": "A320", + "squawk": "1000" + }, + "p": "1104,47715,523044,0,59,9,41,43,20,0,17,8,191,-1,87,0,318,8,452,43,42,0,183,26,40,-25,-223,27,184,73,51,118,-372,45,166,97,40,148,-375,49,168,117,40,-22,-437,68,185,121,41,-61,-450,68,185,126,40,-61,-454,58,185,134,39,-156,-511,29,202,156,41,-345,-516,66,202,155,39,-346,-519,50,202,159" + }, + { + "k": "4d2374", + "m": { + "kind": "aircraft", + "layer": "flights", + "callsign": "VJT407", + "registration": "9H-VCP", + "type": "CL35", + "squawk": "0153" + }, + "p": "1105,48003,523117,0,312,9,60,-86,23,0,264,15,271,-122,1,0,183,31,41,-24,-239,59,183,70,40,34,-262,67,145,92,39,637,-84,67,92,125,40,782,-20,83,93,145,41,935,-25,62,93,169,39,977,-26,71,93,165,41,992,-31,79,93,171,50,1090,-294,98,125,165" + }, + { + "k": "4400f8", + "m": { + "kind": "aircraft", + "layer": "flights", + "callsign": "AUA33YZ", + "registration": "OE-IQF", + "type": "E190", + "squawk": "3405" + }, + "p": "1112,-4650,514666,0,270,8,50,-62,0,0,270,10,604,-143,-18,0,90,15,42,354,1,20,90,78,40,447,-26,44,118,88,31,395,-136,22,117,116,41,706,-165,40,109,139,39,801,-117,44,102,144,40,800,-111,33,103,145,40,807,-113,39,103,144,40,811,-91,62,98,146,40,907,-76,39,98,169,40,991,-85,56,98,178" + }, + { + "k": "40653d", + "m": { + "kind": "aircraft", + "layer": "flights", + "callsign": "EZY178J", + "registration": "G-EZGN", + "type": "A319", + "squawk": "6016" + }, + "p": "1122,-1878,511512,0,259,8,42,-61,-8,0,259,11,71,-116,-16,0,259,11,401,-18,-30,0,76,38,40,367,51,37,77,70,41,431,56,38,78,86,50,711,133,45,54,124,41,596,303,44,51,134,40,520,354,40,24,140,31,246,364,32,23,143,41,-45,517,41,345,146,39,-240,516,39,343,160,40,-258,587,51,346,175,40,-250,617,60,346,180,40,-262,630,55,345,185,40,-329,651,53,333,190,40,-551,601,47,330,197" + }, + { + "k": "a899a2", + "m": { + "kind": "aircraft", + "layer": "flights", + "callsign": "UAL31", + "registration": "N653UA", + "type": "B763", + "squawk": "6655" + }, + "p": "1125,55662,522988,1023,301,243,131,-4009,1483,-2,301,243,120,-3683,1344,-1,301,243,120,-3703,1331,0,300,243,121,-3728,1321,-1,300,242,120,-3547,1440,0,327,248,142,-1090,3134,-1,350,253,121,-754,2693,0,351,252" + }, + { + "k": "4caf0b", + "m": { + "kind": "aircraft", + "layer": "flights", + "callsign": "EAI17W", + "registration": "EI-HPK", + "type": "AT76", + "squawk": "1450" + }, + "p": "1140,-22767,533561,0,228,10,44,-47,-29,0,225,10,40,-58,-29,0,228,13,32,-41,-23,0,231,10,80,18,-13,0,53,32,40,266,129,31,51,61,40,308,147,25,51,75,40,272,241,14,351,92,40,-412,197,27,295,92,41,-510,126,29,284,92,39,-541,77,29,283,93,41,-552,91,28,290,94,39,-523,115,26,290,94,40,-534,119,23,290,96,41,-559,123,23,290,99" + }, + { + "k": "485252", + "m": { "kind": "aircraft", "layer": "flights", "callsign": "JB" }, + "p": "1145,47447,523196,0,59,8,107,24,24,0,183,8" + }, + { + "k": "486741", + "m": { + "kind": "aircraft", + "layer": "flights", + "callsign": "KLM41H", + "registration": "PH-AXC", + "type": "A21N", + "squawk": "1000" + }, + "p": "1145,47764,523121,0,3,9,371,35,58,0,183,38,40,-22,-248,32,182,75,40,104,-281,46,166,88,40,135,-368,37,167,117,41,32,-435,65,184,123,40,-68,-453,71,186,127,50,-102,-573,78,193,132,41,-303,-454,63,202,138,40,-305,-483,36,201,154,31,-267,-416,16,202,170,40,-394,-605,29,202,184,40,-402,-621,47,202,188,40,-411,-638,44,202,193,120,-1262,-1982,118,202,204" + }, + { + "k": "486840", + "m": { + "kind": "aircraft", + "layer": "flights", + "callsign": "TRA36J", + "registration": "PH-YHS", + "type": "A21N", + "squawk": "2127" + }, + "p": "1145,47766,523139,0,3,8,211,35,67,0,183,8,40,-20,-200,13,184,80,40,37,-278,56,169,84,41,128,-338,39,165,108,39,121,-399,53,183,118,40,-65,-426,63,186,123,41,-206,-435,66,201,126,39,-269,-432,54,201,133,40,-283,-467,38,200,148,40,-308,-519,51,200,153,52,-409,-672,60,201,162,40,-337,-549,56,201,162,40,-338,-556,42,201,167,131,-1173,-1901,130,203,178,121,-1247,-1836,86,203,193" + }, + { + "k": "4aca4a", + "m": { + "kind": "aircraft", + "layer": "flights", + "callsign": "NSZ2046", + "registration": "SE-RRJ", + "type": "B738", + "squawk": "1000" + }, + "p": "1145,55974,516734,1087,212,214,131,-2151,-2130,0,212,213,121,-1950,-1952,0,212,213,122,-1953,-1973,0,212,212,137,-2180,-2233,0,212,213,132,-2056,-2121,-25,212,206,131,-1917,-2002,-114,211,191,120,-1637,-1725,-104,211,182" + }, + { + "k": "4cac86", + "m": { + "kind": "aircraft", + "layer": "flights", + "callsign": "RYR93SK", + "registration": "EI-HMZ", + "type": "B38M", + "squawk": "6223" + }, + "p": "1165,-25613,529254,506,128,181,71,1489,-713,-67,129,177,40,807,-391,-38,128,174,40,758,-415,-34,143,171,40,607,-486,-23,143,166,40,576,-460,-21,143,159,41,559,-452,-22,143,154,40,543,-438,-25,144,151,40,502,-434,-21,149,146,39,424,-432,-13,149,137,40,400,-407,-8,149,129,40,387,-398,-21,149,130,40,395,-410,-29,150,133,41,390,-408,-17,150,124,50,420,-455,-21,150,108,40,434,-212,-14,82,94,41,489,135,-12,63,89,31,165,208,-13,355,90,40,-41,328,-19,353,91,40,-248,295,-18,326,95,40,-309,278,-19,326,90,40,-279,249,-18,326,80,36,-231,208,-15,326,78,48,-181,163,-18,325,10" + }, + { + "k": "c01754", + "m": { + "kind": "aircraft", + "layer": "flights", + "callsign": "ACA853", + "registration": "C-FIVR", + "type": "B77W", + "squawk": "7631" + }, + "p": "1165,-4784,514648,8,90,45,71,875,81,67,49,96,40,444,224,36,51,107,40,550,272,24,58,131,40,726,175,30,70,139,40,618,300,10,22,142,40,-82,499,11,345,143,41,-214,506,27,345,145,39,-220,503,55,344,148,40,-232,524,42,345,160,40,-264,599,26,345,182,40,-342,654,40,340,197,40,-416,675,57,333,203,41,-574,654,55,332,209,50,-735,850,64,332,215,132,-2010,2331,143,332,232,121,-1915,2304,109,333,245,121,-2108,2413,59,327,251" + }, + { + "k": "44ccc4", + "m": { + "kind": "aircraft", + "layer": "flights", + "callsign": "BEL1CP", + "registration": "OO-SFD", + "type": "A333", + "squawk": "4423" + }, + "p": "1165,44931,509033,0,65,8,736,77,67,0,191,8,38,-65,-159,11,195,83,40,-118,-283,62,208,72,41,-368,-103,28,275,91,39,-496,271,4,325,139,40,-458,445,31,326,153,40,-535,420,44,314,147,40,-668,298,38,289,142" + }, + { + "k": "44034b", + "m": { + "kind": "aircraft", + "layer": "flights", + "callsign": "EJU62MY", + "registration": "OE-LQR", + "type": "A319", + "squawk": "1000" + }, + "p": "1165,49585,502006,962,339,244,131,-1594,2679,-58,340,236,120,-1407,2345,-91,339,228,120,-1856,2030,-90,317,213,120,-2910,1341,-4,305,213,132,-2844,1814,-16,327,218,111,85,2109,-122,16,218,40,341,738,-43,16,212,40,336,728,-49,16,208,41,335,720,-47,16,205,39,324,686,-40,16,198,40,322,675,-48,16,196,40,320,668,-39,16,193,40,368,650,-24,34,186" + }, + { + "k": "4cafb5", + "m": { + "kind": "aircraft", + "layer": "flights", + "callsign": "RYR7CQ", + "registration": "EI-GSI", + "type": "B738", + "squawk": "0605" + }, + "p": "1165,55727,517863,1023,278,224,131,-4220,352,0,277,224,120,-3859,307,-1,277,225,120,-3873,298,-1,277,225,120,-3894,279,0,276,225,132,-4330,303,-62,277,227,131,-4242,-31,-64,267,222,120,-3907,-129,-58,267,224,120,-3894,-122,-120,268,223" + }, + { + "k": "407666", + "m": { + "kind": "aircraft", + "layer": "flights", + "callsign": "EZY94ZH", + "registration": "G-UZMC", + "type": "A21N", + "squawk": "2057" + }, + "p": "1166,-1987,511488,0,256,8,680,-11,-19,11,77,56,33,359,49,23,76,83,40,505,72,51,79,97,40,545,-69,45,137,108,40,158,-383,31,170,112,40,166,-398,20,162,123,40,235,-477,7,164,144,40,231,-501,15,164,147,40,242,-515,18,163,151" + }, + { + "k": "a89fe0", + "m": { + "kind": "aircraft", + "layer": "flights", + "callsign": "LXJ655", + "registration": "N655FX", + "type": "GLF6", + "squawk": "7622" + }, + "p": "1184,-17640,524683,45,325,96,52,-361,445,102,8,119,40,477,270,26,86,120,40,674,-97,67,117,120,40,529,-286,98,133,122,40,424,-367,77,161,136,40,206,-552,24,168,179,41,247,-664,3,166,190,39,258,-661,0,167,190,40,257,-661,-21,167,189,40,251,-649,-30,167,187,41,252,-657,-31,167,183,39,242,-632,-30,167,180,41,243,-636,-9,167,182,50,305,-800,0,167,182,41,243,-644,0,167,182,40,244,-642,0,167,184,31,188,-501,0,167,184,40,241,-640,0,167,172,40,283,-550,-8,155,151,41,390,-466,-25,152,144,39,383,-451,-28,152,142,40,384,-455,-37,152,145,40,390,-463,-41,152,147,40,387,-459,-32,152,138" + }, + { + "k": "44cdc5", + "m": { + "kind": "aircraft", + "layer": "flights", + "callsign": "BEL3WF", + "registration": "OO-SNE", + "type": "A320", + "squawk": "0105" + }, + "p": "1184,44895,509069,0,68,8,935,93,-17,8,194,53,40,-76,-246,41,171,67" + }, + { + "k": "06a390", + "m": { + "kind": "aircraft", + "layer": "flights", + "callsign": "QTR8251", + "registration": "A7-BTA", + "type": "B77L", + "squawk": "1000" + }, + "p": "1184,55749,525095,236,284,146,52,-1084,88,-32,276,142,40,-827,57,-19,276,139,40,-816,53,-14,276,139,40,-810,54,-12,276,138,40,-813,53,-15,276,137,40,-783,51,-13,276,130,41,-747,48,-12,276,120,39,-666,42,-11,276,115,41,-649,10,-11,266,103,39,-502,-96,-7,228,83,40,-356,-200,-6,225,81,40,-140,-260,-6,183,77,41,-23,-256,-7,184,66,51,-29,-303,-5,184,66,40,-22,-238,-8,184,66,40,-23,-241,-14,183,69,31,-16,-186,-11,184,65,41,-24,-245,-15,183,67,39,-22,-250,-13,183,72,40,-13,-144,-5,183,18,102,23,-68,0,183,8,80,36,-38,0,132,8" + }, + { + "k": "40775c", + "m": { + "kind": "aircraft", + "layer": "flights", + "callsign": "RUK768", + "registration": "G-RUKA", + "type": "B738", + "squawk": "1426" + }, + "p": "1236,-25535,532257,119,142,101,40,527,-50,-16,52,103,40,276,328,-21,39,99,40,452,219,-17,51,95,41,443,212,-19,51,91,39,389,189,-19,51,80,41,367,177,-15,51,81,39,221,111,-12,51,20,40,36,36,0,51,10,40,60,29,0,51,15,40,61,30,0,51,13" + }, + { + "k": "4078de", + "m": { + "kind": "aircraft", + "layer": "flights", + "callsign": "BAW8K", + "registration": "G-ZBLB", + "type": "B78X", + "squawk": "1257" + }, + "p": "1236,-25333,514206,639,97,192,80,2167,-165,-39,97,188,40,1067,-83,-19,97,185,40,1028,-82,-23,97,179,40,1022,-83,-26,97,178,40,1011,-81,-25,97,175,40,990,-80,-27,97,172,40,972,-80,-26,97,172,40,979,-81,-28,98,168,40,927,-75,-14,97,156,40,860,-65,0,97,151,41,872,-66,0,97,152,50,1101,-85,0,97,152,41,871,-51,0,92,150,40,860,-8,0,91,151,31,671,-6,0,91,149,40,868,-9,0,91,149,40,860,-9,-8,91,150,40,844,-9,-12,91,147,40,831,-10,-11,91,146,40,853,-11,-5,91,147,40,818,-11,-12,92,141,40,803,-17,-13,93,140" + }, + { + "k": "407798", + "m": { + "kind": "aircraft", + "layer": "flights", + "callsign": "BAW22E", + "registration": "G-XWBB", + "type": "A35K", + "squawk": "5170" + }, + "p": "1236,-24845,507094,809,86,208,120,3498,162,-74,86,201,121,3338,146,-63,86,193,121,3275,131,-72,87,189,38,1014,39,-33,87,189,40,1052,51,-34,78,186,41,734,411,-32,30,171,50,660,644,-29,34,163,41,507,483,0,33,159,40,473,454,0,33,141,31,327,315,0,33,136,40,545,364,-3,49,139,40,589,327,-21,49,137,40,582,326,-6,48,137,40,587,330,-9,49,135,40,572,317,-19,49,133,40,568,317,-3,48,133,40,560,313,0,49,130" + }, + { + "k": "4080c8", + "m": { + "kind": "aircraft", + "layer": "flights", + "callsign": "GTESG", + "registration": "G-TESG", + "type": "DA42", + "squawk": "5413" + }, + "p": "1234,-9655,533152,71,0,0,40,-258,119,27,311,55,40,-205,155,26,326,28,41,-219,169,23,323,32,40,-270,186,7,320,75,39,-243,195,33,324,64,42,-179,171,26,329,26,39,-186,164,19,326,59,39,-193,169,23,325,59,41,-213,175,20,324,30,40,-211,174,20,323,61,40,-204,197,10,329,72,41,-254,260,1,331,46,50,-373,321,0,324,85,40,-266,256,-1,329,44" + }, + { + "k": "841fdc", + "m": { + "kind": "aircraft", + "layer": "flights", + "callsign": "JAL42", + "registration": "JA08WJ", + "type": "A35K", + "squawk": "4726" + }, + "p": "1233,-4829,514648,0,90,33,43,463,-1,20,91,95,40,523,-76,43,123,107,40,578,-226,22,112,129,41,744,-123,42,101,137,39,791,-99,42,102,142,41,808,-109,51,102,142,39,790,-108,48,102,143,40,818,-110,33,99,153,40,923,-62,15,95,173,40,1035,-64,22,96,187,40,1083,-69,43,96,190,41,1111,-67,34,95,196,50,1417,-111,47,99,201,41,1164,-112,37,99,204,40,1164,-105,37,98,207,31,936,-80,23,98,211,40,1205,-101,32,98,215,120,3758,-323,81,98,227,120,3910,-342,74,98,235" + }, + { + "k": "4ca4ef", + "m": { + "kind": "aircraft", + "layer": "flights", + "callsign": "RYR772F", + "registration": "EI-DPK", + "type": "B738", + "squawk": "5365" + }, + "p": "1236,30752,502761,899,29,250,121,1957,2248,0,29,231,120,1891,2141,-78,30,222,121,1856,2044,-128,29,212,119,1623,1891,-94,28,194,50,643,767,-43,28,190,41,559,585,-21,42,189,40,863,415,-8,55,192,31,699,310,-8,54,191,40,893,404,-11,54,190,40,880,396,-9,54,189,40,882,394,-11,55,189,40,879,391,-33,55,184,40,846,372,-34,55,181,40,844,373,-35,55,177,40,833,366,-35,55,175" + }, + { + "k": "44ccc6", + "m": { + "kind": "aircraft", + "layer": "flights", + "callsign": "BEL1NA", + "registration": "OO-SFF", + "type": "A333", + "squawk": "0104" + }, + "p": "1237,45007,509096,0,194,32,39,-94,-227,24,194,80,40,58,-248,52,143,71,40,264,-205,22,140,73,40,272,-220,12,143,85,40,325,-275,10,143,105,41,409,-326,22,140,122,39,464,-335,38,138,126,40,533,-312,36,113,142,40,788,-164,37,103,150,41,844,-112,38,103,153,39,675,-292,21,138,151,41,619,-425,14,136,168,50,889,-576,17,135,187,41,761,-490,32,135,191,40,760,-494,32,136,195,31,598,-391,24,136,198,40,797,-521,29,136,202,40,799,-525,26,136,205,40,721,-567,25,154,203" + }, + { + "k": "4072c7", + "m": { + "kind": "aircraft", + "layer": "flights", + "callsign": "EZY5606", + "registration": "G-UZHA", + "type": "A20N", + "squawk": "7334" + }, + "p": "1234,47648,522997,5,237,64,42,-427,-163,44,238,88,40,-436,-221,51,224,103,40,-535,-241,52,251,128,40,-773,16,66,298,149,40,-532,453,67,330,161,41,-533,535,47,326,178,39,-785,401,62,307,180,40,-856,394,60,307,185,40,-877,403,60,307,188,40,-910,414,51,307,194,131,-3148,1427,149,307,212,132,-3355,1505,60,306,219,121,-3252,1437,105,306,225,121,-3482,1047,80,287,225" + }, + { + "k": "485a35", + "m": { + "kind": "aircraft", + "layer": "flights", + "callsign": "KLM1365", + "registration": "PH-BCL", + "type": "B738", + "squawk": "1000" + }, + "p": "1225,47789,523076,5,183,73,31,-19,-214,37,182,76,40,240,-261,31,124,99,40,670,-52,41,92,130,40,809,-16,65,92,141,40,832,-24,72,93,145,40,869,-27,68,93,148,41,888,-26,60,93,155,39,827,-155,57,125,149,40,748,-331,44,125,162,41,798,-347,60,125,165,39,782,-340,52,125,170" + }, + { + "k": "4bb070", + "m": { + "kind": "aircraft", + "layer": "flights", + "callsign": "THY1MJ", + "registration": "TC-LCP", + "type": "B38M", + "squawk": "3121" + }, + "p": "1236,55293,514683,1151,290,227,120,-3666,813,-1,289,225,121,-3678,800,-1,289,225,121,-3735,798,-1,289,224,120,-3664,767,-33,288,223,130,-4033,828,-98,288,226,131,-4078,820,-160,287,216,120,-3597,-35,-91,264,203" + }, + { + "k": "c051e6", + "m": { + "kind": "aircraft", + "layer": "flights", + "callsign": "ACA841", + "registration": "C-GFAJ", + "type": "A333", + "squawk": "0125" + }, + "p": "1236,55716,516123,943,321,256,120,-2790,2113,28,320,255,121,-2822,2114,51,320,254,121,-2859,2113,0,320,251,120,-2823,2059,-1,320,251,130,-3116,2228,-1,318,251,131,-2376,2602,0,337,256,120,-1794,2546,0,337,257" + }, + { + "k": "4cada4", + "m": { + "kind": "aircraft", + "layer": "flights", + "callsign": "RYR9428", + "registration": "EI-IFV", + "type": "B38M", + "squawk": "5266" + }, + "p": "1256,-25708,515570,1113,99,252,121,4337,-414,0,99,254,121,3730,-1301,0,132,249,120,3190,-1782,1,132,249,120,3101,-1817,0,133,248,141,3618,-2142,0,133,247,120,3052,-1835,1,134,247,120,3030,-1843,1,134,248" + }, + { + "k": "484456", + "m": { + "kind": "helicopter", + "layer": "flights", + "callsign": "PH-SHK", + "registration": "PH-SHK", + "type": "A139", + "squawk": "4333", + "helicopter": true + }, + "p": "1256,47799,529228,5,216,4,40,-121,-103,17,216,45,40,-308,22,19,304,68,40,-354,109,20,296,66,40,-171,241,5,349,82,40,-98,311,0,349,90,41,-101,322,0,349,91,39,-102,323,0,349,93,39,-102,318,0,349,92,37,-94,299,0,349,92,44,-114,354,0,349,92,39,-109,319,3,348,92,33,-92,271,-1,349,93,33,-92,268,1,349,93,44,-123,361,-1,348,92,31,-86,251,1,348,92,98,-271,791,0,348,92,68,-186,541,-1,350,89,128,-351,1010,7,0,0" + }, + { + "k": "502d5a", + "m": { + "kind": "aircraft", + "layer": "flights", + "callsign": "BEL4QA", + "registration": "YL-ABI", + "type": "BCS3", + "squawk": "1000" + }, + "p": "1256,55845,508003,492,285,190,40,-1029,176,-45,285,185,40,-994,169,-44,285,182,40,-973,166,-29,285,172,40,-903,152,-20,285,159,40,-676,363,-26,326,163,40,-503,488,-33,327,162,40,-487,483,-22,328,155,40,-435,452,-19,329,142,41,-411,433,-22,329,138,40,-408,416,-26,328,137,40,-476,354,-19,312,122,40,-512,295,-28,312,119,30,-388,197,-18,293,106,41,-545,24,-14,244,88,39,-407,-140,-10,241,75,32,-299,-102,-3,241,76,40,-289,-182,-5,199,71,40,-130,-242,-3,196,71,40,-98,-248,-2,193,72,40,-90,-251,-3,194,72,40,-103,-250,-1,195,71,40,-109,-251,-4,195,72,40,-103,-249,-14,194,71" + }, + { + "k": "4d226c", + "m": { + "kind": "aircraft", + "layer": "flights", + "callsign": "RYR8MR", + "registration": "9H-QAZ", + "type": "B738", + "squawk": "1000" + }, + "p": "1256,55863,507364,384,249,164,40,-873,-206,-22,249,165,40,-866,-208,-43,250,162,40,-811,-193,-13,249,145,40,-730,-172,-15,251,133,40,-696,-149,-21,251,129,40,-680,-149,-22,250,124,40,-655,-145,-20,251,122,40,-650,-145,-18,250,120,41,-631,-142,-24,251,115,39,-592,-131,-19,251,107,40,-557,-113,-11,258,99,41,-509,-112,-10,247,89,30,-327,-101,-13,243,83,41,-429,-130,-20,245,85,40,-435,-123,-18,246,82,31,-321,-94,-13,246,82,40,-439,-123,-18,246,81,39,-364,-109,-16,246,73" + }, + { + "k": "4d2134", + "m": { + "kind": "aircraft", + "layer": "flights", + "callsign": "VJT437", + "registration": "9H-VCN", + "type": "CL35", + "squawk": "7713" + }, + "p": "1276,-7774,512754,12,62,78,40,414,143,54,61,86,41,453,139,19,78,88,39,403,-185,12,151,106,40,108,-382,-1,209,118,41,-558,-235,15,242,117,39,-578,-207,20,236,117,40,-551,-241,28,235,118,40,-615,-269,45,235,145,40,-268,-482,36,162,156,40,481,-477,47,145,159,41,698,-383,44,126,171,50,1024,-458,67,125,169,41,810,-367,54,125,176,40,812,-360,53,125,176,31,648,-282,41,124,180,120,2705,-1155,167,123,202,120,3094,-1323,35,124,220" + }, + { + "k": "406091", + "m": { + "kind": "aircraft", + "layer": "flights", + "callsign": "BAW874", + "registration": "G-EUYE", + "type": "A320", + "squawk": "3445" + }, + "p": "1275,-4748,514666,0,270,8,742,-59,-18,0,89,48,42,453,-3,40,91,77,40,454,-88,31,122,97,40,584,-175,20,108,129,40,740,-128,29,102,138" + }, + { + "k": "484201", + "m": { + "kind": "aircraft", + "layer": "flights", + "callsign": "C2", + "registration": "GND", + "type": "GND" + }, + "p": "1276,47746,523065,0,93,9,36,9,38,0,3,12,37,-31,44,0,323,14,91,-180,5,0,338,12,33,-62,-2,0,239,10,49,-52,-10,0,188,16,275,33,-1,0,23,14,30,67,14,0,115,15,49,162,3,0,84,20,43,65,-30,0,172,15,40,-4,-52,0,183,15" + }, + { + "k": "a52736", + "m": { + "kind": "aircraft", + "layer": "flights", + "callsign": "DAL136", + "registration": "N431DX", + "type": "A339", + "squawk": "6334" + }, + "p": "1296,-25695,533705,1110,97,249,120,4428,-408,0,99,250,120,4437,-428,0,99,249,120,4406,-442,0,100,247,132,4795,-500,0,100,249,131,4786,-519,0,100,247,120,4354,-491,0,101,248,120,4345,-508,0,101,248" + }, + { + "k": "43bff5", + "m": { "kind": "aircraft", "layer": "flights", "callsign": "WORKS 25" }, + "p": "1295,-1891,511561,0,56,8,63,65,13,0,352,8,53,-14,41,0,346,8,142,117,-6,0,141,8" + }, + { + "k": "ab8748", + "m": { + "kind": "aircraft", + "layer": "flights", + "callsign": "AAL134", + "registration": "N842AA", + "type": "B789", + "squawk": "6322" + }, + "p": "1316,-25708,530737,1088,134,232,120,2114,-2008,-84,154,216,120,1610,-2027,-102,155,201,120,1543,-1881,-116,148,188,132,2726,-1450,-93,128,185,131,2622,-1382,-88,134,174,40,728,-433,-30,134,171,41,715,-426,-28,134,170,39,709,-425,-29,134,172,40,706,-423,-28,134,165,40,664,-397,-27,134,153,40,605,-385,-24,138,149" + }, + { + "k": "ac3448", + "m": { + "kind": "aircraft", + "layer": "flights", + "callsign": "AAL772", + "registration": "N886BR", + "type": "B788", + "squawk": "5245" + }, + "p": "1316,-25474,517786,1239,126,269,120,3768,-1703,1,126,268,120,3529,-1855,0,133,267,120,3378,-1948,0,133,268,132,3684,-2155,1,133,269,131,3650,-2165,0,133,267,120,3294,-1984,0,134,267,120,3265,-1991,1,134,269" + }, + { + "k": "ab9387", + "m": { + "kind": "aircraft", + "layer": "flights", + "callsign": "DAL141", + "registration": "N845MH", + "type": "B764", + "squawk": "4424" + }, + "p": "1316,45011,509108,0,194,20,40,-88,-218,18,194,86,40,-169,-259,60,231,85,40,-510,53,38,313,120,41,-461,386,29,322,142,40,-515,410,40,319,152,39,-623,406,32,315,170,40,-756,455,21,308,192,40,-970,367,30,290,202,40,-1106,215,51,288,206,41,-1141,250,46,290,213,50,-1460,343,62,291,218,41,-1193,281,44,290,223,40,-1228,255,43,288,226,31,-955,193,29,288,230,40,-1284,262,38,288,234,120,-3794,1002,104,293,244,120,-3602,1441,102,305,248" + }, + { + "k": "48104e", + "m": { + "kind": "military", + "layer": "military", + "callsign": "NEPTN47", + "registration": "N-317", + "type": "NH90", + "squawk": "3601", + "helicopter": true, + "military": true + }, + "p": "1316,47790,529220,16,214,37,40,-103,-114,21,157,32,40,187,-76,6,109,42,40,230,119,0,31,60,41,103,183,-7,335,58,39,-185,83,-12,236,29,40,-107,-83,-4,216,31,40,-80,-72,-5,215,13,129,-17,-14,-1,216,20,39,-103,-95,11,213,39,44,94,-97,18,118,42,40,242,60,0,34,63,31,138,133,-1,29,52,40,-102,157,-12,286,48,40,-173,-84,-5,213,38,40,-92,-84,-5,212,20,39,-28,-29,-5,284,2,41,-1,2,0,297,1,38,-1,-1,-1,270,1,30,-1,0,1,90,1,31,8,-9,-2,297,1" + }, + { + "k": "485ecc", + "m": { + "kind": "aircraft", + "layer": "flights", + "callsign": "KLM758", + "registration": "PH-BVW", + "type": "B77W", + "squawk": "6253" + }, + "p": "1336,-25364,513729,1081,74,261,120,4342,774,0,74,263,120,4378,725,0,75,262,120,4369,700,0,76,260,132,4764,742,0,76,258,131,4756,719,0,77,259,120,4356,640,0,77,257" + }, + { + "k": "39bdab", + "m": { + "kind": "aircraft", + "layer": "flights", + "callsign": "AFR79CJ", + "registration": "F-HPNL", + "type": "BCS3", + "squawk": "1000" + }, + "p": "1296,-4401,514611,0,320,185,736,0,0,0,266,127" + }, + { + "k": "406755", + "m": { + "kind": "aircraft", + "layer": "flights", + "callsign": "EZY74VH", + "registration": "G-EZWD", + "type": "A320", + "squawk": "7553" + }, + "p": "1337,21231,502317,769,339,226,121,-2157,1881,107,318,215,120,-2539,1771,57,317,226,120,-2577,1778,79,317,222,130,-2762,1886,40,317,226,131,-2921,1921,0,312,223,120,-2820,1621,-3,312,224" + }, + { + "k": "48c135", + "m": { + "kind": "aircraft", + "layer": "flights", + "callsign": "RYR94CC", + "registration": "SP-RKZ", + "type": "B738", + "squawk": "2043" + }, + "p": "1337,-22758,533567,0,231,8,37,-37,-23,0,222,10,42,-49,-27,0,231,12,121,-7,-28,0,53,12,39,257,124,17,52,84,41,427,199,45,51,98,39,519,248,36,52,117,40,574,270,26,52,132,41,662,310,53,52,139,30,504,237,46,52,142,41,746,264,56,83,145,40,897,-23,38,93,160,31,764,-96,32,107,169,40,992,-176,61,107,172,40,1011,-179,56,107,177,40,1036,-186,54,107,183,40,1074,-193,47,107,190,120,3399,-619,149,107,197" + }, + { + "k": "c06a88", + "m": { + "kind": "aircraft", + "layer": "flights", + "callsign": "TSC122", + "registration": "C-GOIX", + "type": "A21N", + "squawk": "5160" + }, + "p": "1357,-25620,506769,825,81,227,120,3724,183,-72,82,216,121,3610,307,-61,82,208,120,3453,285,-72,83,202,49,1378,110,-48,83,198,41,1117,88,-39,83,194,40,1080,85,-38,83,190,31,823,63,-29,83,188,40,1045,80,-36,83,183,40,1023,78,-34,83,178,40,956,77,-19,80,165,40,908,107,-28,80,160,40,878,103,-28,80,154,40,857,100,-25,79,154,40,860,98,-28,80,153" + }, + { + "k": "4076cd", + "m": { + "kind": "aircraft", + "layer": "flights", + "callsign": "BAW670", + "registration": "G-TTNJ", + "type": "A20N", + "squawk": "3441" + }, + "p": "1356,-4856,514648,0,90,15,40,338,-1,25,91,72,40,392,-12,44,112,76,40,460,-161,38,117,105,40,663,-140,42,108,137,40,794,-119,81,102,141,40,799,-112,74,103,148,41,929,-133,38,103,175,39,975,-139,47,103,177,41,1031,-149,46,103,185,50,1320,-193,57,104,190,41,1094,-159,61,102,195,131,3768,-541,153,103,217,120,3719,-567,120,102,229,120,3908,-500,85,104,238" + }, + { + "k": "3cc82c", + "m": { + "kind": "aircraft", + "layer": "flights", + "callsign": "VJH357", + "registration": "D-CDCM", + "type": "C56X", + "squawk": "6266" + }, + "p": "1356,47664,523003,5,238,53,40,-404,-143,51,240,81,40,-375,-172,65,222,84,41,-412,-237,55,238,104,39,-603,-133,53,263,123,40,-665,260,40,329,156,40,-562,448,43,309,160,40,-764,367,46,308,166,40,-781,372,49,308,171,41,-816,387,59,308,175,50,-1041,491,70,308,182,41,-884,416,54,308,188,131,-3074,1436,125,307,220,120,-3340,1417,51,300,222,120,-3482,1162,71,298,234" + }, + { + "k": "485b42", + "m": { + "kind": "aircraft", + "layer": "flights", + "callsign": "KLM615", + "registration": "PH-BKA", + "type": "B78X", + "squawk": "2135" + }, + "p": "1356,47769,523176,0,25,8,300,32,24,0,183,15,40,-20,-204,8,184,84,41,34,-295,45,161,86,30,83,-250,26,185,97,41,-264,-309,52,229,101,40,-634,-102,28,280,133,31,-608,86,39,282,139,40,-808,143,48,302,151,40,-641,401,52,322,160,40,-593,471,40,323,170,40,-602,497,46,323,174,40,-613,505,44,323,178,40,-655,537,22,323,194,40,-719,582,20,323,210" + }, + { + "k": "4cada8", + "m": { + "kind": "aircraft", + "layer": "flights", + "callsign": "ITY120", + "registration": "EI-INC", + "type": "A20N", + "squawk": "1000" + }, + "p": "1376,55988,525041,227,291,148,40,-819,105,-19,276,143,40,-834,55,-8,277,142,41,-834,58,-10,276,141,39,-821,55,-11,276,141,40,-827,54,-10,276,140,41,-822,54,-11,277,136,39,-757,51,-10,276,127,40,-723,47,-22,276,121,41,-710,44,-28,275,119,31,-536,33,-2,276,120,40,-588,-113,0,216,102,40,-140,-337,0,185,98,31,-32,-270,-1,184,91,40,-28,-309,-15,183,82,40,-26,-272,-16,183,68,40,-21,-236,-14,183,69,40,-22,-236,-14,183,61,40,-21,-222,-13,183,65,40,-21,-233,-13,184,66,40,-14,-194,-10,183,24" + }, + { + "k": "4842a0", + "m": { "kind": "aircraft", "layer": "flights", "callsign": "TD1" }, + "p": "1396,47754,522986,0,183,12,60,-9,-68,0,183,13,38,-4,-41,0,183,11,64,59,10,0,3,14,262,26,79,0,42,10,54,29,42,0,312,9,42,10,16,0,34,8,86,73,50,0,39,10,157,48,35,0,65,8" + }, + { + "k": "a8ac35", + "m": { + "kind": "aircraft", + "layer": "flights", + "callsign": "UAL12", + "registration": "N658UA", + "type": "B763", + "squawk": "3056" + }, + "p": "1396,55935,520577,959,309,251,121,-3438,1706,0,309,252,121,-3499,1710,-1,309,251,129,-3731,1799,0,308,251,132,-3831,1857,-2,315,254,121,-2315,2365,0,332,255,120,-2112,2429,0,332,255" + }, + { + "k": "44ce72", + "m": { + "kind": "aircraft", + "layer": "flights", + "callsign": "BEL1GH", + "registration": "OO-SSR", + "type": "A319", + "squawk": "1000" + }, + "p": "1397,55994,507999,498,285,161,39,-870,147,-30,285,158,41,-871,144,-31,284,155,39,-834,135,-29,284,153,40,-750,284,-30,322,164,40,-545,467,-24,324,160,40,-531,453,-20,324,154,41,-506,441,-19,325,146,40,-462,414,-15,325,136,50,-551,501,-36,325,134,41,-442,400,-30,325,133,40,-434,395,-26,326,132,31,-327,301,-20,325,132,41,-433,400,-23,326,131,39,-480,298,-16,303,111,40,-525,216,-16,298,106,40,-474,-63,-6,242,84,40,-366,-176,0,216,78,40,-182,-254,0,198,78,41,-119,-271,0,194,78" + }, + { + "k": "4076cc", + "m": { + "kind": "aircraft", + "layer": "flights", + "callsign": "BAW721", + "registration": "G-TTNI", + "type": "A20N", + "squawk": "6656" + }, + "p": "1418,55949,508519,844,291,228,120,-3598,881,-3,291,227,120,-3609,867,0,291,225,130,-3767,1055,1,313,229,132,-3048,1890,-1,308,225,121,-3620,750,-2,285,219,120,-3692,618,1,285,224" + }, + { + "k": "4cae62", + "m": { + "kind": "aircraft", + "layer": "flights", + "callsign": "RYR9424", + "registration": "EI-IJM", + "type": "B38M", + "squawk": "2237" + }, + "p": "1436,-25856,527125,1111,143,241,120,2559,-2072,0,143,240,120,2514,-2070,1,144,240,132,2727,-2278,0,144,239,131,2795,-2235,1,139,240,120,2755,-1926,0,138,239,120,2746,-1925,0,139,239" + }, + { + "k": "43c8c6", + "m": { + "kind": "military", + "layer": "military", + "callsign": "PRF57", + "registration": "ZM319", + "type": "G12T", + "squawk": "7010", + "military": true + }, + "p": "1456,-4748,530312,33,82,54,59,-92,-80,-7,164,61,38,-321,-44,3,271,61,31,-205,61,-2,13,52,31,180,28,-10,82,43,61,400,32,8,82,56,41,311,-15,17,162,55,47,-382,-102,-4,262,70,44,-399,-32,1,264,57,40,-186,82,-11,36,48,31,185,29,-8,83,40,80,535,43,9,82,60,40,58,-107,13,250,69,40,-392,-38,1,261,63,39,-323,-13,-4,296,51,41,55,110,-18,84,42" + }, + { + "k": "06a2b8", + "m": { + "kind": "aircraft", + "layer": "flights", + "callsign": "QTR120", + "registration": "A7-BET", + "type": "B77W", + "squawk": "2733" + }, + "p": "1442,-4710,514632,0,270,8,114,-106,-7,0,270,8" + }, + { + "k": "3430cd", + "m": { + "kind": "aircraft", + "layer": "flights", + "callsign": "VOE8UQ", + "registration": "EC-KMI", + "type": "A320", + "squawk": "1000" + }, + "p": "1456,31370,505698,44,87,77,40,255,-133,52,148,54,40,189,-188,27,148,75,40,282,-278,22,147,108,41,170,-389,41,179,118,39,13,-435,58,179,125,40,15,-455,58,179,129,41,57,-501,43,173,144,30,74,-396,38,171,150,41,235,-545,43,163,158" + }, + { + "k": "4caa61", + "m": { + "kind": "aircraft", + "layer": "flights", + "callsign": "RYR5533", + "registration": "EI-EXF", + "type": "B738", + "squawk": "1000" + }, + "p": "1456,55768,505349,389,270,143,40,-804,-9,-33,269,142,40,-788,-14,-28,268,138,40,-767,-15,-28,269,134,41,-743,-7,-23,269,130,39,-726,-7,-29,268,128,40,-716,-20,-19,267,127,41,-718,-13,-22,269,125,30,-530,-11,-17,267,123,41,-710,-21,-20,267,121,40,-652,-15,-15,268,112,31,-465,-13,-9,268,104,40,-579,-11,-19,268,98,40,-534,-14,-17,267,91,40,-490,-26,-13,256,81,41,-425,-93,-15,248,79,39,-418,-119,-16,247,84,40,-390,-115,-19,245,71" + }, + { + "k": "48468b", + "m": { + "kind": "aircraft", + "layer": "flights", + "callsign": "PHJBH", + "registration": "PH-JBH", + "type": "C172", + "squawk": "7033" + }, + "p": "1456,55966,528326,107,270,27,39,-294,60,0,282,26,40,-288,72,-3,292,27,37,-293,91,0,299,31,43,-326,94,0,296,29,39,-300,86,0,295,29,41,-292,75,0,293,27,40,-255,91,0,299,26,31,-252,71,0,296,31,39,-288,84,0,295,30,40,-312,86,0,294,31,34,-286,76,0,292,33,36,-247,97,0,302,29,41,-275,81,0,296,26,40,-330,93,0,295,31,42,-310,84,-3,293,30,39,-247,103,3,304,27,35,-288,77,-6,294,29,44,-384,103,-13,292,32" + }, + { + "k": "401da9", + "m": { + "kind": "aircraft", + "layer": "flights", + "callsign": "GBGKS", + "registration": "G-BGKS", + "type": "P28A", + "squawk": "7000" + }, + "p": "1474,-25654,535959,67,133,25,41,215,-121,-3,130,25,39,218,-98,0,126,24,38,228,-82,0,119,24,42,282,-87,3,118,26,39,184,-110,0,135,24,43,118,-178,0,163,27,48,67,-201,3,174,25,43,16,-181,0,180,25,40,86,-171,0,163,25,52,219,-181,-9,130,24,35,212,121,-9,39,32,44,-27,232,-3,356,42,42,-113,129,0,330,26,38,-269,-126,3,236,30,39,-203,-73,-3,230,27" + }, + { + "k": "345101", + "m": { + "kind": "aircraft", + "layer": "flights", + "callsign": "VLG6205", + "registration": "EC-MIR", + "type": "A319", + "squawk": "5226" + }, + "p": "1477,-2023,511483,0,256,9,349,-110,-17,0,214,8,112,44,-10,0,76,28,41,380,52,27,77,80,41,462,60,48,79,91,39,570,-9,36,122,116,40,264,-419,29,169,136,40,201,-479,55,163,143,40,238,-509,28,164,151" + }, + { + "k": "4247a5", + "m": { + "kind": "aircraft", + "layer": "flights", + "callsign": "VPCVA", + "registration": "VP-CVA", + "type": "GLF6", + "squawk": "4041", + "ladd": true + }, + "p": "1477,18512,502137,1308,324,262,121,-2571,2350,0,325,262,120,-2554,2301,-1,325,263,130,-2804,2493,-1,324,263,132,-2889,2534,-1,324,265,121,-2685,2325,0,324,261" + }, + { + "k": "485814", + "m": { + "kind": "aircraft", + "layer": "flights", + "callsign": "KLC56H", + "registration": "PH-EXT", + "type": "E75L", + "squawk": "1000" + }, + "p": "1477,54555,502008,668,317,208,121,-2444,1639,54,316,210,120,-2485,1649,-1,316,216,130,-2720,1786,-1,316,214,131,-2800,1819,-1,316,216,120,-2593,1665,0,315,218" + }, + { + "k": "3c5db0", + "m": { + "kind": "aircraft", + "layer": "flights", + "callsign": "KLM74A", + "registration": "D-AGMP", + "type": "E190", + "squawk": "0753" + }, + "p": "1477,55634,526687,277,258,139,39,-798,-101,-19,258,139,40,-802,-103,-20,258,139,40,-804,-103,-19,258,139,40,-801,-103,-22,258,138,40,-780,-101,-21,258,134,41,-785,-104,-21,258,133,50,-949,-124,-22,258,128,41,-723,-96,-14,258,119,40,-646,-77,-9,260,105,31,-448,-68,-9,233,96,40,-379,-257,-6,221,94,40,-139,-302,0,181,88,40,-31,-281,0,184,73,40,-29,-261,-13,184,74,40,-25,-260,-16,184,69,40,-22,-239,-14,183,65,40,-21,-230,-14,185,62" + }, + { + "k": "407fcd", + "m": { + "kind": "aircraft", + "layer": "flights", + "callsign": "BAW7", + "registration": "G-XWBS", + "type": "A35K", + "squawk": "4622" + }, + "p": "1478,-4859,514648,0,90,11,37,281,1,8,90,86,41,535,-13,52,107,89,40,532,-166,12,113,115,40,672,-170,26,109,131,40,756,-106,37,102,139,41,795,-110,41,103,142,50,1021,-144,57,103,142,41,823,-29,43,85,144,40,838,-18,27,104,155,31,703,-123,9,106,170,40,993,-177,13,106,186,40,1066,-191,25,106,196,40,1087,-193,32,106,200,40,1105,-190,33,105,203,40,1151,-144,32,93,207,40,1201,63,20,83,216,40,1247,98,32,83,219" + }, + { + "k": "39bdb2", + "m": { + "kind": "aircraft", + "layer": "flights", + "callsign": "AFR57FH", + "registration": "F-HPNS", + "type": "BCS3", + "squawk": "0664" + }, + "p": "1496,20886,502162,786,346,205,121,-1250,2023,92,319,200,120,-2327,1702,70,319,207,142,-2795,2020,60,319,215,120,-2444,1747,40,318,221,120,-2229,1882,50,329,219" + }, + { + "k": "407f66", + "m": { + "kind": "aircraft", + "layer": "flights", + "callsign": "EZY95YJ", + "registration": "G-EJCI", + "type": "A320", + "squawk": "4725" + }, + "p": "1516,-1974,511499,0,259,9,40,-53,-7,0,259,9,37,-46,-6,0,259,10,426,57,-20,11,77,47,40,447,66,38,77,85,40,532,67,26,78,110,40,697,86,41,86,130,40,766,-10,46,92,136" + }, + { + "k": "3c6d43", + "m": { + "kind": "aircraft", + "layer": "flights", + "callsign": "KLM90U", + "registration": "D-AKJC", + "type": "E190", + "squawk": "2003" + }, + "p": "1516,52,535873,1046,135,230,120,3288,-1487,0,119,231,131,3991,-1352,0,119,232,132,4092,-1236,1,114,233,121,3804,-1049,-31,115,233,121,3782,-1061,-30,115,228" + }, + { + "k": "407fff", + "m": { + "kind": "aircraft", + "layer": "flights", + "callsign": "EZY42BT", + "registration": "G-UZLS", + "type": "A20N", + "squawk": "6260" + }, + "p": "1516,47588,523144,0,87,8,40,62,3,0,87,12,423,150,46,0,183,29,41,-16,-222,34,177,67,39,92,-259,46,168,85,40,127,-336,61,167,106,40,-151,-347,81,231,112,40,-745,-23,55,284,147" + }, + { + "k": "738059", + "m": { + "kind": "aircraft", + "layer": "flights", + "callsign": "ELY312", + "registration": "4X-EKK", + "type": "B738", + "squawk": "4637" + }, + "p": "1536,-3582,518764,24,74,75,40,449,80,59,75,78,41,463,75,34,75,85,39,517,-17,22,126,105,40,328,-370,20,155,128,41,354,-454,20,149,148,30,549,-218,30,102,156,41,925,-2,54,89,159,40,935,11,54,89,162,31,762,12,18,89,176,40,1069,10,38,89,186,40,1086,-8,47,101,190,40,799,-467,36,147,197,40,717,-573,36,140,205,40,765,-570,46,140,207,40,763,-578,44,141,210" + }, + { + "k": "43bfdf", + "m": { "kind": "aircraft", "layer": "flights", "callsign": "LEADER 6" }, + "p": "1520,-1764,511482,0,124,8,400,13,38,0,256,13,65,-64,-10,0,259,11" + }, + { + "k": "ab4464", + "m": { + "kind": "aircraft", + "layer": "flights", + "callsign": "SLM993", + "registration": "N825KW", + "type": "B772", + "squawk": "2131" + }, + "p": "1536,47692,523148,0,87,8,343,99,-46,5,183,70,41,-7,-310,50,173,84,39,126,-293,39,165,91,40,149,-336,3,176,97,40,-382,-220,4,272,116,40,-728,95,32,284,134,40,-780,120,48,283,138,40,-798,45,44,257,135" + }, + { + "k": "406133", + "m": { + "kind": "aircraft", + "layer": "flights", + "callsign": "EZY3431", + "registration": "G-EZFR", + "type": "A319", + "squawk": "0504" + }, + "p": "1557,-25714,530477,503,138,161,39,638,-435,58,142,170,40,632,-514,37,143,186,131,2277,-1807,176,143,200,132,2534,-1968,118,143,218,121,2598,-1797,108,134,226,121,2885,-1719,48,134,225" + }, + { + "k": "4d2130", + "m": { + "kind": "aircraft", + "layer": "flights", + "callsign": "VJT946", + "registration": "9H-VJU", + "type": "GLEX", + "squawk": "4666" + }, + "p": "1556,-7924,512704,0,62,22,40,319,106,29,63,79,40,406,137,46,62,92,40,532,45,20,125,108,41,311,-341,1,167,111,50,-476,-375,13,242,117,41,-593,-201,27,237,115,40,-562,-245,21,235,133,31,-502,-220,39,235,142,40,-688,-296,57,237,147,40,-719,-293,54,237,152,40,-779,-320,23,237,175,40,-868,-359,42,237,184,40,-884,-357,53,243,183,40,-1005,-178,43,257,186,40,-1042,-154,48,257,187" + }, + { + "k": "44001f", + "m": { + "kind": "aircraft", + "layer": "flights", + "callsign": "EJU8358", + "registration": "OE-ICN", + "type": "A320", + "squawk": "5751" + }, + "p": "1576,14479,502245,904,318,213,120,-2491,1736,-184,317,216,112,-2243,1552,-135,317,204,40,-773,529,-46,317,200,31,-587,402,-38,317,197,40,-811,488,-44,308,192,40,-819,414,-25,309,180,40,-777,397,-26,309,173,40,-747,379,-20,309,166,40,-724,366,-18,308,157,40,-665,326,-9,307,143,40,-629,301,-10,307,135" + }, + { + "k": "44812c", + "m": { "kind": "aircraft", "layer": "flights", "callsign": "SKEY420" }, + "p": "1576,44819,509089,0,59,18,32,75,27,0,56,18" + }, + { + "k": "486740", + "m": { + "kind": "aircraft", + "layer": "flights", + "callsign": "KLM35B", + "registration": "PH-AXB", + "type": "A21N", + "squawk": "7332" + }, + "p": "1576,47796,523146,0,183,23,41,-20,-229,21,182,78,39,88,-278,44,165,90,40,150,-336,56,168,100,41,-264,-313,57,244,115,30,-575,9,34,284,141,41,-832,128,66,283,147,40,-809,-98,54,245,144,31,-610,-162,44,248,149,40,-820,-200,57,248,152,40,-856,-213,37,248,167,40,-932,-235,45,248,176,40,-965,-243,49,248,181,120,-2985,-758,133,247,192" + }, + { + "k": "4aca6f", + "m": { + "kind": "aircraft", + "layer": "flights", + "callsign": "SAS46R", + "registration": "SE-RSO", + "type": "E190", + "squawk": "3355" + }, + "p": "1596,31329,502210,799,32,221,121,2019,2008,89,28,223,131,1612,2459,32,41,238,131,2922,2169,54,40,245,120,2768,2035,32,41,254" + }, + { + "k": "4864ea", + "m": { + "kind": "aircraft", + "layer": "flights", + "callsign": "KLM42N", + "registration": "PH-NXM", + "type": "E295", + "squawk": "3444" + }, + "p": "1617,398,535841,1173,136,235,120,2920,-1812,1,136,234,142,3669,-1960,0,111,238,121,4035,-930,0,111,240,121,4061,-939,-42,111,240" + }, + { + "k": "4846de", + "m": { + "kind": "aircraft", + "layer": "flights", + "callsign": "V5", + "registration": "GND", + "type": "GND" + }, + "p": "1613,47825,523220,0,3,25,41,-58,-10,0,219,23,148,-320,-30,0,264,16" + }, + { + "k": "408134", + "m": { + "kind": "aircraft", + "layer": "flights", + "callsign": "BAW825", + "registration": "G-TTSA", + "type": "A20N", + "squawk": "1443" + }, + "p": "1636,-25469,531083,1017,118,239,131,3219,-1887,0,153,234,132,2858,-2138,-81,137,231,121,2527,-1903,-156,147,215,121,1868,-1774,-63,147,175" + }, + { + "k": "76cdb5", + "m": { + "kind": "aircraft", + "layer": "flights", + "callsign": "SIA305", + "registration": "9V-SMU", + "type": "A359", + "squawk": "4727" + }, + "p": "1634,-4826,514648,0,90,31,42,416,1,21,90,86,41,461,-48,52,123,81,50,500,-223,36,115,88,41,517,-95,25,102,98,40,623,-81,14,102,122,31,569,-74,14,102,139,40,819,-113,23,103,144,40,802,-112,28,102,145,40,810,-112,35,103,146,40,816,-115,44,103,146,40,876,-123,17,103,165,40,980,-139,14,103,183,40,1050,-150,30,103,191" + }, + { + "k": "4cac55", + "m": { + "kind": "aircraft", + "layer": "flights", + "callsign": "RYR51SF", + "registration": "EI-HGR", + "type": "B38M", + "squawk": "1000" + }, + "p": "1636,44129,504489,87,245,81,40,-469,-141,44,247,94,41,-552,-159,37,246,116,50,-821,-136,77,260,123,41,-713,-79,48,260,131,40,-771,-90,27,260,149,31,-603,-153,32,228,152,41,-547,-444,50,218,156,39,-562,-440,45,219,161,40,-577,-458,44,219,165" + }, + { + "k": "484205", + "m": { "kind": "aircraft", "layer": "flights", "callsign": "KV3" }, + "p": "1629,47417,523181,0,183,9,45,5,-32,0,113,9,303,247,24,0,96,11,37,29,0,0,59,11" + }, + { + "k": "43c8e5", + "m": { + "kind": "military", + "layer": "military", + "callsign": "SYS137", + "registration": "ZM511", + "type": "EC35", + "squawk": "7421", + "helicopter": true, + "military": true + }, + "p": "1657,-25921,528128,24,84,47,39,277,18,4,84,47,41,223,-117,0,148,55,50,65,-240,0,180,56,41,-164,-155,2,244,57,48,-396,-6,-1,278,57" + }, + { + "k": "4cae9e", + "m": { + "kind": "aircraft", + "layer": "flights", + "callsign": "RYR3JU", + "registration": "EI-IKX", + "type": "B38M", + "squawk": "1000" + }, + "p": "1656,27815,502145,1092,28,256,132,2195,2666,-133,27,253,131,2139,2616,-138,28,247,120,1897,2298,-120,27,236,100,1472,1863,-102,26,228,40,554,733,-40,25,221" + }, + { + "k": "4cac7f", + "m": { + "kind": "aircraft", + "layer": "flights", + "callsign": "RYR83JF", + "registration": "EI-HMS", + "type": "B38M", + "squawk": "6620" + }, + "p": "1656,55982,515734,1087,285,230,132,-4188,717,-1,285,228,132,-4166,698,-1,285,228,121,-3905,638,0,284,230,120,-3880,618,-1,284,231" + }, + { + "k": "43c6cb", + "m": { + "kind": "military", + "layer": "military", + "callsign": "SEEKER61", + "registration": "ZK315", + "type": "EUFI", + "squawk": "3310", + "military": true + }, + "p": "1675,-447,531187,125,0,0,39,881,186,91,71,85,49,903,583,132,34,109,43,859,678,108,35,119,40,771,662,86,33,120,128,2099,2467,68,25,127" + }, + { + "k": "4d224e", + "m": { + "kind": "aircraft", + "layer": "flights", + "callsign": "RYR3QH", + "registration": "9H-QDY", + "type": "B738", + "squawk": "5745" + }, + "p": "1676,12230,502143,1084,319,231,132,-2762,2041,-16,319,227,132,-2800,2040,-138,319,231,121,-2603,1882,-165,319,222,120,-2429,1729,-145,318,209" + }, + { + "k": "4ca856", + "m": { + "kind": "aircraft", + "layer": "flights", + "callsign": "RYR4KR", + "registration": "EI-EMN", + "type": "B738", + "squawk": "1000" + }, + "p": "1676,29669,502054,886,27,239,132,2048,2436,-61,32,231,131,2243,2279,-75,32,231,120,2279,1915,-104,43,219,60,1292,839,-65,45,215,40,867,547,-41,45,213" + }, + { + "k": "44ccd1", + "m": { + "kind": "aircraft", + "layer": "flights", + "callsign": "BEL5RH", + "registration": "OO-SFQ", + "type": "A333", + "squawk": "0107" + }, + "p": "1676,45007,509097,0,194,12,41,-76,-186,16,193,78,50,158,-285,65,143,68,41,233,-194,27,144,72,40,270,-259,6,145,103,31,291,-259,19,144,120,41,442,-345,50,139,125,39,462,-346,46,140,128,40,566,-314,43,130,138,40,422,-404,39,146,140,40,507,-441,18,143,161,40,546,-466,47,143,164,40,560,-479,30,143,173" + }, + { + "k": "4846dd", + "m": { "kind": "aircraft", "layer": "flights", "callsign": "V4" }, + "p": "1674,47456,523131,0,96,10,134,9,14,0,264,11,40,-26,17,0,0,11,32,4,33,0,3,11,34,2,34,0,0,11,106,7,70,0,3,13" + }, + { + "k": "43c79d", + "m": { + "kind": "military", + "layer": "military", + "callsign": "SEEKER62", + "registration": "ZK375", + "type": "EUFI", + "squawk": "7002", + "military": true + }, + "p": "1680,-792,531124,104,0,0,35,1012,195,92,0,0,48,1075,571,128,34,116,42,799,635,129,33,111,42,844,695,63,33,121,32,576,601,78,29,128" + }, + { + "k": "406e65", + "m": { + "kind": "aircraft", + "layer": "flights", + "callsign": "EZY527C", + "registration": "G-EZOT", + "type": "A320", + "squawk": "5013" + }, + "p": "1696,-25711,515115,167,120,143,41,681,-244,-14,120,131,30,407,-227,-14,156,126,41,93,-453,-26,178,122,40,-369,-257,-8,256,96,30,-400,-37,-14,266,89,41,-495,-16,-19,267,76" + }, + { + "k": "48548d", + "m": { + "kind": "aircraft", + "layer": "flights", + "callsign": "KLC76U", + "registration": "PH-EXM", + "type": "E75L", + "squawk": "7621" + }, + "p": "1696,-3576,535648,24,204,65,41,-246,-199,35,221,78,30,-270,-188,19,219,102,41,-408,-302,65,220,110,40,-429,-313,66,220,115,31,-350,-247,49,221,118,40,-31,-376,62,136,113,40,620,-153,66,107,112,41,671,-128,50,108,119,39,690,-135,49,108,125,40,779,-154,16,108,152,40,939,-190,22,109,173,40,985,-201,51,108,175" + }, + { + "k": "4ca738", + "m": { + "kind": "aircraft", + "layer": "flights", + "callsign": "RYR6207", + "registration": "EI-EBO", + "type": "B738", + "squawk": "3413" + }, + "p": "1696,2509,518905,0,222,11,66,-90,-60,0,222,14,45,-56,-37,0,222,13,41,-49,-33,0,225,10,51,-38,14,0,312,8,59,102,82,15,43,70,41,330,222,44,44,86,40,495,53,39,117,102,40,603,-173,38,115,126,40,706,-182,36,100,137,40,787,-35,91,93,129" + }, + { + "k": "4ca625", + "m": { + "kind": "aircraft", + "layer": "flights", + "callsign": "RYR393A", + "registration": "EI-DWY", + "type": "B738", + "squawk": "6767" + }, + "p": "1698,-8929,502025,845,8,223,130,582,2567,-67,8,219,131,554,2443,-147,8,201,40,159,703,-46,8,198,40,280,678,-22,22,191,40,407,633,0,22,191,41,415,641,0,22,193,39,413,637,0,22,193" + }, + { + "k": "40799b", + "m": { + "kind": "aircraft", + "layer": "flights", + "callsign": "CFE48D", + "registration": "G-LCAC", + "type": "E190", + "squawk": "6340" + }, + "p": "1717,-25951,532063,1110,105,241,131,4364,-1012,0,124,239,131,3905,-1586,0,124,241,120,3536,-1457,0,124,241" + }, + { + "k": "48c12f", + "m": { + "kind": "aircraft", + "layer": "flights", + "callsign": "RYR5YZ", + "registration": "SP-RKP", + "type": "B738", + "squawk": "0511" + }, + "p": "1717,-25510,514605,382,87,198,50,1444,-19,86,91,198,41,1163,8,58,83,201,40,1160,147,45,78,208,131,3999,522,141,78,224,120,3820,484,126,79,227" + }, + { + "k": "440090", + "m": { + "kind": "aircraft", + "layer": "flights", + "callsign": "EJU86XD", + "registration": "OE-IVL", + "type": "A320", + "squawk": "2040" + }, + "p": "1715,-22790,533565,0,188,8,52,-31,-34,0,205,9,41,-44,-25,0,231,10,40,-51,-28,0,231,12,131,-2,-22,0,51,13,41,296,142,31,53,85,40,445,203,36,52,106,39,231,379,34,342,128,40,-602,233,54,273,135,40,-729,-206,55,224,143" + }, + { + "k": "896407", + "m": { + "kind": "aircraft", + "layer": "flights", + "callsign": "ETD81C", + "registration": "A6-APD", + "type": "A388", + "squawk": "2701" + }, + "p": "1716,-4585,514656,0,326,8,131,-110,10,0,270,8" + }, + { + "k": "4080f7", + "m": { + "kind": "aircraft", + "layer": "flights", + "callsign": "EZY48ED", + "registration": "G-EJCM", + "type": "A320", + "squawk": "2730" + }, + "p": "1714,-1997,511469,29,124,4,53,589,81,35,78,84,41,559,51,26,100,112,40,392,-321,46,168,133,31,127,-380,24,165,139,41,235,-493,27,163,144,39,234,-494,2,163,145,40,242,-507,36,163,150,40,252,-536,53,163,159,40,254,-540,60,163,160,40,258,-553,58,164,162,40,-69,-585,35,193,174" + }, + { + "k": "4ca891", + "m": { + "kind": "aircraft", + "layer": "flights", + "callsign": "RYR1MC", + "registration": "EI-ENE", + "type": "B738", + "squawk": "1000" + }, + "p": "1717,28443,502184,734,32,217,131,1834,2111,-112,21,203,31,323,521,-30,26,203,40,923,391,-33,79,198,41,1093,153,-40,76,198,39,1075,172,-38,76,195,40,1054,168,-41,76,194,40,1071,169,-39,76,194,40,1063,160,-41,80,191,40,1036,57,-22,85,180" + }, + { + "k": "4a08ee", + "m": { + "kind": "aircraft", + "layer": "flights", + "callsign": "ROT361U", + "squawk": "1000" + }, + "p": "1717,55647,524789,309,280,150,50,-1087,115,-35,281,149,41,-864,95,-26,280,146,40,-845,92,-27,280,146,31,-655,71,-21,280,145,40,-843,89,-28,280,142,40,-810,86,-27,280,138,40,-775,80,-23,279,131,40,-717,-18,-21,263,119,40,-692,-52,-22,263,118,40,-511,-205,-14,220,103,40,-290,-286,1,192,83" + }, + { + "k": "399452", + "m": { + "kind": "aircraft", + "layer": "flights", + "callsign": "VLJ990V", + "registration": "F-HFCS", + "type": "H25B", + "squawk": "1441", + "ladd": true + }, + "p": "1737,12130,502192,775,319,203,142,-2813,2074,-2,319,222,120,-2498,1825,1,319,224,120,-2463,1789,-23,319,204" + }, + { + "k": "738068", + "m": { + "kind": "aircraft", + "layer": "flights", + "callsign": "ELY338", + "registration": "4X-EKI", + "type": "B738", + "squawk": "0176" + }, + "p": "1737,47757,523168,0,56,8,322,43,30,0,183,20,40,-22,-222,15,184,83,40,45,-281,51,150,89,40,547,-137,41,91,122" + }, + { + "k": "3444da", + "m": { + "kind": "aircraft", + "layer": "flights", + "callsign": "VLG59BJ", + "registration": "EC-MBS", + "type": "A320", + "squawk": "2734" + }, + "p": "1767,-1887,511511,0,259,10,43,-50,-7,0,259,8,38,-53,-7,0,259,12,31,-54,-7,0,259,13,40,-52,-8,0,259,9,201,-5,-28,0,76,10,39,289,40,15,78,84" + }, + { + "k": "48520c", + "m": { + "kind": "aircraft", + "layer": "flights", + "callsign": "TRA73V", + "registration": "PH-HXD", + "type": "B738", + "squawk": "1000" + }, + "p": "1767,29862,502163,1057,39,254,132,2869,2278,-149,39,235,121,1895,2185,-83,24,231,122,1169,2285,-129,8,211" + }, + { + "k": "4b19f5", + "m": { + "kind": "aircraft", + "layer": "flights", + "callsign": "SWR431", + "registration": "HB-JVP", + "type": "E190", + "squawk": "7326" + }, + "p": "1787,-1817,511567,0,259,8,128,-45,-52,0,259,8,43,-60,-9,0,259,11,41,-67,-9,0,259,12,40,-68,-9,0,259,9" + }, + { + "k": "484208", + "m": { + "kind": "aircraft", + "layer": "flights", + "callsign": "C3", + "registration": "GND", + "type": "GND" + }, + "p": "1788,47752,523070,0,3,13,36,-6,38,0,284,13,32,-50,5,0,340,10" + }, + { + "k": "3c654a", + "m": { + "kind": "aircraft", + "layer": "flights", + "callsign": "LHX4UT", + "registration": "D-AIJJ", + "type": "A20N", + "squawk": "2575" + }, + "p": "1788,55543,512272,1152,294,226,132,-3886,1060,-3,293,225,121,-3607,969,2,293,226,120,-3573,943,0,293,225" + }, + { + "k": "44cc44", + "m": { + "kind": "aircraft", + "layer": "flights", + "callsign": "BEL8PZ", + "registration": "OO-SBD", + "type": "A20N", + "squawk": "1000" + }, + "p": "1808,31832,502159,661,31,240,131,2456,2389,0,35,243,120,2318,2142,-50,34,238,40,822,676,-26,49,233,41,1035,421,-25,59,204,39,932,359,-27,59,186" + }, + { + "k": "4a91f8", + "m": { + "kind": "aircraft", + "layer": "flights", + "callsign": "SAS62L", + "registration": "SE-DOX", + "type": "A20N", + "squawk": "3175" + }, + "p": "1808,47720,523046,0,56,9,40,39,21,0,8,9,51,3,37,0,3,10,40,3,29,0,3,10,221,30,2,0,183,29" + }, + { + "k": "344648", + "m": { + "kind": "aircraft", + "layer": "flights", + "callsign": "IBE05LL", + "registration": "EC-MDK", + "type": "A320", + "squawk": "1000" + }, + "p": "1810,28429,502015,895,50,224,129,2994,1609,-112,47,210,120,2670,1643,-133,46,218,61,1304,804,-62,45,212,39,825,527,-40,45,208" + }, + { + "k": "408032", + "m": { + "kind": "aircraft", + "layer": "flights", + "callsign": "EXS73J", + "registration": "G-SUNH", + "type": "A21N", + "squawk": "7703" + }, + "p": "1826,-1790,511524,0,259,9,30,-39,-5,0,262,10,42,-57,-8,0,259,11" + }, + { + "k": "502d5f", + "m": { + "kind": "aircraft", + "layer": "flights", + "callsign": "BTI8KY", + "registration": "YL-ABN", + "type": "BCS3", + "squawk": "1000" + }, + "p": "1826,47422,523079,0,3,8,52,5,48,0,3,13,44,25,21,0,87,8,33,44,2,0,87,9,45,66,2,0,87,13,39,83,3,0,87,15,40,74,2,0,87,11,40,49,18,0,28,9" + }, + { + "k": "486742", + "m": { + "kind": "aircraft", + "layer": "flights", + "callsign": "KLM1902", + "registration": "PH-AXD", + "type": "A21N", + "squawk": "1000" + }, + "p": "1828,55683,524689,294,281,147,51,-1091,130,-22,282,148,40,-863,109,-20,281,146,40,-845,98,-22,281,147,40,-851,100,-20,281,146,40,-834,99,-16,281,144,40,-830,97,-16,281,142,40,-813,92,-17,281,139,40,-790,92,-20,281,137" + }, + { + "k": "896617", + "m": { + "kind": "aircraft", + "layer": "flights", + "callsign": "UAE9656", + "registration": "A6-EFY", + "type": "B77L", + "squawk": "0143" + }, + "p": "1828,47602,522955,0,59,11,51,53,21,0,59,10,260,106,115,0,3,10,40,4,40,0,3,10" + }, + { + "k": "407575", + "m": { + "kind": "aircraft", + "layer": "flights", + "callsign": "EZY64FW", + "registration": "G-EZRZ", + "type": "A320", + "squawk": "5014" + }, + "p": "1848,-25993,515095,185,120,140,31,521,-189,-9,120,131,40,634,-229,-13,120,122,40,389,-308,-11,172,108,40,-61,-378,-31,221,101,40,-502,-82,-20,265,89,40,-474,-17,-16,267,74,40,-393,-13,-16,266,66" + }, + { + "k": "43c8d8", + "m": { + "kind": "military", + "layer": "military", + "callsign": "CWL38", + "registration": "ZM337", + "type": "E50P", + "squawk": "2610", + "military": true + }, + "p": "1848,-4692,530315,32,83,71,31,334,112,24,37,99,40,372,290,62,39,100,40,368,281,60,38,98,40,363,291,50,38,102,40,388,297,44,38,109,40,397,309,21,37,110,40,398,317,-1,38,110,40,408,317,25,38,113" + }, + { + "k": "45ab24", + "m": { + "kind": "aircraft", + "layer": "flights", + "callsign": "JTD629", + "registration": "OY-JYD", + "type": "B738", + "squawk": "3521" + }, + "p": "1879,55653,517993,1022,215,218,121,-2163,-1922,0,215,216,121,-2159,-1944,0,215,217" + }, + { + "k": "407814", + "m": { + "kind": "aircraft", + "layer": "flights", + "callsign": "BRO70", + "registration": "G-HMGA", + "type": "BE20", + "squawk": "4261", + "ladd": true + }, + "p": "1899,-3851,535494,50,252,81,40,-534,-35,17,272,103,40,-637,-16,-1,266,106,40,-647,-12,-4,266,106,40,-658,-21,-10,270,110,40,-664,6,-9,265,108,40,-649,-31,-6,262,108,40,-651,-49,-1,258,108" + }, + { + "k": "4079d1", + "m": { + "kind": "aircraft", + "layer": "flights", + "callsign": "CFE728", + "registration": "G-LCAF", + "type": "E190", + "squawk": "2046" + }, + "p": "1898,476,515055,6,93,37,41,361,-11,44,93,60,40,400,57,19,55,86,41,407,240,27,64,105,39,565,178,46,63,115,40,610,195,35,65,125,40,699,-101,36,122,136,40,664,-263,50,123,139" + }, + { + "k": "a3dc8e", + "m": { + "kind": "aircraft", + "layer": "flights", + "callsign": "TWY348", + "registration": "N348RS", + "type": "GA5C", + "squawk": "0676", + "ladd": true + }, + "p": "1899,17863,502043,919,329,230,121,-2099,2205,39,329,255,121,-2329,2418,45,328,262" + }, + { + "k": "3cce03", + "m": { + "kind": "aircraft", + "layer": "flights", + "callsign": "DWW102", + "registration": "D-CFHZ", + "type": "E55P", + "squawk": "1452" + }, + "p": "1918,-4153,515536,28,0,0,41,362,136,31,32,77,40,103,307,28,8,96,40,92,359,12,10,107,40,166,381,40,39,115,40,555,226,42,59,119,40,647,241,66,60,138" + }, + { + "k": "4853d4", + "m": { + "kind": "aircraft", + "layer": "flights", + "callsign": "TRA45E", + "registration": "PH-HXK", + "type": "B738", + "squawk": "1000" + }, + "p": "1920,29833,502312,1023,40,254,121,2582,2165,-109,23,246,120,1604,2397,-131,23,229" + }, + { + "k": "4481a1", + "m": { "kind": "aircraft", "layer": "flights", "callsign": "INSP510" }, + "p": "1905,44827,509091,0,56,10,32,39,15,0,59,10,42,41,15,0,56,11,37,49,18,0,62,11" + }, + { + "k": "4007f1", + "m": { + "kind": "aircraft", + "layer": "flights", + "callsign": "BAW38W", + "registration": "G-YMMF", + "type": "B772", + "squawk": "7642" + }, + "p": "1939,-25472,507232,819,96,238,120,3896,-219,-78,95,225,120,3742,-215,-70,95,217" + }, + { + "k": "484207", + "m": { "kind": "aircraft", "layer": "flights", "callsign": "C1" }, + "p": "1935,47602,523149,0,87,9,61,80,4,0,82,9,42,53,-5,0,138,10,41,22,-31,0,183,10,80,-5,-34,0,217,11" + }, + { + "k": "3c4a03", + "m": { + "kind": "aircraft", + "layer": "flights", + "callsign": "DLH444", + "registration": "D-ABPC", + "type": "B789", + "squawk": "2526" + }, + "p": "1939,55988,518193,1024,317,260,120,-2800,2174,61,322,257,120,-2743,2185,1,322,257" + }, + { + "k": "4aca06", + "m": { + "kind": "aircraft", + "layer": "flights", + "callsign": "NSZ5260", + "registration": "SE-RPF", + "type": "B738", + "squawk": "6202" + }, + "p": "1941,35098,535969,1060,207,222,120,-1805,-2091,-30,207,219,120,-1795,-2120,-42,207,222" + }, + { + "k": "46b828", + "m": { + "kind": "aircraft", + "layer": "flights", + "callsign": "AEE624", + "registration": "SX-NAH", + "type": "A21N", + "squawk": "1000" + }, + "p": "1959,55836,524506,302,283,170,40,-926,132,-18,283,155,40,-867,122,-27,283,149,40,-843,117,-31,283,147,40,-832,117,-24,283,143,40,-829,114,-14,283,144" + }, + { + "k": "484c5a", + "m": { + "kind": "aircraft", + "layer": "flights", + "callsign": "TRA5276", + "registration": "PH-HSC", + "type": "B738", + "squawk": "1000" + }, + "p": "1979,29950,502241,984,45,252,120,2635,1951,-125,33,232" + }, + { + "k": "8964b5", + "m": { + "kind": "aircraft", + "layer": "flights", + "callsign": "UAE216", + "registration": "A6-EVG", + "type": "A388", + "squawk": "2256" + }, + "p": "1999,-25437,519791,1112,123,263,120,3815,-1565,1,124,263" + }, + { + "k": "40653a", + "m": { + "kind": "aircraft", + "layer": "flights", + "callsign": "EZY91HN", + "registration": "G-EZGK", + "type": "A319", + "squawk": "5777" + }, + "p": "2000,14191,502109,896,315,230,121,-2715,1747,-188,315,224" + }, + { + "k": "486484", + "m": { + "kind": "aircraft", + "layer": "flights", + "callsign": "KLM1498", + "registration": "PH-NXG", + "type": "E295", + "squawk": "1000" + }, + "p": "1999,26012,502283,1005,33,250,120,2328,2265,-61,33,243" + }, + { + "k": "407e21", + "m": { + "kind": "aircraft", + "layer": "flights", + "callsign": "VIR106F", + "registration": "G-VLDY", + "type": "A339", + "squawk": "7666" + }, + "p": "2039,-25801,531125,1056,116,236,120,3303,-1306,-90,147,213" + }, + { + "k": "3451d3", + "m": { + "kind": "aircraft", + "layer": "flights", + "callsign": "VLG3GG", + "registration": "EC-MKM", + "type": "A320", + "squawk": "2045" + }, + "p": "2039,-4500,514632,0,270,8,40,-58,0,0,273,11,40,-63,0,0,270,11,37,-55,0,0,273,11" + }, + { + "k": "3991e5", + "m": { + "kind": "aircraft", + "layer": "flights", + "callsign": "AFR94JP", + "registration": "F-HEPF", + "type": "A320", + "squawk": "1000" + }, + "p": "2039,32956,502142,661,21,207,120,1251,2095,0,20,209" + }, + { + "k": "4ca6fc", + "m": { + "kind": "aircraft", + "layer": "flights", + "callsign": "RYR800", + "registration": "EI-DYY", + "type": "B738", + "squawk": "4227" + }, + "p": "2059,-25854,530633,430,116,174,40,908,-266,-35,116,165,40,878,-258,-47,116,164,40,869,-252,-34,116,157" + }, + { + "k": "4bc88c", + "m": { + "kind": "aircraft", + "layer": "flights", + "callsign": "PGT357X", + "registration": "TC-RDL", + "type": "A21N", + "squawk": "7501" + }, + "p": "2048,2386,518823,0,222,10,31,-29,-19,0,222,8" + }, + { + "k": "4ca643", + "m": { + "kind": "aircraft", + "layer": "flights", + "callsign": "RYR2KK", + "registration": "EI-DYA", + "type": "B738", + "squawk": "5744" + }, + "p": "2061,55981,515684,127,306,112,38,-496,183,-20,275,95,40,-364,-150,-18,218,73,40,-234,-200,-14,215,68" + }, + { + "k": "4855d1", + "m": { + "kind": "aircraft", + "layer": "flights", + "callsign": "KLM52R", + "registration": "PH-EXO", + "type": "E75L", + "squawk": "1000" + }, + "p": "2079,55923,528829,290,238,136,40,-677,-256,-24,238,134,41,-675,-256,-18,238,133" + }, + { + "k": "408178", + "m": { + "kind": "aircraft", + "layer": "flights", + "callsign": "NJU378C", + "registration": "G-NJAI", + "type": "C56X", + "squawk": "7302" + }, + "p": "2099,-13588,509513,0,201,9,39,-19,-34,0,201,11" + }, + { + "k": "4868f7", + "m": { + "kind": "aircraft", + "layer": "flights", + "callsign": "KLM95Q", + "registration": "PH-AXP", + "type": "A21N", + "squawk": "1000" + }, + "p": "2100,47763,523108,0,3,12,39,-5,42,0,318,10,40,11,25,0,31,8" + }, + { + "k": "48452f", + "m": { + "kind": "aircraft", + "layer": "flights", + "callsign": "PHSVU", + "registration": "PH-SVU", + "type": "DR40", + "squawk": "7000" + }, + "p": "2099,44220,519509,31,0,0,39,-239,-16,12,283,22,40,-209,230,3,337,43" + }, + { + "k": "406b62", + "m": { + "kind": "aircraft", + "layer": "flights", + "callsign": "BAW608", + "registration": "G-EUYX", + "type": "A320", + "squawk": "5224" + }, + "p": "2117,-4849,514648,0,90,25,42,405,2,30,89,82" + }, + { + "k": "4842f7", + "m": { "kind": "aircraft", "layer": "flights", "callsign": "TD29" }, + "p": "2121,47222,523282,0,39,11,34,40,-12,0,138,16" + }, + { + "k": "4cacb6", + "m": { + "kind": "aircraft", + "layer": "flights", + "callsign": "SAS822", + "registration": "EI-SIC", + "type": "A20N", + "squawk": "0145" + }, + "p": "2138,47716,523044,0,56,9,41,43,24,0,3,10" + } + ] +} diff --git a/mobile/demo/history/nyc.json b/mobile/demo/history/nyc.json new file mode 100644 index 000000000..4e19a7766 --- /dev/null +++ b/mobile/demo/history/nyc.json @@ -0,0 +1,583 @@ +{ + "format": "gev-history/1", + "region": "nyc", + "label": "New York area", + "bbox": { "west": -76.5, "south": 39.4, "east": -71.2, "north": 42.2 }, + "capturedAt": { + "start": "2026-10-23T08:25:37.000Z", + "end": "2026-10-23T09:02:03.000Z" + }, + "source": "adsb.lol (ODbL) · adsb.lol military (ODbL) · God’s Eye dev server (OpenSky / adsb.lol)", + "note": "Real recorded positions (adsb.lol point snapshots around each anchor, OpenSky / adsb.lol via the dev server as a fallback). Timestamps are the true capture times and are never shifted.", + "t0": 1792743937, + "tracks": [ + { + "k": "adbe4a", + "m": { + "kind": "aircraft", + "layer": "flights", + "callsign": "MTN8302", + "registration": "N985FX", + "type": "C208", + "squawk": "1761", + "country": "United States" + }, + "p": "651,-762197,396788,118,242,93,40,-384,-158,0,242,93,40,-385,-158,0,242,93,40,-380,-156,0,242,93,40,-381,-157,0,242,93,40,-383,-159,0,242,93,31,-300,-124,0,242,94,41,-389,-161,0,242,93" + }, + { + "k": "adc201", + "m": { + "kind": "aircraft", + "layer": "flights", + "callsign": "MTN8305", + "registration": "N986FX", + "type": "C208", + "squawk": "1554" + }, + "p": "650,-762182,394631,114,230,46,39,-327,-199,0,231,46,42,-337,-213,0,231,47,39,-320,-205,0,231,47" + }, + { + "k": "0d10bc", + "m": { + "kind": "aircraft", + "layer": "flights", + "callsign": "VIV687", + "registration": "XA-VDG", + "type": "A320", + "squawk": "2611", + "country": "Mexico" + }, + "p": "651,-760314,396918,1018,231,235,120,-2495,-1595,43,230,232" + }, + { + "k": "0d0e3a", + "m": { + "kind": "aircraft", + "layer": "flights", + "callsign": "VOI1902", + "registration": "XA-VSZ", + "type": "A20N", + "squawk": "2673" + }, + "p": "651,-759607,394170,929,46,215,120,2061,1526,-127,46,196,132,2035,1553,-135,43,178,80,1088,901,-79,43,169,40,538,445,-38,43,169,40,535,442,-38,43,165,40,526,432,-36,43,161,40,499,411,-37,43,158,40,498,409,-34,43,155,52,652,534,-46,43,154,40,489,398,-24,43,148,40,467,383,-21,43,146,40,474,386,-22,43,147,40,464,378,-21,43,143,40,478,360,-22,47,141,40,552,269,-8,63,142,40,596,238,-4,63,143,40,590,235,-10,63,140,40,586,231,-9,63,139,39,570,225,-10,63,139,41,586,231,-26,63,137,40,572,225,-27,63,135,51,680,265,-22,63,115,40,451,176,-13,63,99,40,408,162,-30,63,96,31,285,110,-2,63,79,41,246,198,0,27,77,40,161,253,-8,26,76,40,153,244,-15,26,74,40,150,235,-15,26,70,40,123,195,-13,26,57,40,119,189,-13,26,57,40,119,188,-12,26,59" + }, + { + "k": "a32bba", + "m": { + "kind": "aircraft", + "layer": "flights", + "callsign": "AAL28", + "registration": "N303NY", + "type": "A21N", + "squawk": "6743" + }, + "p": "651,-758033,413053,952,111,252,120,3282,-1042,-161,114,241,132,3362,-1133,-75,114,234,120,3016,-952,-67,100,224,100,2592,-308,-53,99,219,40,1022,-122,-4,99,219,72,1847,-222,0,99,220,40,1035,-126,0,99,219,40,990,-242,0,124,229,40,660,-662,0,160,238,40,250,-829,-29,168,230,40,237,-797,-55,167,224,40,236,-774,-60,167,222,40,232,-767,-44,167,212,40,217,-705,-22,167,189,40,193,-621,-21,167,168,39,182,-567,-42,166,163,41,196,-566,-37,164,160,40,513,-362,-28,99,151,51,833,157,-38,71,141,40,629,166,-32,71,138,40,608,160,-25,70,134,31,457,135,-26,59,133,41,227,421,-26,4,129,40,28,453,-19,2,120,39,14,388,0,1,97,41,6,326,0,1,89,40,8,322,0,1,89,40,8,323,0,1,88,40,-145,289,0,303,100" + }, + { + "k": "a24c77", + "m": { + "kind": "aircraft", + "layer": "flights", + "callsign": "UAL2186", + "registration": "N24706", + "type": "B737", + "squawk": "2455" + }, + "p": "651,-756542,409975,485,106,187,40,844,-181,-40,106,183,41,824,-172,-38,105,178,39,804,-173,-38,106,177,40,789,-169,-37,106,174,40,783,-169,-21,106,168,31,578,-126,-8,106,155,41,705,-154,-29,106,152,40,663,-180,-3,110,146,40,655,-177,1,104,146,40,696,-25,-20,91,149,40,698,-12,-20,91,146,40,683,-10,-19,91,143,40,670,-14,-22,92,140,72,963,-309,-12,154,128,40,276,-409,-10,152,128,40,265,-401,-14,154,120,40,258,-381,-21,153,119,40,259,-389,-15,152,122,40,260,-388,-1,153,120,40,241,-368,1,153,110,40,234,-351,-5,153,108,40,241,-341,-19,141,106,40,405,-133,-7,89,90,39,378,72,-2,74,80,41,359,82,-2,73,79,40,293,141,-5,25,77,51,203,316,-11,25,75,40,143,229,-8,26,63,40,124,195,-8,26,58,31,91,144,-9,27,56,41,122,192,-12,26,61,40,126,201,-13,25,64,40,133,210,-13,25,65,56,131,214,-5,26,12" + }, + { + "k": "ae07f4", + "m": { + "kind": "military", + "layer": "military", + "callsign": "RCH733", + "registration": "97-0042", + "type": "C17", + "squawk": "1032", + "military": true + }, + "p": "649,-753780,405942,1067,46,121,120,2389,1746,0,46,120,132,2707,1940,0,47,122,120,2442,1754,0,46,123,121,2502,1764,0,47,122,129,2662,1863,0,47,121,122,2444,1737,0,46,113,121,2614,1742,0,48,118,138,2942,2029,0,46,126" + }, + { + "k": "a32890", + "m": { + "kind": "aircraft", + "layer": "flights", + "callsign": "N302UP", + "registration": "N302UP", + "type": "B763", + "squawk": "6724", + "country": "United States" + }, + "p": "651,-751671,400018,155,97,126,40,538,-51,-27,98,108,41,490,-73,-24,112,104,39,196,-334,-16,174,107,40,-115,-357,-19,221,111,40,-423,-181,-10,250,99,31,-334,-83,-18,254,89,41,-383,-86,-17,254,83,40,-364,-68,-19,255,79,136,-427,-115,-5,163,10" + }, + { + "k": "aa6bc0", + "m": { + "kind": "aircraft", + "layer": "flights", + "callsign": "UAL2397", + "registration": "N77022", + "type": "B772", + "squawk": "2472", + "country": "United States" + }, + "p": "651,-748784,407699,270,128,156,40,586,-345,0,128,155,40,562,-334,-17,128,150,40,553,-329,-21,128,145,40,531,-317,-23,128,143,40,529,-315,-23,128,141,31,411,-246,-18,128,139,41,500,-302,-13,128,126,40,446,-265,-23,128,115,40,413,-248,-35,128,112,40,443,-84,-12,76,88,40,382,79,-2,72,83,40,371,92,-1,72,83,40,331,141,-2,31,82,72,299,468,-9,26,72,40,131,207,-14,26,60,40,122,194,-12,26,58,40,121,192,-13,26,61,40,127,199,-12,26,61,40,130,206,-14,25,65,38,128,201,-6,26,52,38,39,69,0,26,12,84,-33,37,0,276,11,39,-47,4,0,276,9" + }, + { + "k": "39d2a5", + "m": { + "kind": "aircraft", + "layer": "flights", + "callsign": "AFR173", + "registration": "F-HUVF", + "type": "A359", + "squawk": "3227" + }, + "p": "652,-748311,399191,1212,50,253,139,3183,2064,0,50,254,132,3025,1941,0,50,257,120,2769,1763,-1,50,256,120,2817,1775,0,51,258,132,3100,1936,-1,51,257,120,2844,1757,0,51,258,120,2867,1756,-1,51,259,120,2884,1749,0,51,259,131,3178,1908,0,52,259,132,3214,1911,-1,52,260,120,2956,1739,0,52,261,120,2980,1735,-1,52,262" + }, + { + "k": "a3f930", + "m": { + "kind": "aircraft", + "layer": "flights", + "callsign": "UPS1114", + "registration": "N355UP", + "type": "B763", + "squawk": "6734" + }, + "p": "651,-747047,394015,793,61,228,120,2700,1131,-135,62,212,60,1279,533,-77,61,209,51,909,639,-54,41,206,41,621,564,-31,40,202,40,607,555,-30,40,200,40,595,543,-35,40,195,40,549,549,-34,32,192,40,435,595,-29,29,189,40,426,599,-29,29,187,40,398,563,-7,29,169,72,689,852,-23,32,146,40,351,432,-23,32,141,40,343,436,-29,30,140,40,326,429,-26,30,137,40,313,423,-26,30,135,40,308,417,-22,29,130,40,289,402,-20,28,125,40,273,390,-28,27,124,40,255,406,-24,24,122,40,218,376,-10,24,107,39,161,328,-10,360,92,41,-334,218,-4,303,99,40,-397,196,0,301,100,51,-510,233,-14,301,97,40,-372,169,-20,301,83,40,-309,140,-16,301,73,31,-224,103,-13,300,71,41,-292,132,-16,301,71,40,-282,128,-8,301,66,40,-109,46,0,301,10,40,-43,-18,0,242,12,39,-51,5,0,276,10,30,-33,-11,0,242,8" + }, + { + "k": "a0566a", + "m": { + "kind": "aircraft", + "layer": "flights", + "callsign": "UAL91", + "registration": "N12021", + "type": "B78X", + "squawk": "0701" + }, + "p": "651,-743550,414956,232,198,153,40,-226,-525,-15,198,152,40,-223,-523,-8,198,152,40,-223,-518,0,198,152,40,-223,-518,0,198,152,40,-221,-517,0,198,151,31,-173,-407,0,198,151,41,-225,-523,0,198,150,40,-220,-514,0,198,151,39,-91,-534,-2,172,152,41,130,-539,-24,169,151,40,99,-531,-14,184,143,40,-91,-503,-20,190,141,40,-118,-513,-1,190,145,72,68,-901,0,159,142,39,237,-476,0,159,142,41,244,-489,-9,159,144,40,237,-476,-20,159,140,40,234,-465,-18,159,135,40,271,-399,-13,133,114,39,456,-117,0,85,102,41,462,99,0,73,101,40,390,131,0,39,83,40,182,261,-1,25,83,39,165,264,-18,26,81,41,165,260,-18,26,78,40,141,225,-14,26,66,51,178,279,-18,26,70,40,148,235,-15,26,73,34,117,184,-4,37,48,33,31,55,0,37,9" + }, + { + "k": "71c251", + "m": { + "kind": "aircraft", + "layer": "flights", + "callsign": "KAL251", + "registration": "HL8251", + "type": "B77L", + "squawk": "1434" + }, + "p": "651,-742641,395863,559,33,184,40,533,512,-33,40,181,40,544,492,-28,41,175,40,516,466,-26,40,170,40,499,454,-23,41,164,40,502,454,-25,40,170,31,350,399,-19,29,170,41,378,531,-25,29,166,40,363,514,-24,29,160,40,348,498,-24,27,154,40,365,453,-22,34,138,40,338,398,-27,33,134,40,337,408,-26,32,135,40,328,410,-23,31,132,72,560,724,-39,31,129,40,303,399,-23,30,127,39,284,389,-19,29,123,41,281,399,-30,27,127,40,255,397,-12,25,117,40,215,356,-6,23,104,39,-64,347,-12,340,99,41,-148,324,-6,341,93,40,-145,317,0,341,92,40,-337,226,-3,301,100,39,-394,179,-21,301,95,41,-375,171,-21,301,84,40,-299,136,-15,301,71,51,-368,167,-20,301,71,40,-275,125,-7,301,47,39,-74,23,0,301,8" + }, + { + "k": "a27567", + "m": { + "kind": "aircraft", + "layer": "flights", + "callsign": "MXY9028", + "registration": "N258BZ", + "type": "BCS3", + "squawk": "2557", + "country": "United States" + }, + "p": "651,-742532,402792,841,54,204,120,2340,1278,-1,55,203,132,2580,1397,-38,55,201,120,2249,1209,-104,55,190,120,2127,1137,-98,54,180,40,601,455,-10,42,180,52,737,632,-2,41,180,40,567,486,-32,42,179,40,560,479,-32,42,177,40,555,476,-29,42,177,40,548,467,-27,42,173,40,540,460,-28,42,170,40,539,458,-28,42,169,40,533,453,-27,42,166,40,520,440,-26,42,162,40,414,463,-24,14,148,39,-150,475,-4,330,139,41,-353,430,0,328,140,40,-349,431,-31,334,138,51,-151,613,-39,352,134,40,-81,460,-28,352,121,40,-75,409,-23,352,107,31,-53,288,-17,352,101,41,-62,348,-19,352,94,40,-59,330,-20,352,92,40,-59,329,-19,353,95,40,-62,346,-21,352,96,40,-59,323,-17,352,88,40,127,275,-9,41,83,40,277,213,-7,45,83" + }, + { + "k": "a4009e", + "m": { + "kind": "aircraft", + "layer": "flights", + "callsign": "UPS208", + "registration": "N357UP", + "type": "B763", + "squawk": "0712" + }, + "p": "651,-740638,421622,453,198,210,40,-314,-710,-41,198,206,40,-310,-707,-26,198,205,40,-302,-692,-20,198,196,40,-283,-648,-20,198,185,40,-268,-611,-18,198,175,31,-197,-454,-12,198,167,41,-246,-564,-16,198,156,40,-227,-521,-17,198,149,40,-218,-501,-15,198,145,40,-216,-496,-15,198,146,40,-218,-504,-17,198,148,40,-216,-500,-16,198,145,40,-214,-501,-12,198,146,72,-387,-899,1,198,147,40,-216,-503,0,198,146,40,-213,-497,0,198,145,40,-213,-499,0,198,145,40,-210,-491,0,198,144,40,-213,-500,0,197,147,40,-100,-522,-3,184,147,40,-46,-525,-10,184,145,40,-46,-522,-9,184,144,40,-47,-507,-9,184,140,39,-36,-505,0,180,144,41,34,-523,-6,171,144,40,211,-479,-14,158,137,51,327,-580,-15,157,137,40,253,-453,-10,157,137,40,247,-445,-15,157,133,31,183,-330,-11,157,125,41,247,-396,-13,139,113,40,450,-87,-9,73,99,40,438,93,-3,73,94,40,409,109,0,59,90,39,194,269,0,27,80,41,161,252,-10,26,76,40,151,240,-16,26,74" + }, + { + "k": "a79bdb", + "m": { + "kind": "aircraft", + "layer": "flights", + "callsign": "TFF959", + "registration": "N59JE", + "type": "GLF5", + "squawk": "4274", + "ladd": true, + "country": "United States" + }, + "p": "651,-737233,408120,137,131,137,40,476,-305,-10,130,123,40,411,-264,-7,130,108,40,380,-245,-10,130,104,40,373,-240,-10,130,102,40,407,-144,-24,105,96,31,340,-75,-20,106,93,40,381,-116,-13,128,85,41,313,-200,-1,131,85,40,275,-17,-9,57,55,40,190,129,-4,47,55,40,22,183,-4,345,57,40,-102,193,-2,328,59,40,-200,154,-18,313,61" + }, + { + "k": "acbe63", + "m": { + "kind": "aircraft", + "layer": "flights", + "callsign": "TAI568", + "registration": "N920CG", + "type": "A20N", + "squawk": "7451", + "country": "United States" + }, + "p": "651,-735933,405533,56,10,95,40,-241,255,0,305,92,40,-371,173,0,301,87,40,-330,150,-18,301,77,40,-285,130,-14,301,70,40,-283,129,-16,301,71,31,-226,102,-8,301,70,40,-149,68,0,301,11,79,-6,-20,0,121,8,40,42,-19,0,121,12,42,55,-24,0,121,10,100,-3,-58,0,211,8" + }, + { + "k": "274eb6", + "m": { "kind": "aircraft", "layer": "flights", "callsign": "~274eb6" }, + "p": "649,-735033,407819,162,90,90,42,445,16,72,89,88,40,416,15,-96,88,89,38,402,14,84,88,89,42,434,-5,-76,99,88,40,386,-42,-72,98,83,51,462,-32,17,81,75,36,326,3,30,91,76" + }, + { + "k": "a8d845", + "m": { + "kind": "aircraft", + "layer": "flights", + "callsign": "GTX323", + "registration": "N66919", + "type": "BE36", + "squawk": "2777" + }, + "p": "651,-734188,407675,56,339,47,40,-91,158,17,336,48,40,-98,165,17,336,53,40,-148,154,17,283,64,40,-291,-72,19,247,65,40,-305,-101,5,247,78,31,-244,-145,0,228,87,41,-302,-201,13,229,78,40,-253,-171,24,228,66,40,-237,-157,15,230,69,40,-264,-168,9,230,76,40,-296,-186,0,231,87,40,-325,-204,0,230,89,40,-318,-203,1,230,89,72,-631,-324,-1,245,89,40,-376,-142,1,243,88,40,-369,-140,0,244,88,40,-375,-141,-1,244,90,40,-385,-144,1,243,90,40,-379,-146,0,243,90,40,-378,-140,0,244,89,40,-378,-141,0,244,89,40,-371,-140,0,244,88,40,-374,-141,0,244,89,39,-374,-143,0,243,89,41,-376,-143,0,244,89,40,-376,-143,0,243,89,51,-481,-183,0,243,90,40,-378,-143,0,244,88,40,-375,-144,0,243,88,32,-289,-111,0,243,88,40,-376,-146,0,243,88,40,-373,-144,0,244,90,40,-374,-143,0,243,89,40,-374,-144,0,243,89,40,-376,-145,0,244,89,40,-371,-143,0,243,88,40,-369,-144,0,243,88" + }, + { + "k": "a544ee", + "m": { + "kind": "aircraft", + "layer": "flights", + "callsign": "DAL226", + "registration": "N439DX", + "type": "A339", + "squawk": "6077", + "country": "United States" + }, + "p": "651,-733993,401695,226,348,135,40,-134,465,-29,347,131,40,-144,454,-52,346,130,40,-154,467,-31,345,133,40,-181,443,-20,337,131,40,-286,420,-8,332,130,31,-219,308,-4,331,118,41,-257,357,-10,331,106,40,-234,312,-12,330,94,40,-211,280,-3,330,88,40,-213,273,-1,321,90,40,-355,198,0,300,94,40,-359,163,0,300,84,40,-314,144,-16,301,71,72,-512,233,-28,301,70,39,-279,126,-12,301,70,40,-186,84,0,301,18,81,15,11,0,121,8,39,37,-22,0,124,11,40,49,-22,0,121,12,40,44,-20,0,121,12" + }, + { + "k": "ad6ec5", + "m": { + "kind": "aircraft", + "layer": "flights", + "callsign": "AMX025", + "registration": "N965AM", + "type": "B788", + "squawk": "3220", + "country": "United States" + }, + "p": "651,-733028,408777,1212,51,257,120,2841,1761,0,51,258,132,3142,1927,0,51,260,120,2879,1750,-1,51,258,120,2883,1735,0,51,258,132,3218,1917,-1,52,261,120,2961,1746,0,52,260,120,2970,1735,0,52,262" + }, + { + "k": "7380ca", + "m": { + "kind": "aircraft", + "layer": "flights", + "callsign": "ELY003", + "registration": "4X-EDL", + "type": "B789", + "squawk": "0710", + "country": "Israel" + }, + "p": "651,-730821,406750,277,254,140,40,-633,-138,-31,254,141,40,-650,-141,-33,254,143,40,-644,-139,-29,254,142,40,-643,-141,-29,254,142,40,-633,-137,-23,254,139,31,-496,-111,-15,254,135,41,-588,-129,-2,254,122,40,-532,-116,-17,254,113,40,-474,61,-16,301,105,40,-409,192,-25,301,95,40,-351,160,-19,301,77,40,-304,138,-17,301,74,40,-301,137,-15,301,75,69,-343,155,-6,312,8,183,50,-44,0,120,9" + }, + { + "k": "ab3c0d", + "m": { + "kind": "aircraft", + "layer": "flights", + "callsign": "AAL293", + "registration": "N823AN", + "type": "B789", + "squawk": "0711", + "country": "United States" + }, + "p": "651,-726840,410669,417,213,189,40,-479,-570,-34,213,186,40,-456,-547,-15,212,173,40,-443,-493,-6,216,160,40,-436,-453,0,216,158,40,-440,-460,0,216,158,31,-349,-365,-2,216,158,41,-444,-465,-26,216,157,40,-454,-427,-25,233,149,40,-637,-175,-26,254,140,40,-631,-136,-27,254,140,40,-643,-139,-31,254,143,40,-655,-141,-27,254,143,40,-646,-143,-25,254,141,72,-1141,-248,-37,254,138,40,-618,-138,-16,254,131,40,-573,-93,-25,280,118,40,-467,194,-28,302,105,40,-380,176,-21,301,84,40,-311,142,-16,301,74,40,-301,137,-17,301,74,40,-298,135,-13,301,74" + }, + { + "k": "4d22a0", + "m": { + "kind": "aircraft", + "layer": "flights", + "callsign": "AIZ993", + "registration": "9H-HFA", + "type": "A333", + "squawk": "0715" + }, + "p": "651,-717150,421744,1072,214,246,120,-1892,-2131,-115,213,232,132,-2081,-2364,-132,213,232,120,-1761,-2017,-113,213,221,120,-1719,-1984,-107,213,211,40,-530,-615,-25,213,202,52,-696,-810,-75,213,208,40,-538,-627,-40,213,205,39,-515,-603,-37,213,200,41,-514,-602,-36,213,193,40,-467,-548,-25,213,173,40,-476,-464,-3,222,158,40,-507,-423,-1,222,158,40,-503,-420,0,222,158,40,-498,-420,0,222,157,40,-501,-421,0,222,158,39,-499,-418,1,222,158,41,-504,-424,-1,222,158,40,-582,-317,-25,259,148,51,-785,196,-58,294,133,40,-582,195,-61,293,134,40,-560,154,-29,277,123,31,-384,-162,-32,215,130,41,-283,-412,-22,207,123,40,-438,-232,-24,251,115,40,-510,-128,-24,252,111,40,-477,-49,0,291,101,40,-404,178,-22,301,97,40,-372,168,-19,301,85,40,-313,143,-18,301,70" + }, + { + "k": "a18284", + "m": { + "kind": "aircraft", + "layer": "flights", + "callsign": "DAL960", + "registration": "N197DN", + "type": "B763", + "squawk": "7722" + }, + "p": "691,-764883,414975,1213,110,248,120,3329,-925,-51,110,250,132,3737,-1058,-208,111,252,120,3256,-1041,-172,114,237,120,3023,-1020,-66,114,233,132,3365,-1030,-8,101,231,120,3115,-367,-58,99,218,120,3009,-362,-49,99,213,40,983,-197,-11,114,217,39,815,-478,1,140,227,41,478,-747,-1,167,227,40,214,-789,0,168,227,51,285,-1024,-1,168,227,40,224,-792,-51,167,220,40,232,-762,-66,167,213,31,170,-561,-41,167,203,41,262,-675,-35,149,181,40,632,-324,-26,96,157,40,599,218,-49,34,141,40,347,431,-57,32,141,40,330,417,-33,31,126,40,73,403,-36,346,111,40,-115,360,-43,345,97" + }, + { + "k": "a09fc4", + "m": { + "kind": "aircraft", + "layer": "flights", + "callsign": "UAL2222", + "registration": "N13954", + "type": "B789", + "squawk": "3412" + }, + "p": "691,-712332,416130,989,269,238,120,-3384,-34,2,269,237,132,-3756,-52,0,269,238,120,-3438,-57,1,269,240,120,-3392,-66,-72,268,233,132,-3616,-81,-107,268,226,120,-3126,191,-132,285,209,100,-2366,430,-90,276,206,40,-1002,-50,0,259,213,40,-999,-138,0,260,213,40,-1007,-139,0,259,213,40,-1004,-140,-32,260,207,40,-937,-134,-92,259,196,31,-720,-101,-87,259,197,40,-902,-127,-63,259,178,40,-762,-112,-28,259,149,31,-504,-138,-21,232,149,41,-327,-485,-24,198,153,40,-225,-521,-24,198,150,40,-221,-517,-11,198,153,40,-226,-524,0,198,153,40,-225,-523,1,198,152,40,-223,-521,0,198,151,40,-221,-516,0,198,150" + }, + { + "k": "a1ac91", + "m": { + "kind": "aircraft", + "layer": "flights", + "callsign": "AVA042", + "registration": "N207FR", + "type": "A320", + "squawk": "1411" + }, + "p": "943,-743420,394233,639,19,216,40,336,748,-74,19,213,40,323,705,-48,24,207,40,568,606,-51,40,208,40,621,567,-50,40,201,40,598,543,-27,40,201,40,606,549,-21,41,201,52,709,748,-27,29,194,40,432,608,-6,29,185,39,385,542,1,29,161,41,345,485,-1,29,146,40,341,451,-1,33,146,40,367,449,1,32,146,40,362,444,-13,33,145,40,368,444,-38,32,145,40,349,435,-32,31,142,40,327,431,-33,30,138,39,314,425,-31,29,135,41,304,420,-31,28,130,40,286,424,-41,25,133,51,0,546,-21,341,114,40,-164,352,-7,340,95,40,-152,317,-1,340,92,32,-177,224,1,308,100,40,-392,182,-22,301,89,40,-323,148,-19,301,71,40,-272,124,-13,301,65,39,-262,119,-15,301,65,41,-265,120,-13,300,65,40,-252,114,-6,301,46" + }, + { + "k": "a2a915", + "m": { + "kind": "aircraft", + "layer": "flights", + "callsign": "UAL148", + "registration": "N27015", + "type": "B772", + "squawk": "6065" + }, + "p": "1083,-736746,394270,389,330,177,40,-405,547,-36,330,172,40,-395,534,-35,330,168,72,-657,887,-39,330,144,39,-321,432,-19,330,136,41,-317,426,-29,330,135,40,-312,421,-21,330,134,40,-317,414,0,324,135,40,-431,347,-18,315,135,40,-448,336,-13,313,132,40,-443,327,0,314,133,40,-451,336,0,314,134,40,-444,332,0,314,134,39,-449,334,0,314,134,41,-457,341,1,314,133,40,-449,332,-1,314,133,51,-567,436,1,326,135,40,-67,470,0,10,135,40,118,475,0,11,133,31,94,365,0,11,133,41,118,469,-22,11,132,40,114,465,-22,11,128,40,108,442,-19,11,122,40,108,429,-22,11,118,40,97,387,-6,11,102,40,89,357,-1,11,100,40,116,327,1,25,82" + }, + { + "k": "a460d1", + "m": { + "kind": "aircraft", + "layer": "flights", + "callsign": "UPS1070", + "registration": "N3818P", + "type": "B763", + "squawk": "6606" + }, + "p": "1103,-760391,394088,972,51,240,132,2840,1773,-206,51,229,120,2266,1568,-150,43,208,40,642,533,-48,43,203,40,646,540,-54,43,202,40,636,523,-48,43,198,40,629,518,-48,43,194,40,616,505,-45,43,191,40,589,483,-22,43,178,40,540,443,-11,43,161,40,493,404,-13,43,148,40,463,378,-22,43,142,51,567,460,-25,43,134,40,429,344,-20,46,130,40,459,329,-19,47,133,31,356,253,0,47,134,41,538,266,0,65,137,40,579,211,0,65,137,40,581,207,-18,65,133,40,558,199,-25,65,131,39,556,197,-24,65,130,41,562,198,-24,65,127,40,530,189,-16,65,122" + }, + { + "k": "a11fc7", + "m": { + "kind": "aircraft", + "layer": "flights", + "callsign": "UAL427", + "registration": "N17139", + "type": "B752", + "squawk": "6752" + }, + "p": "1143,-764911,412023,880,107,247,131,3526,-801,-155,107,225,120,2933,-678,-134,107,207,41,928,-215,-44,107,201,40,925,-216,-52,107,200,40,892,-210,-44,107,197,40,888,-210,-44,107,192,40,854,-201,-43,107,188,39,831,-198,-42,108,184,41,803,-192,-13,107,166,40,721,-172,-14,108,154,51,871,-218,-24,111,152,40,663,-246,0,124,156,40,586,-340,0,128,156,31,457,-270,-2,128,156,41,582,-344,-27,128,152,40,559,-333,-25,128,148,40,550,-328,-28,128,146,40,533,-318,-27,128,144,40,513,-308,-14,128,128,40,427,-255,1,128,104,40,396,-237,0,128,106" + }, + { + "k": "76cce7", + "m": { + "kind": "aircraft", + "layer": "flights", + "callsign": "SIA22", + "registration": "9V-SGG", + "type": "A359", + "squawk": "7447" + }, + "p": "1235,-755665,421794,674,122,215,80,1734,-805,-79,122,207,40,842,-386,-38,118,201,40,854,-319,-30,117,194,40,816,-335,-23,128,193,40,650,-500,-31,136,195,40,661,-500,-31,135,193,40,643,-487,-31,136,188,40,628,-482,-31,136,187,39,549,-512,-32,160,186,41,262,-640,-32,162,180,40,258,-592,-16,162,167,51,304,-702,-15,162,157,40,237,-546,-10,162,156,40,228,-531,-11,162,156,31,178,-414,-7,162,155,41,232,-541,-10,162,154,40,227,-529,-10,162,154,40,222,-521,-11,162,153,40,223,-522,-10,162,151,40,222,-519,-6,162,150,40,216,-508,-15,162,149,40,74,-524,-16,186,147" + }, + { + "k": "a27f7f", + "m": { + "kind": "aircraft", + "layer": "flights", + "callsign": "FDX1073", + "registration": "N260FE", + "type": "B763", + "squawk": "3140" + }, + "p": "1315,-758925,394251,1000,41,241,120,2125,1885,-173,41,215,120,1933,1642,-157,43,196,60,921,763,-80,43,190,40,615,507,-62,43,192,40,598,495,-55,43,186,40,581,477,-51,43,180,31,448,366,-41,43,178,40,567,463,-38,43,170,40,511,420,-10,43,151,31,370,305,-17,43,145,41,460,373,-22,43,138,40,439,357,-20,43,136,40,451,350,-20,47,135,40,458,326,-14,47,134,40,493,308,0,60,138,40,589,221,0,65,139,40,592,213,0,65,139" + }, + { + "k": "a64ce6", + "m": { + "kind": "aircraft", + "layer": "flights", + "callsign": "DAL1114", + "registration": "N505DZ", + "type": "A21N", + "squawk": "1643" + }, + "p": "1355,-764662,403465,660,115,203,80,1681,-613,-74,115,188,40,794,-291,-50,116,189,40,794,-290,-38,116,184,40,767,-282,-37,116,179,40,762,-225,-28,104,168,40,736,-148,-19,105,161,40,728,-146,-12,105,160,40,725,-147,-13,105,159,51,925,-188,-13,105,160,40,724,-147,-24,104,158,40,718,-148,-34,105,156,31,544,-110,-25,105,154,41,701,-144,-31,105,151,40,678,-142,-27,105,148,40,650,-135,-28,105,143,40,642,-106,-35,97,140,40,663,-54,-31,96,138,40,611,-50,-12,100,125,40,394,-276,-17,167,120" + }, + { + "k": "ad7ab8", + "m": { + "kind": "aircraft", + "layer": "flights", + "callsign": "JBU16", + "registration": "N968JT", + "type": "A321", + "squawk": "3201" + }, + "p": "1395,-764763,414944,998,110,244,120,3294,-916,-60,110,247,120,3315,-940,-35,111,247,131,3587,-1138,-50,114,246,132,3403,-1147,-124,114,229,120,2926,-900,-49,98,215,120,2982,-346,-38,99,209" + }, + { + "k": "ace5bd", + "m": { + "kind": "aircraft", + "layer": "flights", + "callsign": "AVA153", + "registration": "N930AV", + "type": "A20N", + "squawk": "1654" + }, + "p": "1415,-737745,406292,0,301,31,40,-273,123,11,299,83,40,-385,-22,39,228,101,40,-358,-312,29,214,123,40,32,-412,46,154,127,40,205,-469,37,174,148,40,152,-525,56,147,151,40,632,-194,49,84,151,40,722,84,48,81,159,31,578,69,42,81,163,40,819,105,7,80,180,40,816,-153,4,129,188,31,345,-452,35,166,193,41,-150,-686,44,204,196,40,-347,-651,51,202,197,40,-370,-660,47,205,201,40,-411,-655,43,206,204,120,-1288,-2114,91,205,227" + }, + { + "k": "abe212", + "m": { + "kind": "aircraft", + "layer": "flights", + "callsign": "GTI8084", + "registration": "N865GT", + "type": "B748", + "squawk": "2422" + }, + "p": "1475,-764846,409872,1028,64,258,120,3305,1221,-2,64,256,120,3285,1200,1,64,255,131,3601,1299,-1,65,255,132,3620,1291,0,65,255,120,3293,1196,-1,60,254" + }, + { + "k": "0d1236", + "m": { + "kind": "aircraft", + "layer": "flights", + "callsign": "AMX007", + "squawk": "3427" + }, + "p": "1475,-756414,394141,1154,48,252,120,2634,1836,0,48,254,120,2648,1830,0,48,254,131,2930,2010,-3,49,257,132,3029,1930,2,50,256,140,3245,2062,-1,50,257" + }, + { + "k": "c038ac", + "m": { + "kind": "aircraft", + "layer": "flights", + "callsign": "ACA97", + "registration": "C-FVLZ", + "type": "B789", + "squawk": "6060" + }, + "p": "1475,-720901,394267,1181,346,230,120,-803,2406,-1,345,229,120,-796,2373,1,345,226,131,-874,2580,0,345,227,132,-891,2613,-1,345,228,120,-821,2384,0,345,229" + }, + { + "k": "0d07a8", + "m": { + "kind": "aircraft", + "layer": "flights", + "callsign": "VOI504", + "registration": "XA-VOY", + "type": "A320", + "squawk": "4261" + }, + "p": "1594,-759491,394097,910,44,226,121,2116,1667,-133,45,204,131,2050,1640,-134,43,183,52,730,608,-50,43,178,40,567,468,-40,43,175,40,551,456,-39,43,173,40,549,452,-38,43,170,40,537,442,-39,43,166,40,526,432,-35,43,163,40,516,422,-38,43,161,40,511,417,-25,43,152" + }, + { + "k": "78029e", + "m": { + "kind": "aircraft", + "layer": "flights", + "callsign": "CSS181", + "registration": "B-2425", + "type": "B744", + "squawk": "7254" + }, + "p": "1595,-753366,421891,978,115,260,120,3364,-1181,-61,115,253,131,3586,-1277,-49,116,246,132,3053,-1697,-59,156,248,120,1418,-2378,-124,156,233" + }, + { + "k": "a4f08d", + "m": { + "kind": "aircraft", + "layer": "flights", + "callsign": "N4170V", + "registration": "N4170V", + "type": "P32R", + "squawk": "2746" + }, + "p": "1674,-762976,401207,0,239,10,40,2,-15,0,118,10,204,56,-11,0,298,13,40,-160,68,15,299,50,40,-222,83,19,293,53,40,-144,124,19,8,46,40,96,145,18,28,46,40,102,145,18,29,47,40,109,153,14,28,52" + }, + { + "k": "7380c7", + "m": { + "kind": "aircraft", + "layer": "flights", + "callsign": "ELY017", + "registration": "4X-EDI", + "type": "B789", + "squawk": "0716" + }, + "p": "1715,-732626,421904,1243,207,247,131,-1779,-2615,1,207,248,132,-1770,-2624,-1,207,250,120,-1608,-2407,1,207,250" + }, + { + "k": "a25f6e", + "m": { + "kind": "aircraft", + "layer": "flights", + "callsign": "FDX1700", + "registration": "N252FE", + "type": "B763", + "squawk": "6672" + }, + "p": "1898,-764470,407490,864,86,244,120,3311,190,-147,86,225,100,2579,141,-119,86,212,40,995,53,-49,86,208" + }, + { + "k": "a6aaf0", + "m": { + "kind": "aircraft", + "layer": "flights", + "callsign": "KOW529", + "registration": "N529FX", + "type": "CL30", + "squawk": "4256" + }, + "p": "1937,-741677,406984,0,191,8,61,-20,-46,0,188,9,59,-29,-51,0,211,12" + }, + { + "k": "a12f6f", + "m": { + "kind": "aircraft", + "layer": "flights", + "callsign": "UAL1745", + "registration": "N17593", + "type": "B39M", + "squawk": "3250" + }, + "p": "1978,-764825,412603,755,110,226,120,2925,-792,-134,110,211,40,939,-255,-44,110,207,40,912,-248,-16,110,202" + }, + { + "k": "a599a8", + "m": { + "kind": "aircraft", + "layer": "flights", + "callsign": "AAL1188", + "registration": "N460AN", + "type": "A21N", + "squawk": "0747" + }, + "p": "1998,-764704,401240,609,94,199,40,916,-50,-43,94,196,39,902,-51,-49,94,194,41,905,-51,-42,94,190,40,869,-49,-40,94,185" + }, + { + "k": "aa92fc", + "m": { + "kind": "aircraft", + "layer": "flights", + "callsign": "UAL2482", + "registration": "N78005", + "type": "B772", + "squawk": "3542" + }, + "p": "2058,-764949,412637,764,110,228,120,2997,-811,-56,110,217" + } + ] +} diff --git a/mobile/demo/moments/empire-state.jpg b/mobile/demo/moments/empire-state.jpg new file mode 100644 index 000000000..335469390 Binary files /dev/null and b/mobile/demo/moments/empire-state.jpg differ diff --git a/mobile/globe/API.md b/mobile/globe/API.md index 16464157e..7bf8f16d8 100644 --- a/mobile/globe/API.md +++ b/mobile/globe/API.md @@ -280,3 +280,40 @@ globe.skyNow({ lon, lat } = viewer) → Promise<{ ## Dev harness `mobile/globe/dev.html?moment=empire-state&speed=30` plays a Moment on load and prints its events in the HUD. `globe.debug` exposes `{ recorder, detector, stage, ghosts }` for tests. It is not part of the contract. + +--- + +# Polish round + +Additive. Nothing above changes. + +## Bundled recording (the time machine always has ghosts) + +`mobile/demo/history/{nyc,london,gulf}.json` hold a real recording of every aircraft over the New York area, London and the North Sea approaches, and the Gulf of Mexico, captured by `node mobile/demo/capture-history.mjs` (adsb.lol point snapshots around each region's anchors, the dev server's `/api/flights` and `/api/military` as fallbacks; one fix per 30 s below 6 km, per 120 s in cruise). Positions are quantised to 1e-4° and 10 m and delta-encoded (`format: 'gev-history/1'`). Timestamps are the true capture times and are **never shifted**: the time machine shows the recording where it happened. + +The engine loads it about 5 s after the first frame into a second recorder (no expiry) and reads both through one view: ghosts, `setTime` history mode, `entity()`, `trackOf()` and `search()` see the recording; on a key present in both, the device's own recorder wins. + +```js +globe.history().archive → { start, end, regions: [{ id, label, bbox, source, start, end, tracks, + busiest: { t, aircraft } }] } | null +globe.loadHistory() → Promise // resolves once it is loaded +globe.historyNear(t, lon, lat, km = 100) + → [{ id /* entity id */, key, kind, title, lon, lat, altM }] // recorded contacts at t, nearest first +// event 'history' → history(), once the recording is loaded +``` + +The time ribbon shades the recording in teal (`RECORDING · 23 OCT`) next to the device's own `RECORDED` range, and its readout names the day when the playhead is on another UTC day. + +## Camera + +```js +globe.flyTo({ lon, lat, height, heading, pitch, eye: true }); // eye: lon/lat/height place the camera itself +``` + +## Night close-ups + +Below ~400 km, where Cesium's lighting is faded out, a night-side view grades the Esri mosaic toward night (darker, desaturated, slightly cooler) with a soft glow of the real Black Marble lights above ~40 km; the strength follows the sun's elevation under the camera at the **scene clock**, so a Moment keeps the lighting of its own time (the hero is daylight). A terrain watchdog falls back to the flat ellipsoid when the keyless terrain host stalls (the globe would otherwise show only the star field). + +## Dossiers + +`privacy` is set only for real privacy programmes (`'pia'`, `'ladd'` flags). An airframe with no public registry record gets `registryMissing: true` instead, and `identity.operator` falls back to the callsign's ICAO airline prefix (`mobile/globe/airlines.js`, about 150 operators). diff --git a/mobile/globe/airlines.js b/mobile/globe/airlines.js new file mode 100644 index 000000000..e8e528b49 --- /dev/null +++ b/mobile/globe/airlines.js @@ -0,0 +1,169 @@ +/** + * ICAO airline designators (the three letters that start an airline + * callsign, e.g. AMX021 → Aeroméxico) for about 150 of the world's busiest + * operators. Used to name the operator of a flight when the community + * registry has no record for its airframe. Source: ICAO Doc 8585 designators + * as published by the airlines; names are the common trading names. + */ +const AIRLINES = { + AAL: 'American Airlines', + AAR: 'Asiana Airlines', + ABX: 'ABX Air', + ACA: 'Air Canada', + ADR: 'Air Serbia', + AEA: 'Air Europa', + AEE: 'Aegean Airlines', + AFL: 'Aeroflot', + AFR: 'Air France', + AIC: 'Air India', + AJX: 'Air Japan', + ALK: 'SriLankan Airlines', + AMX: 'Aeroméxico', + ANA: 'All Nippon Airways', + ANZ: 'Air New Zealand', + ASA: 'Alaska Airlines', + ASH: 'Mesa Airlines', + AUA: 'Austrian Airlines', + AVA: 'Avianca', + AWE: 'American Airlines (US Airways)', + AXM: 'AirAsia', + AZA: 'ITA Airways', + AZU: 'Azul', + BAW: 'British Airways', + BCS: 'European Air Transport (DHL)', + BEL: 'Brussels Airlines', + BTI: 'airBaltic', + BOX: 'AeroLogic', + CAL: 'China Airlines', + CCA: 'Air China', + CES: 'China Eastern Airlines', + CFG: 'Condor', + CHH: 'Hainan Airlines', + CKS: 'Kalitta Air', + CLX: 'Cargolux', + CMP: 'Copa Airlines', + CPA: 'Cathay Pacific', + CPZ: 'Compass Airlines', + CSN: 'China Southern Airlines', + CSZ: 'Shenzhen Airlines', + CTN: 'Croatia Airlines', + CXA: 'Xiamen Airlines', + DAL: 'Delta Air Lines', + DHK: 'DHL Air', + DLH: 'Lufthansa', + EDV: 'Endeavor Air', + EIN: 'Aer Lingus', + EJA: 'NetJets', + EJU: 'easyJet Europe', + ELY: 'El Al', + ENY: 'Envoy Air', + ETD: 'Etihad Airways', + ETH: 'Ethiopian Airlines', + EVA: 'EVA Air', + EWG: 'Eurowings', + EXS: 'Jet2', + EZS: 'easyJet Switzerland', + EZY: 'easyJet', + FDX: 'FedEx Express', + FFT: 'Frontier Airlines', + FIN: 'Finnair', + FJI: 'Fiji Airways', + FLE: 'Flair Airlines', + GEC: 'Lufthansa Cargo', + GFA: 'Gulf Air', + GJS: 'GoJet Airlines', + GLO: 'Gol', + GTI: 'Atlas Air', + HAL: 'Hawaiian Airlines', + HVN: 'Vietnam Airlines', + IBE: 'Iberia', + IBS: 'Iberia Express', + ICE: 'Icelandair', + IGO: 'IndiGo', + JAL: 'Japan Airlines', + JBU: 'JetBlue', + JIA: 'PSA Airlines', + JJP: 'Jetstar Japan', + JST: 'Jetstar', + JZA: 'Jazz Aviation (Air Canada Express)', + KAL: 'Korean Air', + KLM: 'KLM Royal Dutch Airlines', + KQA: 'Kenya Airways', + LAN: 'LATAM Airlines', + LDM: 'Lauda Europe', + LOG: 'Loganair', + LOT: 'LOT Polish Airlines', + LXJ: 'Flexjet', + MAS: 'Malaysia Airlines', + MEA: 'Middle East Airlines', + MSR: 'EgyptAir', + NAX: 'Norwegian', + NJE: 'NetJets Europe', + NKS: 'Spirit Airlines', + NOZ: 'Norwegian', + NWG: 'Airwork', + OAW: 'Helvetic Airways', + OMA: 'Oman Air', + PAL: 'Philippine Airlines', + PAC: 'Polar Air Cargo', + PDT: 'Piedmont Airlines', + PGT: 'Pegasus Airlines', + POE: 'Porter Airlines', + QFA: 'Qantas', + QTR: 'Qatar Airways', + QXE: 'Horizon Air', + RAM: 'Royal Air Maroc', + RJA: 'Royal Jordanian', + ROU: 'Air Canada Rouge', + RPA: 'Republic Airways', + RYR: 'Ryanair', + RZO: 'Azores Airlines', + SAS: 'Scandinavian Airlines', + SAA: 'South African Airways', + SBI: 'S7 Airlines', + SCX: 'Sun Country Airlines', + SIA: 'Singapore Airlines', + SKW: 'SkyWest Airlines', + SLK: 'SilkAir', + SVA: 'Saudia', + SWA: 'Southwest Airlines', + SWR: 'Swiss', + SXS: 'SunExpress', + TAM: 'LATAM Brasil', + TAP: 'TAP Air Portugal', + TAR: 'Tunisair', + TCX: 'Thomas Cook Airlines', + THA: 'Thai Airways', + THY: 'Turkish Airlines', + TOM: 'TUI Airways', + TRA: 'Transavia', + TSC: 'Air Transat', + TVF: 'Transavia France', + TVS: 'Smartwings', + UAE: 'Emirates', + UAL: 'United Airlines', + UPS: 'UPS Airlines', + UZB: 'Uzbekistan Airways', + VIR: 'Virgin Atlantic', + VJT: 'VistaJet', + VLG: 'Vueling', + VOI: 'Volaris', + VOZ: 'Virgin Australia', + VTI: 'Vistara', + WJA: 'WestJet', + WIF: 'Widerøe', + WMT: 'Wizz Air Malta', + WUK: 'Wizz Air UK', + WZZ: 'Wizz Air', + XLF: 'XL Airways', +}; + +/** Operator name from a callsign's ICAO airline prefix, or null. */ +export function airlineFromCallsign(callsign) { + const m = /^([A-Z]{3})\d/.exec( + String(callsign || '') + .trim() + .toUpperCase(), + ); + return m ? AIRLINES[m[1]] || null : null; +} diff --git a/mobile/globe/archive.js b/mobile/globe/archive.js new file mode 100644 index 000000000..2c9dcb6f1 --- /dev/null +++ b/mobile/globe/archive.js @@ -0,0 +1,171 @@ +/** + * The bundled recording (DESIGN.md §12.5): a few hours of real recorded + * positions over the busiest regions, captured with + * `node mobile/demo/capture-history.mjs` into mobile/demo/history/*.json. + * + * It ships so the time machine always has real ghosts to replay, even on a + * first run when the device's own recorder holds only minutes. Timestamps + * are the true capture times and are never shifted: the time machine shows + * the recording where it really happened (the director navigates there). + * + * The archive is a second recorder (no expiry, no persistence). `history` + * is a read-only view over both that ghosts, the dossier and search use; on + * a key present in both, the device's own recorder wins. + */ +import { createRecorder } from './recorder.js'; + +// Literal URLs so Vite copies the files into the production build. +const FILES = [ + new URL('../demo/history/nyc.json', import.meta.url).href, + new URL('../demo/history/london.json', import.meta.url).href, + new URL('../demo/history/gulf.json', import.meta.url).href, +]; + +/** Decode one `gev-history/1` file into [{ key, meta, points }]. */ +export function decodeHistory(j) { + if (j?.format !== 'gev-history/1' || !Array.isArray(j.tracks)) return []; + const out = []; + for (const tr of j.tracks) { + const p = typeof tr.p === 'string' ? tr.p.split(',').map(Number) : tr.p; + if (!Array.isArray(p) || p.length < 12) continue; + let t = j.t0; + let lon = 0; + let lat = 0; + let alt = 0; + const points = []; + for (let i = 0; i + 5 < p.length; i += 6) { + t += p[i]; + lon += p[i + 1]; + lat += p[i + 2]; + alt += p[i + 3]; + points.push({ + t: t * 1000, + lon: lon / 1e4, + lat: lat / 1e4, + altM: alt * 10, + headingDeg: p[i + 4], + speed: p[i + 5], + }); + } + out.push({ key: String(tr.k), meta: tr.m || { kind: 'aircraft' }, points }); + } + return out; +} + +export function createArchive() { + const rec = createRecorder({ + persist: false, + archive: true, + windowMs: Infinity, + maxInterpGapS: 11 * 60, + }); + const regions = []; + let loading = null; + + function load() { + if (loading) return loading; + loading = Promise.all( + FILES.map((url) => + fetch(url) + .then((r) => (r.ok ? r.json() : null)) + .catch(() => null), + ), + ).then((files) => { + for (const j of files) { + if (!j) continue; + const tracks = decodeHistory(j); + let start = Infinity; + let end = -Infinity; + for (const tr of tracks) { + rec.merge(tr.key, tr.points, tr.meta); + start = Math.min(start, tr.points[0].t); + end = Math.max(end, tr.points[tr.points.length - 1].t); + } + if (!tracks.length) continue; + regions.push({ + id: j.region, + label: j.label, + bbox: j.bbox, + source: j.source, + start, + end, + tracks: tracks.length, + busiest: busiestInstant(tracks, start, end), + }); + } + return regions; + }); + return loading; + } + + return { + recorder: rec, + load, + get loaded() { + return regions.length > 0; + }, + regions: () => regions.slice(), + range() { + if (!regions.length) return null; + return { + start: Math.min(...regions.map((r) => r.start)), + end: Math.max(...regions.map((r) => r.end)), + regions: regions.map((r) => ({ ...r })), + }; + }, + }; +} + +/** The 5-minute bucket with the most aircraft in the air. */ +function busiestInstant(tracks, start, end) { + const B = 5 * 60_000; + const n = Math.max(1, Math.ceil((end - start) / B)); + const counts = new Array(n).fill(0); + for (const tr of tracks) { + const a = Math.floor((tr.points[0].t - start) / B); + const b = Math.floor((tr.points[tr.points.length - 1].t - start) / B); + for (let i = Math.max(0, a); i <= Math.min(n - 1, b); i++) counts[i]++; + } + let best = 0; + for (let i = 1; i < n; i++) if (counts[i] > counts[best]) best = i; + return { t: start + best * B + B / 2, aircraft: counts[best] }; +} + +/** + * A read-only view over the device's recorder and the archive, with the + * recorder's query surface (covers, snapshotAt, trail, samples, stateAt…). + */ +export function historyView(live, archive) { + const a = archive.recorder; + const pick = (key) => (live.has(key) ? live : a.has(key) ? a : null); + return { + covers: (ms, slack) => live.covers(ms, slack) || a.covers(ms, slack), + has: (key) => live.has(key) || a.has(key), + meta: (key) => live.meta(key) || a.meta(key), + *keys() { + yield* live.keys(); + for (const k of a.keys()) if (!live.has(k)) yield k; + }, + samples(key, from, to) { + const own = live.samples(key, from, to); + return own.length ? own : a.samples(key, from, to); + }, + stateAt(key, ms, opts) { + return live.stateAt(key, ms, opts) || a.stateAt(key, ms, opts); + }, + snapshotAt(ms, opts) { + const own = live.snapshotAt(ms, opts); + if (!a.covers(ms, 60_000)) return own; + const seen = new Set(own.map((s) => s.key)); + for (const s of a.snapshotAt(ms, opts)) if (!seen.has(s.key)) own.push(s); + return own; + }, + trail(key, from, to, max) { + const r = live.trail(key, from, to, max); + return r.length >= 2 ? r : a.trail(key, from, to, max); + }, + events: () => live.events(), + range: () => live.range(), + source: (key) => (pick(key) === a ? 'archive' : 'device'), + }; +} diff --git a/mobile/globe/entities.js b/mobile/globe/entities.js index f0ba2e511..a3d176b5f 100644 --- a/mobile/globe/entities.js +++ b/mobile/globe/entities.js @@ -12,6 +12,7 @@ * owners opted out (PIA / LADD) or that have no public registration are not * named beyond what their transponder broadcasts. */ +import { airlineFromCallsign } from './airlines.js'; import { twoline2satrec } from 'satellite.js'; import { findNextIssPass, lookAnglesAt } from '../../src/data/issPass.js'; import { satPosition } from './layers/orbit.js'; @@ -324,13 +325,13 @@ export function createEntities(env) { const ladd = Boolean(r?.ladd || meta.ladd); const identity = pia || ladd ? null : await aircraftIdentity(key, callsign); const hasPublic = Boolean(identity?.type?.registration || r?.registration); - const privacy = pia - ? 'pia' - : ladd - ? 'ladd' - : identity?.typeFetched && !hasPublic - ? 'no-public-identity' - : null; + // Only real privacy programmes (PIA / LADD flags) withhold identity. A + // missing registry record is just that, and is said neutrally. + const privacy = pia ? 'pia' : ladd ? 'ladd' : null; + const registryMissing = Boolean( + !privacy && identity?.typeFetched && !hasPublic, + ); + const prefixOperator = privacy ? null : airlineFromCallsign(callsign); // The server's full track can be slow (or down): the dossier waits at // most 2.5 s for it, then uses the recorder's own samples. const recorded = recorder.samples(key); @@ -396,10 +397,12 @@ export function createEntities(env) { kind, title: callsign || key.toUpperCase(), subtitle: [ - privacy ? null : identity?.route?.airline, + privacy ? null : identity?.route?.airline || prefixOperator, typeName, reg, - altM != null ? `${Math.round((altM * M_TO_FT) / 100) * 100} ft` : null, + altM != null + ? `${Math.round((Math.max(0, altM) * M_TO_FT) / 100) * 100} ft` + : null, ] .filter(Boolean) .join(' · '), @@ -413,7 +416,9 @@ export function createEntities(env) { : {}), ...(identity?.route?.airline && !privacy ? { operator: identity.route.airline } - : {}), + : prefixOperator + ? { operator: prefixOperator } + : {}), ...(identity?.route && !privacy ? { route: `${identity.route.origin.code} → ${identity.route.destination.code}`, @@ -457,6 +462,7 @@ export function createEntities(env) { sources, ...(trackPending ? { trackPending: true } : {}), ...(privacy ? { privacy } : {}), + ...(registryMissing ? { registryMissing: true } : {}), }; } @@ -954,6 +960,31 @@ export function createEntities(env) { relation: 'in moment', }, ...others, + // The sealed captures that caught it, and the place it flew over. + ...(m.captures || []) + .filter((c) => + new RegExp( + `${tr.label.split(/[\s(-]/)[0]}|${tr.kind === 'helicopter' ? 'helicopter|helo' : 'aircraft'}`, + 'i', + ).test(`${c.title} ${c.place || ''}`), + ) + .slice(0, 3) + .map((c) => ({ + id: `capture:${m.id}:${c.id}`, + kind: 'capture', + title: c.title, + relation: 'seen in sealed capture', + })), + ...(Number.isFinite(cur?.lat) + ? [ + { + id: `place:${slug(localPlace(cur.lat, cur.lon).name)}`, + kind: 'place', + title: localPlace(cur.lat, cur.lon).name, + relation: 'over', + }, + ] + : []), ], sources: [ { diff --git a/mobile/globe/imagery.js b/mobile/globe/imagery.js index 2d9407301..f2fb3e4d3 100644 --- a/mobile/globe/imagery.js +++ b/mobile/globe/imagery.js @@ -9,6 +9,7 @@ import * as Cesium from 'cesium'; import { createEsriImagery } from '../../src/maps/imagery.js'; import { createKeylessTerrain } from '../../src/maps/terrain.js'; import { loadPhotorealisticTileset } from '../../src/maps/google3d.js'; +import { subsolarPoint } from './geo.js'; /** NASA GIBS VIIRS Black Marble (2016), Web Mercator, keyless, CORS-enabled. */ export const BLACK_MARBLE_URL = @@ -20,6 +21,28 @@ const LIGHT_FULL_ABOVE_M = 2_500_000; /** Cesium's night side keeps 0.3 of the lit colour (GlobeFS diffuse floor). */ const NIGHT_DIFFUSE_FLOOR = 0.3; const NIGHT_LIGHTS_GAIN = 1.3; +/** + * Close-in night grade. Below ~400 km Cesium's lighting is faded out and the + * 500 m Black Marble mosaic is only a blur, so a night-side close-up shows the + * Esri day mosaic graded toward night (darker, desaturated, cooler) with a + * soft glow of the real city lights over it: the city stays readable at any + * hour. The sun is taken from the scene clock, so a Moment keeps the lighting + * of its own time. + */ +const GRADE = Object.freeze({ + brightness: 0.5, + contrast: 1.18, + saturation: 0.38, + gamma: 0.9, + hue: 0.04, + glow: 0.3, +}); +/** + * Terrain watchdog: when the globe has had nothing to draw for this long + * while it is on screen (the keyless terrain host throttles under load, and + * Cesium then shows only the star field), fall back to the flat ellipsoid. + */ +const TERRAIN_STALL_MS = 5000; export const BASE_CREDITS = Object.freeze([ { @@ -104,15 +127,45 @@ export function createImagery(viewer, { terrain = true, google = {} } = {}) { ), }; + let stallTimer = 0; if (terrain) { createKeylessTerrain().then(({ provider, fallback }) => { if (viewer.isDestroyed()) return; viewer.terrainProvider = provider; state.terrainCredit = !fallback; scene.requestRender(); + if (!fallback) watchTerrain(provider); }); } + function watchTerrain(provider) { + let emptySince = 0; + stallTimer = setInterval(() => { + if (viewer.isDestroyed() || viewer.terrainProvider !== provider) + return clearInterval(stallTimer); + // Only while the globe is on screen (a paused globe proves nothing). + if (document.hidden || !globe.show || !viewer.useDefaultRenderLoop) { + emptySince = 0; + return; + } + // Private, read defensively: how many tiles the globe could draw. + const n = globe._surface?._tilesToRender?.length; + if (n == null || n > 0) { + emptySince = 0; + return; + } + scene.requestRender(); + if (!emptySince) emptySince = performance.now(); + else if (performance.now() - emptySince > TERRAIN_STALL_MS) { + clearInterval(stallTimer); + console.warn('[globe] terrain stalled; using the flat ellipsoid'); + viewer.terrainProvider = new Cesium.EllipsoidTerrainProvider(); + state.terrainCredit = false; + scene.requestRender(); + } + }, 1500); + } + async function ensureGoogle() { if (!state.googleWanted || state.google || state.googleLoading) return; state.googleLoading = loadPhotorealisticTileset(Cesium, { @@ -162,10 +215,74 @@ export function createImagery(viewer, { terrain = true, google = {} } = {}) { night.nightAlpha = Math.min(1, Math.max(0, (h - 300_000) / 700_000)); } + /** + * Night grade for close-in views (see GRADE): strength follows the sun's + * elevation under the camera and fades out as Cesium's own lighting fades + * in with altitude. + */ + let gradeK = -1; + let gradeStrength = 0; + function grade() { + if (state.nightMode) return; + // The camera's own height, every frame (the view handler is throttled). + const h = scene.camera.positionCartographic.height; + const close = + 1 - + Math.min( + 1, + Math.max( + 0, + (h - LIGHT_FULL_BELOW_M) / (LIGHT_FULL_ABOVE_M - LIGHT_FULL_BELOW_M), + ), + ); + let k = 0; + if (close > 0) { + const c = scene.camera.positionCartographic; + const ms = Cesium.JulianDate.toDate(viewer.clock.currentTime).getTime(); + const sun = subsolarPoint(ms); + const D = Math.PI / 180; + const lat = c.latitude; + const dLon = c.longitude - sun.lon * D; + const sinEl = + Math.sin(lat) * Math.sin(sun.lat * D) + + Math.cos(lat) * Math.cos(sun.lat * D) * Math.cos(dLon); + const el = Math.asin(Math.max(-1, Math.min(1, sinEl))) / D; + // Civil twilight: full grade once the sun is 8° down, none at +4°. + const night = Math.min(1, Math.max(0, (4 - el) / 12)); + k = Math.round(night * close * 50) / 50; + } + const glow = GRADE.glow * k * Math.min(1, Math.max(0, (h - 40e3) / 160e3)); + const key = k * 1000 + Math.round(glow * 50); + if (key === gradeK) return; + gradeK = key; + gradeStrength = k; + const mix = (a, b) => a + (b - a) * k; + day.brightness = mix(1, GRADE.brightness); + day.contrast = mix(1, GRADE.contrast); + day.saturation = mix(1, GRADE.saturation); + day.gamma = mix(1, GRADE.gamma); + day.hue = mix(0, GRADE.hue); + if (k > 0) { + // Lighting is faded out this close: one glow alpha for both sides. + // Below ~150 km a whole lit city is one 500 m blur, so the glow fades + // out and the graded day mosaic carries the night alone. + night.dayAlpha = glow; + night.nightAlpha = glow; + night.brightness = 1.6; + } else { + night.dayAlpha = 0; + tuneNight(); + } + scene.requestRender(); + } + const removeGradeListener = scene.preRender.addEventListener(grade); + /** Swap globe ↔ photorealistic tiles by camera height. */ function onHeight(heightM) { state.heightM = heightM; + gradeK = -1; tuneNight(); + grade(); if (!state.googleWanted) return; const close = heightM < GOOGLE_3D_MAX_HEIGHT_M; if (close) ensureGoogle(); @@ -180,11 +297,22 @@ export function createImagery(viewer, { terrain = true, google = {} } = {}) { /** Night mode: Black Marble everywhere, unshaded (lighting off). */ function setNightMode(on) { state.nightMode = Boolean(on); + if (on) { + day.brightness = 1; + day.contrast = 1; + day.saturation = 1; + day.gamma = 1; + day.hue = 0; + } + gradeK = -1; globe.enableLighting = !on; night.dayAlpha = on ? 1 : 0; night.nightAlpha = 1; night.brightness = on ? 1.25 : night.brightness; - if (!on) tuneNight(); + if (!on) { + tuneNight(); + grade(); + } scene.requestRender(); } @@ -208,6 +336,14 @@ export function createImagery(viewer, { terrain = true, google = {} } = {}) { onHeight, setNightMode, credits, + /** Night-grade strength 0..1 (0 by day or from orbit). */ + get nightGrade() { + return gradeStrength; + }, + destroy() { + removeGradeListener(); + clearInterval(stallTimer); + }, get googleActive() { return Boolean(state.google?.show); }, diff --git a/mobile/globe/index.js b/mobile/globe/index.js index d2efcc24f..fb58ebff3 100644 --- a/mobile/globe/index.js +++ b/mobile/globe/index.js @@ -85,6 +85,7 @@ import { createCompositor } from './compositor.js'; import { haversineKm } from './geo.js'; import { applyModelAtmosphereWorkaround } from '../../src/app/atmosphereCompat.js'; import { createRecorder } from './recorder.js'; +import { createArchive, historyView } from './archive.js'; import { createDetector } from './detect.js'; import { circlingCard, quakeClusterCard } from './detectCards.js'; import { createGhosts } from './ghosts.js'; @@ -255,7 +256,7 @@ function tuneScene(viewer) { globe.depthTestAgainstTerrain = false; globe.preloadSiblings = false; globe.loadingDescendantLimit = 12; - globe.tileCacheSize = 120; + globe.tileCacheSize = 320; globe.showSkirts = true; const ssc = scene.screenSpaceCameraController; @@ -392,12 +393,15 @@ export async function createGlobe(container, options = {}) { }; // ── Recorder, detector, history, Moments ───────────────────────── const recorder = createRecorder({ persist: opts.record !== false }); + // The bundled real recording, so the time machine always has ghosts. + const archive = createArchive(); + const history = historyView(recorder, archive); const detector = createDetector(recorder); let momentState = null; // { moment, idx, prevT, restore } let momentToken = 0; function timeMode(ms, isLive) { if (momentState) return 'moment'; - if (!isLive && recorder.covers(ms, 90_000)) return 'history'; + if (!isLive && history.covers(ms, 90_000)) return 'history'; return 'none'; } const ingestFeed = (feed, kind) => @@ -465,7 +469,7 @@ export async function createGlobe(container, options = {}) { const layers = buildLayers(ctx, feeds); const pins = createPins({ scene, requestRender }); const compositor = createCompositor({ feeds }); - const ghosts = createGhosts({ scene, recorder, requestRender }); + const ghosts = createGhosts({ scene, recorder: history, requestRender }); const stage = createStage({ scene, requestRender, emit }); const reactions = createReactions({ host, @@ -487,6 +491,13 @@ export async function createGlobe(container, options = {}) { ]) f.get().catch(() => {}); }, 4000); + // The bundled recording loads after the first frame (≈ 3 MB of JSON). + setTimeout(() => { + archive + .load() + .then(() => emit('history', api.history())) + .catch(() => {}); + }, 5000); let viewerPos = opts.observer ? { lon: opts.observer.lon, lat: opts.observer.lat } : null; @@ -725,7 +736,9 @@ export async function createGlobe(container, options = {}) { pitch = -90, duration, targetHeight, + eye = false, } = {}) { + // eye: lon/lat/height place the camera itself (not the point it looks at). if (!Number.isFinite(lon) || !Number.isFinite(lat)) return Promise.reject(new TypeError('flyTo needs lon and lat')); const reduceMotion = globalThis.matchMedia?.( @@ -739,7 +752,7 @@ export async function createGlobe(container, options = {}) { updateView(); resolve(); }; - if (pitch <= -89.5) { + if (pitch <= -89.5 || eye) { camera.flyTo({ destination: Cesium.Cartesian3.fromDegrees(lon, lat, height), orientation: { heading: h, pitch: p, roll: 0 }, @@ -1152,6 +1165,13 @@ export async function createGlobe(container, options = {}) { const trackCache = new Map(); async function trackOf(key, layer) { key = String(key).toLowerCase(); + // A contact known only from the bundled recording: its recorded track + // (a server track would describe today's flight, not that one). + if (!recorder.has(key) && archive.recorder.has(key)) { + const pts = archive.recorder.samples(key); + pts.source = 'Bundled recording (real positions, see capture time)'; + return pts; + } const cached = trackCache.get(key); // A failed fetch is remembered for 5 min so a dead route costs nothing. const ttl = cached?.points?.length ? 60_000 : 5 * 60_000; @@ -1216,7 +1236,7 @@ export async function createGlobe(container, options = {}) { } const entities = createEntities({ feeds, - recorder, + recorder: history, detector, situations: () => { const m = new Map(lastSituations); @@ -1464,9 +1484,49 @@ export async function createGlobe(container, options = {}) { entities: r.entities, points: r.points, bytes: r.bytes, + // The bundled real recording: { start, end, regions: [{ id, label, + // bbox, start, end, tracks, busiest: { t, aircraft } }] } or null. + archive: archive.range(), }; }, + /** + * Recorded contacts near a point at an instant (device recorder and the + * bundled recording): [{ id, key, kind, title, lon, lat, altM }]. + */ + historyNear(ms, lon, lat, km = 100) { + const dLat = km / 111; + const dLon = km / (111 * Math.max(0.2, Math.cos((lat * Math.PI) / 180))); + const rect = { + west: lon - dLon, + east: lon + dLon, + south: lat - dLat, + north: lat + dLat, + }; + return history + .snapshotAt(ms, { rect }) + .map((s) => ({ + id: `${s.meta?.layer || 'flights'}:${s.key}`, + key: s.key, + kind: s.meta?.kind || 'aircraft', + title: s.meta?.callsign || s.meta?.title || s.key.toUpperCase(), + lon: s.lon, + lat: s.lat, + altM: s.altM, + d: Math.hypot( + s.lat - lat, + (s.lon - lon) * Math.cos((lat * Math.PI) / 180), + ), + })) + .sort((a, b) => a.d - b.d); + }, + + /** Resolves once the bundled recording is loaded → history().archive. */ + async loadHistory() { + await archive.load(); + return archive.range(); + }, + trackOf(entityId) { const ref = entities.parseRef(entityId); return trackOf(ref?.key ?? entityId, ref?.layer); @@ -1941,7 +2001,7 @@ export async function createGlobe(container, options = {}) { /** Internals for dev harnesses and tests (not part of the contract). */ get debug() { - return { recorder, detector, stage, ghosts }; + return { recorder, archive, detector, stage, ghosts }; }, get viewer() { diff --git a/mobile/globe/quality.js b/mobile/globe/quality.js index 4c673b903..f8211f964 100644 --- a/mobile/globe/quality.js +++ b/mobile/globe/quality.js @@ -48,7 +48,7 @@ export function createGovernor( Math.min(viewer.canvas.clientWidth, viewer.canvas.clientHeight) < 600; const base = mode === 'high' ? 1.5 : compact ? 2 : 1.5; globe.maximumScreenSpaceError = base * Math.max(1, scale); - globe.tileCacheSize = mode === 'low' || lowPower ? 60 : 120; + globe.tileCacheSize = mode === 'low' || lowPower ? 100 : 320; // The first step down keeps bloom; the second (or being slow at the // floor) drops it. post?.setBloomAllowed( diff --git a/mobile/globe/recorder.js b/mobile/globe/recorder.js index 6f06c0ed4..171420da7 100644 --- a/mobile/globe/recorder.js +++ b/mobile/globe/recorder.js @@ -154,6 +154,8 @@ export function createRecorder({ windowMs = 6 * 3600_000, maxSamples = 1_200_000, persist = true, + archive = false, + maxInterpGapS = MAX_INTERP_GAP_S, } = {}) { const tracks = new Map(); let total = 0; @@ -313,6 +315,8 @@ export function createRecorder({ } function compactAll() { + // An archive (a bundled recording) is already sparse and never expires. + if (archive) return; const nowS = Math.floor(Date.now() / 1000); let dropBefore = nowS - Math.floor(windowMs / 1000); const fineFrom = nowS - FINE_WINDOW_S; @@ -402,12 +406,14 @@ export function createRecorder({ return loading; } - const flushTimer = setInterval(() => flush().catch(() => {}), 60_000); - const compactTimer = setInterval(compactAll, 5 * 60_000); + const flushTimer = archive + ? 0 + : setInterval(() => flush().catch(() => {}), 60_000); + const compactTimer = archive ? 0 : setInterval(compactAll, 5 * 60_000); const onHide = () => { if (document.visibilityState === 'hidden') flush().catch(() => {}); }; - document.addEventListener('visibilitychange', onHide); + if (!archive) document.addEventListener('visibilitychange', onHide); /** Interpolated state of one track at `ms`, or null outside its record. */ function stateAt(tr, ms, { holdMs = 45_000 } = {}) { @@ -434,7 +440,7 @@ export function createRecorder({ const a = tr.sample(i - 1); const b = tr.sample(i); const gap = (b.t - a.t) / 1000; - if (gap > MAX_INTERP_GAP_S) return null; + if (gap > maxInterpGapS) return null; const f = (ms - a.t) / (b.t - a.t || 1); return { t: ms, diff --git a/mobile/main.js b/mobile/main.js index 8ea1ce7c8..3f9782235 100644 --- a/mobile/main.js +++ b/mobile/main.js @@ -38,7 +38,7 @@ import { createMomentPlayer } from './ui/moment.js'; import { createDirector } from './ui/director.js'; import { social, callSocial } from './ui/socialBridge.js'; import { PLACES } from './ui/shim3.js'; -import { distKm, llShort, fmtKm } from './ui/bands.js'; +import { distKm, llShort } from './ui/bands.js'; const app = $('#app'); const stage = $('#stage'); @@ -309,7 +309,7 @@ const fetchJson = (url) => .catch(() => null); // No snapshot on this device yet: the bundled one (real data, see capturedAt). if (!snap) - fetchJson('/mobile/demo/snapshot.json').then((j) => { + fetchJson(new URL('./demo/snapshot.json', import.meta.url).href).then((j) => { const list = Array.isArray(j) ? j : j?.situations; if (!list?.length || situationsCache) return; const at = j?.capturedAt || null; @@ -325,9 +325,9 @@ if (!snap) } }); // Today's Moment paints from the bundle before the globe is up. -fetchJson('/mobile/demo/moments/empire-state.json').then( - (m) => m?.tracks && today.setMoment(m), -); +fetchJson( + new URL('./demo/moments/empire-state.json', import.meta.url).href, +).then((m) => m?.tracks && today.setMoment(m)); // Distances appear by themselves when location was already granted. navigator.permissions @@ -463,10 +463,21 @@ async function clipMoment({ start, end }) { const g = await globeReady; const c = lastCam || { lon: -73.98, lat: 40.75, height: 400e3 }; const radius = Math.max(15, Math.min(600, (c.height || 400e3) / 1000 / 1.5)); - const near = g - .contactsNear(c.lon, c.lat, radius) - .filter((x) => /aircraft|helicopter|military|ship|vessel/.test(x.kind)) - .slice(0, 6); + // What the recorder (or the bundled recording) holds for that range, + // else whatever is live around the camera. + const recorded = g + .historyNear((start + end) / 2, c.lon, c.lat, radius) + .slice(0, 12); + const fromRecord = recorded.length >= 2; + const near = fromRecord + ? recorded + : g + .contactsNear(c.lon, c.lat, radius) + .filter((x) => /aircraft|helicopter|military|ship|vessel/.test(x.kind)) + .slice(0, 6); + const archive = g.history()?.archive; + const inArchive = + archive && start >= archive.start - 60e3 && end <= archive.end + 60e3; const tracks = ( await Promise.all( near.map(async (x) => { @@ -500,8 +511,21 @@ async function clipMoment({ start, end }) { let place = PLACES.map((p) => ({ p, d: distKm(c, p) })).sort( (a, b) => a.d - b.d, )[0]; + // Name the clip honestly: a landmark only when the view is that close, + // else the recording's region, else coordinates. + const region = inArchive + ? archive.regions?.find( + (r) => + c.lat >= r.bbox.south && + c.lat <= r.bbox.north && + c.lon >= r.bbox.west && + c.lon <= r.bbox.east, + ) + : null; const placeName = - place && place.d < radius ? place.p.name : llShort(c.lat, c.lon, 2); + place && place.d < Math.min(radius, 25) + ? place.p.name + : region?.label || llShort(c.lat, c.lon, 2); const m = { id: `clip-${Math.round(start / 1000).toString(36)}`, title: `Clip · ${placeName}`, @@ -533,7 +557,11 @@ async function clipMoment({ start, end }) { { name: g.isStub ? 'Simulated recorder (offline stub)' - : 'On-device recorder', + : inArchive + ? 'Bundled recording (real positions, captured ' + + new Date(archive.start).toISOString().slice(0, 10) + + ')' + : 'On-device recorder', detail: `${tracks.length} tracks · ${evts.length} events · ${new Date(start).toISOString().slice(11, 16)}–${new Date(end).toISOString().slice(11, 16)}Z`, }, ], @@ -677,25 +705,18 @@ globeReady applyTab('live'); } const subj = s.moment?.subject; - const c = subj - ? { lon: subj.lon, lat: subj.lat, height: 4200 } - : s.camera || {}; - const height = Math.max(2500, Math.min(c.height || 3000, 6000)); - // On a phone the room sheet covers the lower half: lift the place - // into the visible top of the map so the hearts rise in view. - let lat = c.lat ?? s.lat; - if (!isTwoPane()) { - const r = stage.getBoundingClientRect(); - const mPerPx = (height * 0.364) / (Math.min(r.width, r.height) / 2); - lat -= (mPerPx * r.height * 0.27) / 111320; - } - g.flyTo({ - lon: c.lon ?? s.lon, - lat, - height, - pitch: -40, - duration: 1.8, - }); + const c = subj ? { lon: subj.lon, lat: subj.lat } : s.camera || {}; + const lon = c.lon ?? s.lon; + const lat = c.lat ?? s.lat; + if (!Number.isFinite(lon) || !Number.isFinite(lat)) return; + frameForSheet( + { lon, lat }, + { + distM: subj + ? 3000 + : Math.max(2500, Math.min((c.height || 3000) * 0.9, 6000)), + }, + ); }, onCredits: () => chrome.openCredits(), onLocate: () => locate(), @@ -814,6 +835,10 @@ globeReady today.setSituations(cached); } } + // The director is ready as soon as the shell is: a presenter must never + // wait on the first live situations() call (it can take a minute). + director = buildDirector(g); + director.bindTripleTap(feed.titleEl); today.setGlobe(g); await feed.load({ quiet: primed }); const sits = await getSituations(); @@ -837,8 +862,6 @@ globeReady .evaluate({ quiet: true }) .then(() => setTimeout(() => watch.evaluate(), 4000)); applyTab(current); - director = buildDirector(g); - director.bindTripleTap(feed.titleEl); // Deep links: #s=, #m=, #e= const hs = /#s=([^&]+)/.exec(location.hash); @@ -941,8 +964,91 @@ async function openThreadFor(s) { }); } +/** + * An oblique view of a place, framed into the part of the map a sheet leaves + * visible: on a phone the medium sheet covers the lower half, so the place + * sits in the upper third; on iPad (sheets in the leading pane) a little + * below the centre, leaving room above for rising reactions. + */ +function frameForSheet( + { lon, lat }, + { distM = 3000, rayDeg = 30, heading = 32, duration = 1.6 } = {}, +) { + if (!globe) return Promise.resolve(); + const r = stage.getBoundingClientRect(); + const W = r.width || 1; + const H = r.height || 1; + const fov = globe.raw?.viewer?.camera?.frustum?.fov ?? Math.PI / 3; + const tanHalfV = W > H ? (Math.tan(fov / 2) * H) / W : Math.tan(fov / 2); + const yFrac = isTwoPane() ? 0.56 : 0.27; + const above = Math.atan((0.5 - yFrac) * 2 * tanHalfV) * (180 / Math.PI); + const pitch = Math.max(-88, -rayDeg - above); + const ray = (rayDeg * Math.PI) / 180; + const back = distM * Math.cos(ray); + const hd = ((heading + 180) * Math.PI) / 180; + return globe.flyTo({ + lon: + lon + (back * Math.sin(hd)) / (111320 * Math.cos((lat * Math.PI) / 180)), + lat: lat + (back * Math.cos(hd)) / 111320, + height: 12 + distM * Math.sin(ray), + heading, + pitch, + eye: true, + duration, + }); +} + +/** + * The busiest region of the bundled recording: a camera over it and the + * instant to start replaying (20 min before its busiest 5 minutes). + */ +async function busiestRecording(g) { + const arch = (await g.loadHistory()) || g.history()?.archive; + const regions = arch?.regions || []; + if (!regions.length) return null; + const r = regions + .slice() + .sort((a, b) => (b.busiest?.aircraft || 0) - (a.busiest?.aircraft || 0))[0]; + const b = r.bbox; + const lat = (b.south + b.north) / 2; + const widthKm = + (b.east - b.west) * 111 * Math.cos((lat * Math.PI) / 180) * 0.62; + return { + label: r.label, + from: Math.max(r.start, (r.busiest?.t ?? r.start) - 20 * 60e3), + camera: { + lon: (b.west + b.east) / 2, + // A little south: the ribbon and tab bar cover the bottom of the map. + lat: lat - (b.north - b.south) * 0.12, + height: Math.max(160e3, Math.min(700e3, widthKm * 1000 * 0.9)), + }, + }; +} + +/** Director: a steady stream of reactions rising from a place. */ +let reactTimer = 0; +function reactionStream(g, { lon, lat }, ms = 15000) { + clearInterval(reactTimer); + const kinds = ['heart', 'heart', 'fire', 'heart', 'eyes', 'wow', 'heart']; + const until = Date.now() + ms; + let i = 0; + reactTimer = setInterval(() => { + if (Date.now() > until) return clearInterval(reactTimer); + g.react({ + lon: lon + (Math.random() - 0.5) * 0.006, + lat: lat + (Math.random() - 0.5) * 0.005, + kind: kinds[i++ % kinds.length], + count: 2 + Math.round(Math.random() * 2), + }); + }, 650); +} + /* ---------------- Director (demo mode) ---------------- */ function closeAll() { + clearInterval(reactTimer); + // Capture covers the globe (and on iPad the whole stage): leave it. + if (current === 'capture') applyTab(isTwoPane() ? 'today' : 'live'); + watch.clearBanners(); player?.close(); dossier?.close(); sky?.close(); @@ -1012,16 +1118,15 @@ function buildDirector(g) { run: async () => { closeAll(); const m = await hero(); - // Show the globe first, then the Live lane over it. - const sit = - (await getSituations()).find((x) => x.momentId === m.id) || m; + // The Live lane over the globe: the room frames Midtown above the + // sheet (onShowGlobe) and hearts rise from the city. + // Never wait on a cold live situations() call. + const list = + situationsCache || + (await Promise.race([getSituations(), settle(1500)])) || + []; + const sit = list.find((x) => x.momentId === m.id) || m; if (!isTwoPane()) selectTab('live'); - await g.flyTo({ - lon: m.lon, - lat: m.lat - 0.004, - height: 4200, - duration: 1.2, - }); const ok = ( await callSocial('openRoom', sit, { lane: 'live', @@ -1029,17 +1134,10 @@ function buildDirector(g) { }) ).ok; if (!ok) await openRoom(m, { lane: 'live' }); - for (let i = 0; i < 6; i += 1) - setTimeout( - () => - g.react({ - lon: m.lon + (Math.random() - 0.5) * 0.02, - lat: m.lat + (Math.random() - 0.5) * 0.02, - kind: ['heart', 'fire', 'heart', 'eyes', 'heart', 'wow'][i], - count: 3, - }), - 300 + i * 260, - ); + const subj = m.subject || { lon: m.lon, lat: m.lat }; + await settle(300); + await frameForSheet(subj, { distM: 3000, duration: 1.2 }); + reactionStream(g, subj); }, }, { @@ -1109,18 +1207,33 @@ function buildDirector(g) { }, }, { - title: 'Time machine: −3 h at 60×', - note: 'The recorder replays where everything actually was', + title: 'Time machine at 60×', + note: 'Replays a real recording: where everything actually was', icon: 'clock', run: async () => { closeAll(); selectTab('live'); - g.flyTo({ lon: -62, lat: 38, height: 4200e3, duration: 1.4 }); + const r = await busiestRecording(g); + if (r) { + await g.flyTo({ ...r.camera, duration: 1.4 }); + await settle(300); + chrome.ribbon.jump(r.from, { play: true, speed: 60 }); + toast( + `Replaying a real recording · ${r.label} · ${new Date(r.from).toUTCString().slice(5, 11)}`, + { icon: icon('clock') }, + ); + return; + } + // No bundled recording: the true start of this device's history. + const h = g.history(); + g.flyTo({ lon: -73.98, lat: 40.2, height: 420e3, duration: 1.4 }); await settle(450); - chrome.ribbon.jump(Date.now() - 3 * 3600e3, { - play: true, - speed: 60, - }); + chrome.ribbon.jump( + Number.isFinite(h?.start) + ? Math.max(h.start, Date.now() - 3 * 3600e3) + : Date.now() - 15 * 60e3, + { play: true, speed: 60 }, + ); }, }, { @@ -1130,14 +1243,19 @@ function buildDirector(g) { run: async () => { closeAll(); selectTab('live'); - await g.flyTo({ + const r = await busiestRecording(g); + const cam = r?.camera || { lon: -73.95, lat: 40.72, height: 260e3, + }; + await g.flyTo({ + ...cam, + height: Math.min(cam.height, 300e3), duration: 1.2, }); await settle(350); - const t0 = Date.now() - 50 * 60e3; + const t0 = r ? r.from + 6 * 60e3 : Date.now() - 50 * 60e3; chrome.ribbon.jump(t0 + 9 * 60e3); chrome.ribbon.selectRange(t0, t0 + 18 * 60e3); }, @@ -1149,26 +1267,22 @@ function buildDirector(g) { run: async () => { closeAll(); applyTab('today'); - const s = (await getSituations()).find((x) => - /squawk/.test(x.kind || ''), - ); - const home = watch.home(); - const d = s ? distKm(home, s) : NaN; - watch.banner({ - title: s?.title || 'Squawk 7700', - body: `${s?.place || 'Emergency squawk'}${Number.isFinite(d) ? ` · ${fmtKm(d)} from ${home.label || home.name}` : ''} · your rule: any emergency squawk`, - band: 'sky', - onTap: () => s && openSituation(s), - }); + await settle(250); + await watch.demoAlert(); }, }, { title: 'Search to dossier', - note: '“7700”, “ISS”, “Piccadilly”', + note: '“7700” when a squawk is live, else “ISS”; then any result', icon: 'search', run: async () => { closeAll(); - search.open('7700'); + // “7700” only reads well while an aircraft is squawking it. + const hits = await g.search('7700').catch(() => []); + const squawk = hits.some((x) => + /aircraft|helicopter|military/.test(x.kind), + ); + search.open(squawk ? '7700' : 'ISS'); }, }, ], diff --git a/mobile/styles/moment.css b/mobile/styles/moment.css index dc59c14b2..30f514677 100644 --- a/mobile/styles/moment.css +++ b/mobile/styles/moment.css @@ -794,3 +794,187 @@ visibility: hidden; } } + +/* ------------------------------------------------------------------ */ +/* Tablet leading pane: header · on the record · chat (DESIGN §12.4) */ +/* ------------------------------------------------------------------ */ + +.mp-feed, +.mp-ch { + display: none; +} + +.mp-fh { + display: flex; +} + +.mp-fh, +.mp-ch { + align-items: center; + justify-content: space-between; + gap: 8px; + padding: 0 16px; + color: var(--ink-3); + font-size: 0.5625rem; + font-weight: 700; + letter-spacing: 0.1em; +} + +.mp-fh > span:first-child, +.mp-ch > span:first-child { + display: inline-flex; + align-items: center; + gap: 6px; + color: var(--ink-2); +} + +.mp-fh .i { + font-size: 0.85rem; +} + +.mp-feed-list { + display: grid; + gap: 8px; + padding: 8px 14px 12px; + overflow-y: auto; + overscroll-behavior: contain; + scrollbar-width: thin; +} + +.mp-fi.in { + animation: msg-in 420ms var(--spring) both; +} + +.mp-fcap { + display: flex; + gap: 10px; + width: 100%; + padding: 6px; + border-radius: 14px; + text-align: left; + color: var(--ink); + background: rgba(235, 199, 119, 0.06); + box-shadow: inset 0 0 0 0.5px rgba(235, 199, 119, 0.35); +} + +.mp-fcap.first { + background: rgba(235, 199, 119, 0.1); + box-shadow: + inset 0 0 0 1px rgba(235, 199, 119, 0.8), + 0 0 22px rgba(235, 199, 119, 0.14); +} + +.mp-fcap .cone-thumb { + flex: none; + width: 96px; + border-radius: 10px; +} + +.mp-fbody { + flex: 1; + min-width: 0; + display: flex; + flex-direction: column; + justify-content: center; + gap: 3px; +} + +.mp-fbody .fe { + display: inline-flex; + align-items: center; + gap: 5px; + color: var(--b-inside); + font-size: 0.5625rem; + font-weight: 700; + letter-spacing: 0.1em; + --seal-ink: #2a1a00; +} + +.mp-fbody b { + font-size: var(--t-foot); + font-weight: 650; + line-height: 1.25; +} + +.mp-fbody small { + font-family: var(--mono); + font-size: 0.5625rem; + color: var(--ink-3); +} + +@media (min-width: 600px) { + .mp-side-title { + flex: none; + } + + .mp-feed { + display: flex; + flex-direction: column; + flex: 0 1 auto; + min-height: 0; + max-height: 46%; + margin-top: 6px; + border-top: 0.5px solid var(--hairline); + padding-top: 12px; + } + + .mp-ch { + display: flex; + flex: none; + padding-top: 12px; + border-top: 0.5px solid var(--hairline); + } + + /* Everything at once on a tablet: no segmented switch. */ + .mp-side-head, + .mp-pane[data-pane='record'], + .mp-pane[data-pane='captures'] { + display: none !important; + } + + .mp-pane[data-pane='chat'] { + display: flex !important; + flex-direction: column; + -webkit-mask-image: none; + mask-image: none; + padding-top: 6px; + } + + .mp-pane[data-pane='chat'] .mp-chat, + .mp-pane[data-pane='chat'] .mp-ext { + flex: 1; + min-height: 0; + } + + /* Chat reads from the top, newest at the bottom. */ + .mp-chat { + justify-content: flex-start; + padding-top: 4px; + } + + .mp-ext { + display: flex; + flex-direction: column; + } + + .co.co-tall { + flex: 1; + min-height: 0; + justify-content: flex-start; + } + + .co.co-tall .co-list { + flex: 1; + min-height: 0; + justify-content: flex-start; + overflow-y: auto; + scrollbar-width: none; + pointer-events: auto; + -webkit-mask-image: linear-gradient(to bottom, transparent 0, #000 18px); + mask-image: linear-gradient(to bottom, transparent 0, #000 18px); + } + + .co.co-tall .cl.old { + opacity: 0.7; + } +} diff --git a/mobile/styles/shell.css b/mobile/styles/shell.css index d3f58d176..e2e4ad5e4 100644 --- a/mobile/styles/shell.css +++ b/mobile/styles/shell.css @@ -1003,3 +1003,52 @@ input[type='range'].slider::-moz-range-thumb { opacity: 0; } } + +/* Content scrolls under the floating glass: a soft scrim behind the tab bar + (and its accessory) keeps the last rows legible as they pass beneath. */ +.app:is([data-tab='today'], [data-tab='rooms'], [data-tab='you']) + .tabbar::before { + content: ''; + position: absolute; + z-index: -1; + left: calc(-12px - var(--safe-l)); + right: calc(-12px - var(--safe-r)); + bottom: calc(-1 * var(--tabbar-gap)); + height: calc(var(--tabbar-h) + var(--tabbar-gap) + 46px); + background: linear-gradient( + to top, + rgba(5, 7, 11, 0.92) 0, + rgba(5, 7, 11, 0.7) 45%, + rgba(5, 7, 11, 0) 100% + ); + pointer-events: none; +} + +.app:is([data-tab='today'], [data-tab='rooms'], [data-tab='you']) + .tabbar.has-accessory::before { + height: calc(var(--tabbar-h) + var(--tabbar-gap) + 104px); +} + +/* On a tablet the Globe tab's leading pane is a scrolling list too. */ +@media (min-width: 600px) { + .app[data-tab='live'] .tabbar::before { + content: ''; + position: absolute; + z-index: -1; + left: calc(-12px - var(--safe-l)); + right: calc(-12px - var(--safe-r)); + bottom: calc(-1 * var(--tabbar-gap)); + height: calc(var(--tabbar-h) + var(--tabbar-gap) + 46px); + background: linear-gradient( + to top, + rgba(5, 7, 11, 0.92) 0, + rgba(5, 7, 11, 0.7) 45%, + rgba(5, 7, 11, 0) 100% + ); + pointer-events: none; + } + + .app[data-tab='live'] .tabbar.has-accessory::before { + height: calc(var(--tabbar-h) + var(--tabbar-gap) + 104px); + } +} diff --git a/mobile/styles/timemachine.css b/mobile/styles/timemachine.css index 4f63cd20c..46111f626 100644 --- a/mobile/styles/timemachine.css +++ b/mobile/styles/timemachine.css @@ -186,10 +186,12 @@ animation: none; } +/* Floats above the whole time machine, so it never covers the readout. */ .tm-callout { position: absolute; + z-index: 2; left: 50%; - bottom: calc(100% + 6px); + bottom: calc(100% + 8px); transform: translateX(-50%); max-width: 82%; padding: 5px 9px; @@ -283,3 +285,47 @@ white-space: normal; line-height: 1.35; } + +/* NOW snap: a ring pulses out of the playhead and the NOW pill. */ +.ribbon.tm.snap .tm-head::after { + content: ''; + position: absolute; + top: 50%; + left: 50%; + width: 10px; + height: 10px; + margin: -5px 0 0 -5px; + border-radius: 50%; + box-shadow: 0 0 0 2px rgba(255, 69, 58, 0.9); + animation: tm-snap 760ms var(--ease-out) both; + pointer-events: none; +} + +.ribbon.tm.snap .tm-now { + animation: tm-now-pop 520ms var(--spring) both; +} + +@keyframes tm-snap { + from { + opacity: 1; + transform: scale(0.6); + } + to { + opacity: 0; + transform: scale(6); + } +} + +@keyframes tm-now-pop { + 40% { + transform: scale(1.12); + box-shadow: 0 0 0 4px rgba(255, 69, 58, 0.28); + } +} + +@media (prefers-reduced-motion: reduce) { + .ribbon.tm.snap .tm-head::after, + .ribbon.tm.snap .tm-now { + animation: none; + } +} diff --git a/mobile/ui/dossier.js b/mobile/ui/dossier.js index ea20a0653..b612e76cf 100644 --- a/mobile/ui/dossier.js +++ b/mobile/ui/dossier.js @@ -247,7 +247,7 @@ export function createDossier({ - ${d.privacy ? `
${icon('lock')}Owner privacy (${esc(String(d.privacy).toUpperCase())}) Identity is limited to what the transponder broadcasts. We never name aircraft on privacy lists.
` : ''} + ${d.privacy ? `
${icon('lock')}Owner privacy (${esc(String(d.privacy).toUpperCase())}) Identity is limited to what the transponder broadcasts. We never name aircraft on privacy lists.
` : d.registryMissing ? `
${icon('info')}No public registry record found for this airframe.${d.identity?.operator ? ` Operator from the callsign’s airline prefix.` : ''}
` : ''} ${trackHtml(d)} ${ident.length ? `

Identity

${ident.map(([k, v]) => `
${esc(ID_LABEL[k] || cap(k))}
${esc(v)}
`).join('')}
` : ''} ${ diff --git a/mobile/ui/feed.js b/mobile/ui/feed.js index e22af663e..107107cb2 100644 --- a/mobile/ui/feed.js +++ b/mobile/ui/feed.js @@ -155,14 +155,28 @@ export function createFeed( const hd = $('[data-utc]', view); if (hd) hd.textContent = u; const dt = $('[data-date]', view); - if (dt) - dt.textContent = now + if (dt) { + // The kicker greets the hour: what the planet is doing for you now. + const hr = now.getHours(); + const greet = + hr < 5 + ? 'Up late' + : hr < 12 + ? 'Good morning' + : hr < 17 + ? 'Good afternoon' + : hr < 22 + ? 'Good evening' + : 'Tonight'; + const txt = `${now .toLocaleDateString('en-GB', { weekday: 'long', day: 'numeric', month: 'long', }) - .toUpperCase(); + .toUpperCase()} · ${greet.toUpperCase()}`; + if (dt.textContent !== txt) dt.textContent = txt; + } const lt = $('[data-localtime]', view); if (lt) { const txt = now.toLocaleTimeString('en-US', { diff --git a/mobile/ui/globeHost.js b/mobile/ui/globeHost.js index 9ecb5521b..d7e18f47a 100644 --- a/mobile/ui/globeHost.js +++ b/mobile/ui/globeHost.js @@ -198,6 +198,11 @@ function guard(engine, kind) { }, cachedThumbnail: (s) => call('cachedThumbnail', null, s), history: () => call('history', null), + loadHistory: () => asyncCall('loadHistory', null), + historyNear: (ms, lon, lat, km) => { + const v = call('historyNear', [], ms, lon, lat, km); + return Array.isArray(v) ? v : []; + }, trackOf: (id) => asyncCall('trackOf', [], id), playback: { play: (o) => { diff --git a/mobile/ui/liveChat.js b/mobile/ui/liveChat.js index 42868a19f..f1dae4550 100644 --- a/mobile/ui/liveChat.js +++ b/mobile/ui/liveChat.js @@ -956,6 +956,8 @@ export function mountChatOverlay(core, el, ctx = {}) { let seqN = 0; let driven = false; // a player calls push(): ignore the engine's own clock const full = ctx.moment || null; + const maxLines = ctx.maxLines || 9; + if (maxLines > 9) root.classList.add('co-tall'); function line(m, { quiet = false } = {}) { const key = m.id || `${m.t}|${m.handle}`; @@ -980,7 +982,8 @@ export function mountChatOverlay(core, el, ctx = {}) { const node = h(lineHtml(msg, core.rt.me.handle)); if (!quiet) node.classList.add('in'); list.appendChild(node); - while (list.childElementCount > 9) list.firstElementChild.remove(); + while (list.childElementCount > maxLines) list.firstElementChild.remove(); + if (maxLines > 9) list.scrollTop = list.scrollHeight; // Lines fade after a while, as on a stream overlay. setTimeout(() => node.classList.add('old'), 9000); // Chat and hearts go together. @@ -1062,7 +1065,7 @@ export function mountChatOverlay(core, el, ctx = {}) { // Lines already said: show the last few, quietly. const said = Array.isArray(m?.chat) ? m.chat : []; for (const c of said) shown.add(c.id || `${c.t}|${c.handle}`); - for (const c of said.slice(-6)) { + for (const c of said.slice(maxLines > 9 ? -24 : -6)) { shown.delete(c.id || `${c.t}|${c.handle}`); line(c, { quiet: true }); } diff --git a/mobile/ui/moment.js b/mobile/ui/moment.js index 6282a081a..dbac3e2e4 100644 --- a/mobile/ui/moment.js +++ b/mobile/ui/moment.js @@ -158,6 +158,11 @@ export function createMomentPlayer({