Add routes

This commit is contained in:
ThePetrovich 2025-04-05 22:44:34 +08:00
parent 55295b84aa
commit afc45cc9cc
10 changed files with 241 additions and 21 deletions

58
src/lib/telemetry.ts Normal file
View 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
};
}