gut-space / svarog

📡 A ground stations network for receiving satellite transmissions, using VHF, UHF, and more.
MIT License
10 stars 0 forks source link

Orbit details #32

Closed tomaszmrugalski closed 3 years ago

tomaszmrugalski commented 3 years ago

This change adds a nice presentation of orbital data, as shown below:

Here's a sneak peek. BEFORE: before

AFTER: after

This introduces also several dependencies (tle-tools and poliastro). Some of them are heavy. This is unfortunate, but IMHO the benefits outweigh the problems. First, the poliastro package is a powerful environment for anything orbital mechanics-related, such as plotting ground track, calculating orbital drift (for example we could try to predict changing TLE parameters on our own, rather than rely on Celestrak to provide data), has atmospheric models (we could simulate PW-Sat2 orbital decay for example), has tons of plotting capabilities (including interactive 3D charts) and more. A great way to get a quick feeling of what poliastro is capable of is the gallery.

@fivitti rightfully pointed out that some of the dependencies, such as NumPy or AstroPy, are more oriented at the scientific community, rather than web development. That is certainly true. However, this project is not intended for mass consumers. Personally, I very much hope it will evolve more into a scientific/RF engineering direction.

I have also personal reasons to like poliastro and tle-tools. I've contributed to both and the community and the primary maintainer of both are friendly and a pleasure to work with. I also have developed several code pieces in my master thesis that I can see could be potentially useful here. The code uses poliastro.

Finally, I think it's ok for the dependencies to be heavy as long as they're confined to the server side. I fully agree that those would be too much for the station.

tomaszmrugalski commented 3 years ago

There is a problem with tests failing on python 3.6. I think this is because some dependencies are no longer updated there. So, my proposed solution is to simply retire 3.6 support (and probably add 3.9 instead). Thoughts, @fivitti?

fivitti commented 3 years ago

The building error is caused by astropy. It isn't supported on Python 3.6. I think that we can abandon support for this Python version.

tomaszmrugalski commented 3 years ago

I've removed python 3.6. Tried to add 3.9, but there are some dep problems. Pushed to separate ticket #34.

tomaszmrugalski commented 3 years ago

I think all the comments are now addressed. If all changes are ok, I think this is ready to go. Once it's merged, I'll finally take a stab at the CZML export.