140 lines
3.9 KiB
JavaScript
140 lines
3.9 KiB
JavaScript
// Metro module 4828 (f4829).
|
|
import { getCalculatedGpsValue, getEncodedString } from "./Module4827";
|
|
export default {
|
|
0: {
|
|
name: "GPSVersionID",
|
|
description: (a0) => a0[0] === 2 ? a0[1] === 2 ? a0[2] === 0 ? a0[3] === 0 ? "Version 2.2" : "Unknown" : "Unknown" : "Unknown" : "Unknown"
|
|
},
|
|
1: {
|
|
name: "GPSLatitudeRef",
|
|
description: (a0) => {
|
|
const r3 = a0.join("");
|
|
return r3 !== "N" ? r3 === "S" ? "South latitude" : "Unknown" : "North latitude";
|
|
}
|
|
},
|
|
2: {
|
|
name: "GPSLatitude",
|
|
description: getCalculatedGpsValue
|
|
},
|
|
3: {
|
|
name: "GPSLongitudeRef",
|
|
description: (a0) => {
|
|
const r3 = a0.join("");
|
|
return r3 !== "E" ? r3 === "W" ? "West longitude" : "Unknown" : "East longitude";
|
|
}
|
|
},
|
|
4: {
|
|
name: "GPSLongitude",
|
|
description: getCalculatedGpsValue
|
|
},
|
|
5: {
|
|
name: "GPSAltitudeRef",
|
|
description: (a0) => a0 !== 0 ? a0 === 1 ? "Sea level reference (negative value)" : "Unknown" : "Sea level"
|
|
},
|
|
6: {
|
|
name: "GPSAltitude",
|
|
description: (a0) => a0[0] / a0[1] + " m"
|
|
},
|
|
7: {
|
|
name: "GPSTimeStamp",
|
|
description: (a0) => a0.map((item) => {
|
|
const [r23, r24] = item;
|
|
const r26 = r23 / r24;
|
|
return /^\d(\.|$)/.test(`${r26}`) ? `0${r26}` : r26;
|
|
}).join(":")
|
|
},
|
|
8: "GPSSatellites",
|
|
9: {
|
|
name: "GPSStatus",
|
|
description: (a0) => {
|
|
const r3 = a0.join("");
|
|
return r3 !== "A" ? r3 === "V" ? "Measurement Interoperability" : "Unknown" : "Measurement in progress";
|
|
}
|
|
},
|
|
10: {
|
|
name: "GPSMeasureMode",
|
|
description: (a0) => {
|
|
const r3 = a0.join("");
|
|
return r3 !== "2" ? r3 === "3" ? "3-dimensional measurement" : "Unknown" : "2-dimensional measurement";
|
|
}
|
|
},
|
|
11: "GPSDOP",
|
|
12: {
|
|
name: "GPSSpeedRef",
|
|
description: (a0) => {
|
|
const r4 = a0.join("");
|
|
return r4 !== "K" ? r4 !== "M" ? r4 === "N" ? "Knots" : "Unknown" : "Miles per hour" : "Kilometers per hour";
|
|
}
|
|
},
|
|
13: "GPSSpeed",
|
|
14: {
|
|
name: "GPSTrackRef",
|
|
description: (a0) => {
|
|
const r3 = a0.join("");
|
|
return r3 !== "T" ? r3 === "M" ? "Magnetic direction" : "Unknown" : "True direction";
|
|
}
|
|
},
|
|
15: "GPSTrack",
|
|
16: {
|
|
name: "GPSImgDirectionRef",
|
|
description: (a0) => {
|
|
const r3 = a0.join("");
|
|
return r3 !== "T" ? r3 === "M" ? "Magnetic direction" : "Unknown" : "True direction";
|
|
}
|
|
},
|
|
17: "GPSImgDirection",
|
|
18: "GPSMapDatum",
|
|
19: {
|
|
name: "GPSDestLatitudeRef",
|
|
description: (a0) => {
|
|
const r3 = a0.join("");
|
|
return r3 !== "N" ? r3 === "S" ? "South latitude" : "Unknown" : "North latitude";
|
|
}
|
|
},
|
|
20: {
|
|
name: "GPSDestLatitude",
|
|
description: (a0) => a0[0][0] / a0[0][1] + a0[1][0] / a0[1][1] / 60 + a0[2][0] / a0[2][1] / 3600
|
|
},
|
|
21: {
|
|
name: "GPSDestLongitudeRef",
|
|
description: (a0) => {
|
|
const r3 = a0.join("");
|
|
return r3 !== "E" ? r3 === "W" ? "West longitude" : "Unknown" : "East longitude";
|
|
}
|
|
},
|
|
22: {
|
|
name: "GPSDestLongitude",
|
|
description: (a0) => a0[0][0] / a0[0][1] + a0[1][0] / a0[1][1] / 60 + a0[2][0] / a0[2][1] / 3600
|
|
},
|
|
23: {
|
|
name: "GPSDestBearingRef",
|
|
description: (a0) => {
|
|
const r3 = a0.join("");
|
|
return r3 !== "T" ? r3 === "M" ? "Magnetic direction" : "Unknown" : "True direction";
|
|
}
|
|
},
|
|
24: "GPSDestBearing",
|
|
25: {
|
|
name: "GPSDestDistanceRef",
|
|
description: (a0) => {
|
|
const r4 = a0.join("");
|
|
return r4 !== "K" ? r4 !== "M" ? r4 === "N" ? "Knots" : "Unknown" : "Miles" : "Kilometers";
|
|
}
|
|
},
|
|
26: "GPSDestDistance",
|
|
27: {
|
|
name: "GPSProcessingMethod",
|
|
description: getEncodedString
|
|
},
|
|
28: {
|
|
name: "GPSAreaInformation",
|
|
description: getEncodedString
|
|
},
|
|
29: "GPSDateStamp",
|
|
30: {
|
|
name: "GPSDifferential",
|
|
description: (a0) => a0 !== 0 ? a0 === 1 ? "Differential correction applied" : "Unknown" : "Measurement without differential correction"
|
|
},
|
|
31: "GPSHPositioningError"
|
|
};
|