} from "satellite.js"; export function getLineCoordinates(satrec: SatRec, date: Date) { const orbitDuration = ((2 * Math.PI) / satrec.no) * 60; // 1पճʹ͔͔Δ࣌ؒ const step = orbitDuration / 360 // يಓΛेΒ͔ʹදࣔͰ͖Δεςοϓ (360) Ͱׂ // ֤࣌Ͱͷ࠲ඪΛܭࢉ const coordinates: [number, number][] = []; for (let elapsed = 0; elapsed < orbitDuration; elapsed += step) { const stepDate = new Date(date.getTime() + elapsed * 1000); const location = getSatelliteLocation(satrec, stepDate); if (!location) break; coordinates.push(location); } return coordinates; } function getSatelliteLocation(satrec: SatRec, date: Date) { const result = propagate(satrec, date); if (!result) return null; const { longitude, latitude } = eciToGeodetic(result.position, gstime(date)); return [degreesLong(longitude), degreesLat(latitude)] as [number, number]; }