Streaming aircraft positions over European airspace: callsign, lat/lon, altitude, speed.
{
"type": "object",
"properties": {
"callsign": {
"type": "string"
},
"lat": {
"type": "number"
},
"lon": {
"type": "number"
},
"altFt": {
"type": "integer"
},
"speedKt": {
"type": "integer"
},
"heading": {
"type": "integer"
},
"ts": {
"type": "integer"
}
},
"required": [
"callsign",
"lat",
"lon",
"altFt",
"speedKt",
"heading",
"ts"
]
}export interface EuLiveFlights {
callsign: string;
lat: number;
lon: number;
altFt: number;
speedKt: number;
heading: number;
ts: number;
}
import { OmniClient } from "omnistream-sdk";
const client = new OmniClient({ token: process.env.OMNI_ACCESS_TOKEN! });
// Fully typed: `data` is inferred as EuLiveFlights.
const stream = await client.subscribe<EuLiveFlights>("flights-eu-live");
stream.on("data", (data) => {
console.log(data);
});
Install omnistream-sdk, set OMNI_ACCESS_TOKEN, paste the snippet, and you are streaming. Type omni dash in your terminal for the live TUI.