A utility library for keeping track of active aircrafts and their position based on their Mode S messages as decoded by mode-s-decoder.
Mode S is an aviation transponder interrogation mode used by Secondary Surveillance Radar (SSR) and Automatic Dependent Surveillance-Broadcast (ADS-B) systems.
For an example of this module in use, see AirplaneJS.
npm install mode-s-aircraft-store --save
const AircraftStore = require('mode-s-aircraft-store')
const store = new AircraftStore({
timeout: 120000 // remove airplane from store if we haven't seen it for 2 minutes
})
// Add a Mode S message to the store.
// `message` is a decoded Mode S message generated by the mode-s-decoder module.
store.addMessage(message)
store.getAircrafts().forEach(function (aircraft) {
console.log('Aircraft:\n' +
` ID: ${aircraft.icao}\n` +
` Altitude: ${aircraft.altitude}\n` +
` Speed: ${aircraft.speed}\n` +
` Heading: ${aircraft.heading}\n` +
` Latitude: ${aircraft.lat}\n` +
` Longitude: ${aircraft.lng}\n`)
})
Initialize an AircraftStore
instance.
Arguments:
options
- An optional options object
The following options are available:
timeout
- The number of milliseconds before an aircraft is removed from the store if no message from it have been seen (default:120000
)
Add a new message
to the store
.
The message
must be a decoded Mode S message received in detect
callback from the
mode-s-decoder module.
Return an array of aircrafts currently in the store
.
Each aircraft have the following properties:
icao
- The aircraft ICAO identifiercount
- The total number of messages received by this aircraftseen
- Timestamp of when the last message of this aircraft was seen (in number of milliseconds elapsed since 1 January 1970 00:00:00 UTC)callsign
- The aircraft callsignaltitude
- The aircraft altitudeunit
- The aircraft altitude unit. UseDecoder.UNIT_FEET
andDecoder.UNIT_METERS
from the mode-s-decoder module to determine the correct typespeed
- The aircraft speedheading
- The aircraft headinglat
- The aircraft latitudelng
- The aircraft longitude
MIT