AIS updates
This commit is contained in:
@@ -15,7 +15,7 @@ const SENDER_TYPE = {
|
|||||||
function decodeMsgTypes(status_raw) {
|
function decodeMsgTypes(status_raw) {
|
||||||
const types = [];
|
const types = [];
|
||||||
for (let i = 0; i < 32; i++) {
|
for (let i = 0; i < 32; i++) {
|
||||||
if (status_raw & (1 << i)) types.push(i); // was i + 1
|
if (status_raw & (1 << i)) types.push(i);
|
||||||
}
|
}
|
||||||
return types;
|
return types;
|
||||||
}
|
}
|
||||||
@@ -24,21 +24,26 @@ export async function getAIS() {
|
|||||||
const {ADSB_URL} = cfg();
|
const {ADSB_URL} = cfg();
|
||||||
if(!ADSB_URL) return {data: []};
|
if(!ADSB_URL) return {data: []};
|
||||||
const r = await fetch(`${ADSB_URL}:9990/api/ships_array.json`);
|
const r = await fetch(`${ADSB_URL}:9990/api/ships_array.json`);
|
||||||
const j = await r.json();
|
const {dynamic, static: staticRows} = await r.json();
|
||||||
|
|
||||||
const {values} = j;
|
const staticMap = new Map(staticRows.map(row => [row[0], row]));
|
||||||
const boats = values.map(row => {
|
|
||||||
|
const boats = dynamic.map(row => {
|
||||||
const [
|
const [
|
||||||
mmsi, lat, lon, distance, bearing, rssi, count, drift,
|
mmsi, lat, lon, distance, bearing,
|
||||||
unknown_bool, speed, heading, course, altitude,
|
speed, heading, course,
|
||||||
destination, eta, dimension, receiver, sources, channels,
|
unknownA, rssi, drift, count,
|
||||||
msg_type, msg_type2, status_raw, country,
|
channelsMaybe, unknown, unknownB, unknownC, receiver, sender,
|
||||||
ship_type, callsign, imo, draught,
|
unknownD, altitude, unknownE, unknownF, unknownG, country,
|
||||||
unknown1, unknown2, unknown3,
|
// Known missing: sender_type, last_signal, in_range,
|
||||||
name, name2, name3,
|
|
||||||
last_signal, count2, sender_type, channels2, unknown4, in_range
|
|
||||||
] = row;
|
] = row;
|
||||||
|
|
||||||
|
const s = staticMap.get(mmsi) ?? [];
|
||||||
|
const [
|
||||||
|
_mmsi, name, name2, name3,
|
||||||
|
unknown1, unknown2, unknown3, unknown4, unknown5, unknown6, unknown7, unknown8, unknown9, unknown10, unknown11
|
||||||
|
] = s;
|
||||||
|
|
||||||
return {
|
return {
|
||||||
mmsi, type: SENDER_TYPE[sender_type],
|
mmsi, type: SENDER_TYPE[sender_type],
|
||||||
lat, lon, altitude,
|
lat, lon, altitude,
|
||||||
|
|||||||
Reference in New Issue
Block a user