A newer version of the Streamlit SDK is available:
1.43.2
metadata
title: Satellite Ephemeris Calculator
emoji: π
colorFrom: green
colorTo: blue
sdk: streamlit
sdk_version: 1.24.1
app_file: app.py
pinned: false
π Satellite Ephemeris Calculator with Streamlit
Welcome to the Satellite Ephemeris Calculator! This application empowers users to track and observe satellites in real time from any location on Earth. It's perfect for astronomy enthusiasts, satellite observers, and anyone curious about the night sky.
[
]
π Features
- Real-time Satellite Tracking: Track satellites from various constellations like Starlink, OneWeb, and Kuiper.
- Custom Satellite Search: Enter specific satellite names or NORAD IDs to fetch their position.
- Location Flexibility: Enter your location manually, use your address, or click on the map to set your coordinates.
- Time Zone Detection: Automatically detects and displays your local time zone, with the flexibility to compute positions for different locations.
- Beautiful and Responsive UI: Designed with Streamlit for an interactive and user-friendly experience.
π How It Works
- Select or Search a Satellite: Choose from pre-defined satellite constellations or enter a custom satellite name/NORAD ID.
- Set Your Location:
- Use your address
- Select a location on the map
- Enter latitude and longitude manually
- Choose Observation Time: Enter your observation window in local time.
- Compute Satellite Positions: Click the button, and the app will display visible satellites with their respective coordinates.
π οΈ Installation
To run the app locally, follow these steps:
Clone the Repository:
git clone https://github.com/yourusername/satellite-ephemeris-calculator.git cd satellite-ephemeris-calculator
Install the Requirements:
pip install -r requirements.txt
Run the App:
streamlit run app.py
𧩠Project Structure
.
βββ app.py # Main application file
βββ utils
β βββ satellite_utils.py # Satellite-related utility functions
β βββ timezone_utils.py # Timezone conversion utilities
βββ requirements.txt # Python dependencies
βββ README.md # Project README
βββ .gitignore # Git ignore file
π Dependencies
The app uses the following Python libraries:
Streamlit: For creating the web application interface.
Skyfield: For computing satellite positions and ephemeris.
Geopy: To handle geocoding for address-based location input.
Folium: For interactive maps.
TimezoneFinder: For detecting time zones based on geographic coordinates.
Pandas, NumPy, Requests, and others for data handling and HTTP requests.
install these with:
pip install -r requirements.txt
π Usage
Launch the App: Run the app using Streamlit and open it in your browser.
Select a Satellite: Choose from the dropdown or enter a custom satellite.
Set Your Location: Use the map, enter an address, or provide coordinates.
Enter Time Range: Input the local time window for observation.
Compute: Click the button to compute satellite positions and view the results!
π Acknowledgements
Special thanks to:
-Unistellar for inspiring the satellite observation campaign.
-Franck Marchis for the ephemeris calculation code.
-The developers of all the amazing open-source libraries used in this project.