1 Commits

Author SHA1 Message Date
d290165899 fix: correctly formatted ads-b exchange data 2018-11-02 15:12:11 -07:00

View File

@@ -25,12 +25,12 @@ export async function getOpenskyData() {
export async function getAdbsExchangeData({ lat, lon, radius }) { export async function getAdbsExchangeData({ lat, lon, radius }) {
const positionSourceMap = ['Unknown', 'Mode-S', 'ADS-B', 'ADS-B', 'ADS-B', 'ADS-B']; const positionSourceMap = ['Unknown', 'Mode-S', 'ADS-B', 'ADS-B', 'ADS-B', 'ADS-B'];
const formatNumber = str => str && Number(`${str}`.replace(/[^0-9.-]/, ''));
const res = await fetch.get( const res = await fetch.get(
`http://public-api.adsbexchange.com/VirtualRadar/AircraftList.json?lat=${lat}&lng=${lon}&fDstL=0&fDstU=${radius}` `http://public-api.adsbexchange.com/VirtualRadar/AircraftList.json?lat=${lat}&lng=${lon}&fDstL=0&fDstU=${radius}`
); );
const invalidNumber = /[^0-9.-]/;
return res.data.acList.map(rec => ({ return res.data.acList.map(rec => ({
transponder: `${rec.Icao}`.toLowerCase(), transponder: `${rec.Icao}`.toLowerCase(),
callsign: `${rec.Call}`.trim(), callsign: `${rec.Call}`.trim(),
@@ -40,11 +40,11 @@ export async function getAdbsExchangeData({ lat, lon, radius }) {
location: rec.Lat && rec.Long ? `${rec.Lat},${rec.Long}` : null, location: rec.Lat && rec.Long ? `${rec.Lat},${rec.Long}` : null,
lat: rec.Lat, lat: rec.Lat,
lon: rec.Long, lon: rec.Long,
baro_altitude: rec.Alt && rec.Alt.replace(invalidNumber, ''), baro_altitude: formatNumber(rec.Alt),
geo_altitude: rec.Galt && rec.Galt.replace(invalidNumber, ''), geo_altitude: formatNumber(rec.GAlt),
on_ground: rec.Gnd, on_ground: rec.Gnd,
velocity: rec.Spd && rec.Spd.replace(invalidNumber, ''), velocity: formatNumber(rec.Spd),
vertical_rate: rec.Vsi && rec.Vsi.replace(invalidNumber, ''), vertical_rate: formatNumber(rec.Vsi),
squawk: rec.Sqk, squawk: rec.Sqk,
spi: false, spi: false,
position_source: positionSourceMap[rec.Trt], position_source: positionSourceMap[rec.Trt],