衛星の軌道をWeb地図上に表示する – Speaker Deck

يಓදࣔW TBUFMMJUFKTʹΑΔيಓ఻೻ import { degreesLat, degreesLong, eciToGeodetic, gstime, propagate, SatRec

} 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]; }




Source link

関連記事

コメント

この記事へのコメントはありません。