On Mon, 13 Oct 2008 19:04:13 +0100 Gordon JC Pearce MM3YEQ gordonjcp@gjcp.net wrote:
cathrynham wrote:
Simon (HB9DRV) wrote:
----- Original Message ----- From: "Jeff Wandling W7BRS" jw@w7brs.com
ps. Again, reply directly -- this sort of question can make enough spam on the DL to last you through Festivus.
A very good starting point is Dr Kelso's work on http://celestrak.com/
And there's plenty (!) of C++ code out there which implements the algorithms, so (worst case) you could figure things from the code.
Bit of a digression, but you know what we need, one of these days, is an open source code library for satellite tracking -- ideally cross-platform for both *nix/Windows. This is something that would get use outside of the amateur community.
What does gpredict use? It seems to work, so it would be a good start. I wish I knew more about how to calculate the predictions...
Gpredict uses sgp4/sdp4 C-code by 5B4AZ, see http://5b4az.chronos.org.uk/pages/norad.html , which is a translation of Kelso's pascal code into ANSI C. I have made certain modifications and optimisations to improve efficiency when tracking a large number of satellites simultaneously but the algorithms are the same. For gpredict it is built and linked as a static library but it is only a matter of linker options to build a shared library (the windows version does indeed use DLL). The code itself is re-entrant.
I have also seen C++ implementations, which might be more suitable for C++ applications. I believe the tracking code from Ham Radio Deluxe is also available as GPL; don't know about its portability though.
73 Alex OZ9AEC