go-satellite
Calculate orbital information of satellites in GoLang.
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.
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.
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.
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.
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.
Community notes