A Swift package to compute satellite positions from two‑line elements (TLE), wrapping the sgp4 library (by Daniel Warner).
import SGPKit let title = "ISS (ZARYA)" let firstLine = "1 25544U 98067A 13165.59097222 .00004759 00000-0 88814-4 0 47" let secondLine = "2 25544 51.6478 121.2152 0011003 68.5125 263.9959 15.50783143834295" let tle = try TLE( title: title, firstLine: firstLine, secondLine: secondLine ) // Instantiate the interpreter (stateless and Sendable) let interpreter = TLEInterpreter() // Compute the satellite state at a given date let now: Date = .now let data = try interpreter.satelliteData(from: tle, date: now) print(data.latitude) // degrees print(data.longitude) // degrees print(data.altitude) // kilometers print(data.speed) // km/hIf you want to use SGPKit in any other project that uses SwiftPM, add the package as a dependency in Package.swift:
dependencies: [ .package( url: "https://github.com/csanfilippo/swift-sgp4", from: "3.1.0" ), ]