Satellite tracking TUI using ratatui
1# Satellite observatory
2
3(yes i'm aware of the typo)
4
5
6Inspired by my previous project [iss_locator.rs](https://tangled.sh/@technoduck.me/iss_locator.rs), and the indomitable human spirit,
7its an interactive program displaying the current location of the ISS.
8
9The UI is made using [ratatui.rs](https://ratatui.rs/), which I hopefully will be able to then also port to [ratzilla](https://github.com/orhun/ratzilla).
10
11
12## Usage
13
14Can either be compiled normally, or with a `logging` feature, to enable tracing everything into log.log file (horrible alas it works).
15
16## Methods
17
18Location of the ISS is obtained from [celestrak](https://celestrak.org), where the Two Line Element for the ISS's orbit is obtained.
19
20SGP4 algorithms + Earth Rotation angle are used to calculate the location and velocity at any specific point in time.
21
22
23## Future?
24
25While the code for now is a bit ISS specific other satellites can be easily added, by fetching their TLE and doing the same calculations.
26
27- [ ] Transform location update to inline calculation, it's not that costly async can be reserved for the TLE fetching.
28- [ ] general cleanup
29
30## Contributions?
31
32If you want a symbolic (or not) contribution, the easiest would be to ~~dox yourself~~ add a city!
33They are all held in a `pub const CITIES` in `app.rs`. Adding a city is as easy as adding another line with your chosen location name, and longitude and lattitude (decimal).
34
35The ISS visibility status is in the works, but the `City` struct should not change.