Skip to main content
Glama

mcp-Sternenbeobachtung

Berechnen Sie die Höhe sowie die Aufgangs- und Untergangszeiten von Himmelsobjekten (Sonne, Mond, Planeten, Sternen und Objekten im Weltraum) für jeden beliebigen Ort auf der Erde, mit optionaler Lichtverschmutzungsanalyse.

Merkmale

  • Höhen-/Azimutberechnung : Ermitteln Sie Höhe und Kompassrichtung für jedes Himmelsobjekt.

  • Aufgangs-/Untergangszeiten : Bestimmen Sie, wann Objekte über dem Horizont erscheinen/verschwinden.

  • Lichtverschmutzungsanalyse : Laden und analysieren Sie Lichtverschmutzungskarten (GeoTIFF-Format).

  • Unterstützt :

    • Objekte des Sonnensystems (Sonne, Mond, Planeten)

    • Sterne (zB „Sirius“)

    • Objekte im tiefen Weltraum (z. B. „Andromeda“, „Orionnebel“)

  • Zeitzonenbewusst : Funktioniert mit Orts- oder UTC-Zeiten.

Related MCP server: Celestial Position MCP Server

Installation

pip install astropy pytz numpy astroquery rasterio geopy

Verwendung

Höhe/Azimut berechnen

from src.celestial import celestial_pos from astropy.coordinates import EarthLocation import pytz from datetime import datetime # Observer location (New York) location = EarthLocation(lat=40.7128, lon=-74.0060) # Time (local timezone-aware) local_time = pytz.timezone("America/New_York").localize(datetime(2023, 10, 1, 12, 0)) altitude, azimuth = celestial_pos("sun", location, local_time) print(f"Sun Position: Altitude={altitude:.1f}°, Azimuth={azimuth:.1f}°")

Anstiegs-/Untergangszeiten berechnen

from src.celestial import celestial_rise_set rise, set_ = celestial_rise_set("andromeda", location, local_time.date()) print(f"Andromeda: Rise={rise.iso}, Set={set_.iso}")

Lichtverschmutzungskarte laden

from src.light_pollution import load_map # Load a GeoTIFF light pollution map vriis_data, bounds, crs, transform = load_map("path/to/map.tif") print(f"Map Bounds: {bounds}")

API-Referenz

celestial_pos(celestial_object, observer_location, time) ( src/celestial.py )

  • Eingänge :

    • celestial_object : Name (z. "sun" , "andromeda" ).

    • observer_location : EarthLocation Objekt.

    • time : datetime (zeitzonenabhängig) oder Astropy- Time .

  • Gibt zurück : (altitude_degrees, azimuth_degrees) .

celestial_rise_set(celestial_object, observer_location, date, horizon=0.0) ( src/celestial.py )

  • Eingänge :

    • date : Zeitzonenbewusstes datetime .

    • horizon : Horizonthöhe (Standard: 0°).

  • Gibt zurück : (rise_time, set_time) als UTC- Time .

load_map(map_path) ( src/light_pollution.py )

  • Eingänge :

    • map_path : Pfad zur GeoTIFF-Datei.

  • Gibt zurück : Tupel (vriis_data, bounds, crs, transform) für die Lichtverschmutzungsanalyse.

Testen

Führen Sie Tests durch mit:

pytest tests/

Wichtige Testfälle ( tests/test_celestial.py )

def test_calculate_altitude_deepspace(): """Test deep-space object resolution.""" altitude, _ = celestial_pos("andromeda", NYC, Time.now()) assert -90 <= altitude <= 90 def test_calculate_rise_set_sun(): """Validate Sun rise/set times.""" rise, set_ = celestial_rise_set("sun", NYC, datetime(2023, 10, 1)) assert rise < set_

Projektstruktur

. ├── src/ │ ├── celestial.py # Core celestial calculations │ ├── light_pollution.py # Light pollution map utilities │ ├── utils.py # Time/location helpers │ └── main.py # CLI entry point ├── tests/ │ ├── test_celestial.py │ └── test_utils.py └── README.md

Zukünftige Arbeit

  • Unterstützung für Kometen/Asteroiden hinzufügen.

  • Optimieren Sie SIMBAD-Abfragen für die Offline-Verwendung.

  • Integrieren Sie Daten zur Lichtverschmutzung in Sichtbarkeitsvorhersagen.

Wichtige Updates:

  1. Lichtverschmutzung : light_pollution.py zu Funktionen und API-Referenz hinzugefügt.

  2. Abhängigkeiten : rasterio und geopy wurden den Installationsanweisungen hinzugefügt.

  3. Projektstruktur : Klargestellte Dateirollen und Testabdeckung.

-
security - not tested
A
license - permissive license
-
quality - not tested

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/StarGazer1995/mcp-stargazing'

If you have feedback or need assistance with the MCP directory API, please join our Discord server