Add routes
This commit is contained in:
parent
55295b84aa
commit
afc45cc9cc
10 changed files with 241 additions and 21 deletions
58
src/lib/telemetry.ts
Normal file
58
src/lib/telemetry.ts
Normal file
|
|
@ -0,0 +1,58 @@
|
|||
import { writable } from "svelte/store"
|
||||
import type { LatLngExpression } from "leaflet";
|
||||
|
||||
import L from "leaflet";
|
||||
|
||||
interface TelemetryPoint {
|
||||
altitude: number;
|
||||
datetime: string;
|
||||
latitude: number;
|
||||
longitude: number;
|
||||
payload: string;
|
||||
}
|
||||
|
||||
interface ParsedTelemetry {
|
||||
flight_path: [number, number, number][];
|
||||
launch: {
|
||||
latlng: LatLngExpression;
|
||||
datetime: Date;
|
||||
};
|
||||
datapoints: TelemetryPoint[];
|
||||
}
|
||||
|
||||
export const latestTelemetry = writable({
|
||||
metadata: {
|
||||
complete_datetime: "",
|
||||
start_datetime: ""
|
||||
},
|
||||
telemetry: [
|
||||
{
|
||||
altitude: 0.0,
|
||||
datetime: "",
|
||||
latitude: 0.0,
|
||||
longitude: 0.0,
|
||||
payload: ""
|
||||
}
|
||||
]
|
||||
});
|
||||
|
||||
export const latestTelemetryParsed = writable({} as ParsedTelemetry);
|
||||
|
||||
export function parseTelemetry(telemetry: TelemetryPoint[]): ParsedTelemetry {
|
||||
const flight_path: [number, number, number][] = telemetry.map((point) => [
|
||||
point.latitude,
|
||||
point.longitude,
|
||||
point.altitude
|
||||
]);
|
||||
|
||||
const launch = {
|
||||
latlng: L.latLng(telemetry[0].latitude, telemetry[0].longitude),
|
||||
datetime: new Date(telemetry[0].datetime)
|
||||
};
|
||||
|
||||
return {
|
||||
flight_path,
|
||||
launch,
|
||||
datapoints: telemetry
|
||||
};
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue