joshuaferrara / go-satellite

Calculate orbital information of satellites in GoLang.
BSD 2-Clause "Simplified" License
78 stars 27 forks source link

Fixed ECIToLookAngles #4

Closed ainagarciaes closed 5 years ago

ainagarciaes commented 5 years ago

ECIToLookAngles was incorrectly implemented based on the cited reference on top of the function. I implemented it again, and checked the output with libpredict-based softwares to assess its functionality.

joshuaferrara commented 5 years ago

This is interesting, thanks for bringing it up.

I believe the reason behind between the difference of the initial implementation and what's on Celestrak was to try and reuse some other conversion methods to trim down what was occurring in ECIToLookAngles, though it looks like that introduced some inaccuracies.

Can you provide the output/code you use to verify with libpredict? I'd like to try and use it to verify some other parts of the library, in addition to having a source to reference back to if someone has future issues.

Additionally, it would be wise to have test cases for the conversions in addition to the test cases for the SGP/SDP algorithms. This is something I'd like to add in the future so that inaccuracies like these can be discovered before they exist.

Thank you again for the PR.

joshuaferrara commented 5 years ago

Alright, sorry for the late response - had to find some time to review this once more and it looks good to me.

Thanks again!