Hysen Labs
Open-source project
joshuaferrara/go-satellite avatar
joshuaferrara

go-satellite

Calculate orbital information of satellites in GoLang.

100 stars34 forksGoBSD-2-Clause
01
DEEP OPEN-SOURCE ANALYSIS

Go Satellite: an SGP4 port with a test suite

A Go library that calculates satellite orbital information, starting as the author's early project of porting SGP4 and shipping with a test suite for accuracy.

02
DEEP OPEN-SOURCE ANALYSIS

Where it came from

Go Satellite is a Go library for calculating orbital information of satellites. The README is personal: the author decided to port the SGP4 library to GoLang as one of their first projects with the language, and included a test suite to ensure accuracy. The test suite is the only quality claim the docs make. The project is written in Go under the BSD-2-Clause license, and the repository history starts in 2016.

03
DEEP OPEN-SOURCE ANALYSIS

What the functions do

The usage section lists the conversions. Earth Centered Inertial coordinates convert into equivalent latitude, longitude, altitude, and velocity. A Julian date function takes year, month, day, hour, minute, and second, with the Julian date defined by each elapsed day since noon on January 1, 4713 BC. Look angles are calculated for a given satellite position and observer position, with the observer altitude in kilometers. Another function converts Earth Centered Inertial into Earth Centered Earth Fixed coordinates, and one more goes the other way, from latitude, longitude, and altitude back into Earth Centered Inertial.

04
DEEP OPEN-SOURCE ANALYSIS

The reference trail

Each conversion cites its source. The coordinate conversions point to columns on celestrak.com, the Earth Centered Earth Fixed work references a coordinate systems document, and the reverse conversion names the 1992 Astronomical Almanac. The README is short, but every formula has a trail back to where it came from.

05
DEEP OPEN-SOURCE ANALYSIS

Editorial conclusion

It reads like an honest first library: a real port, a test suite, and citations for each formula, with no grander claims than that.

06
DEEP OPEN-SOURCE ANALYSIS

Official sources

07
Community notes

Community notes