Skip to main content
Glama

mcp-stargazing

mcp-наблюдение за звездами

Рассчитайте высоту, время восхода и захода небесных объектов (Солнца, Луны, планет, звезд и объектов дальнего космоса) для любого места на Земле с возможностью анализа светового загрязнения.

Функции

  • Расчет высоты/азимута : получение высоты и направления по компасу для любого небесного объекта.

  • Время восхода/захода : определите, когда объекты появляются/исчезают над горизонтом.

  • Анализ светового загрязнения : загрузка и анализ карт светового загрязнения (формат GeoTIFF).

  • Поддерживает :

    • Объекты Солнечной системы (Солнце, Луна, планеты)

    • Звезды (например, «Сириус»)

    • Объекты дальнего космоса (например, «andromeda», «orion_nebula»)

  • Учет часового пояса : работает с местным или всемирным координированным временем.

Установка

pip install astropy pytz numpy astroquery rasterio geopy

Использование

Рассчитать высоту/азимут

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}°")

Рассчитать время подъема/установки

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}")

Загрузить карту светового загрязнения

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

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

  • Входные данные :

    • celestial_object : Имя (например, "sun" , "andromeda" ).

    • observer_location : объект EarthLocation .

    • time : datetime (с учетом часового пояса) или Astropy Time .

  • Возвращает : (altitude_degrees, azimuth_degrees) .

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

  • Входные данные :

    • date : datetime с учетом часового пояса.

    • horizon : высота горизонта (по умолчанию: 0°).

  • Возвращает : (rise_time, set_time) как объекты Time UTC.

load_map(map_path) ( src/light_pollution.py )

  • Входные данные :

    • map_path : Путь к файлу GeoTIFF.

  • Возвращает : кортеж (vriis_data, bounds, crs, transform) для анализа светового загрязнения.

Тестирование

Запустите тесты с:

pytest tests/

Ключевые тестовые случаи ( 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_

Структура проекта

. ├── 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

Будущая работа

  • Добавить поддержку комет/астероидов.

  • Оптимизируйте запросы SIMBAD для использования в автономном режиме.

  • Интеграция данных о световом загрязнении в прогнозы видимости.

Ключевые обновления:

  1. Световое загрязнение : добавлен light_pollution.py к функциям и справочнику API.

  2. Зависимости : В инструкции по установке добавлены rasterio и geopy .

  3. Структура проекта : уточнены роли файлов и тестовое покрытие.

Related MCP Servers

  • A
    security
    -
    license
    A
    quality
    Fetches tide information for any location using latitude and longitude, providing detailed tide data including high/low tides and station information with automatic UTC time zone handling.
    Last updated -
    1
    15
    MIT License
    • Apple
  • A
    security
    -
    license
    A
    quality
    Provides altitude-azimuth coordinates for celestial objects including planets, over 117,000 stars, and 14,000 deep sky objects based on system time and configurable location.
    Last updated -
    3
    1
    • Apple
  • A
    security
    -
    license
    A
    quality
    Provides comprehensive time manipulation capabilities including timezone conversions, date arithmetic, business day calculations, duration calculations, and recurring event handling. Enables natural language time queries with high performance and intelligent caching.
    Last updated -
    11
    1
    MIT License
  • A
    security
    -
    license
    A
    quality
    Enables users to perform tarot card readings and generate horoscopes based on specified dates, times, and locations. Provides mystical divination services through tarot draws and astrological calculations.
    Last updated -
    2

View all related MCP servers

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