mcp-星空観察
オプションの光害分析を使用して、地球上の任意の場所の天体 (太陽、月、惑星、星、深宇宙の物体) の高度、昇り時刻、沈み時刻を計算します。
特徴
高度/方位計算: 任意の天体の高度とコンパス方向を取得します。
日の出/日の入り時刻: 地平線上に物体が現れる/消える時刻を決定します。
光害分析: 光害マップ (GeoTIFF 形式) を読み込んで分析します。
サポート:
太陽系の天体(太陽、月、惑星)
星(例:「シリウス」)
深宇宙の天体(例:「アンドロメダ」、「オリオン星雲」)
タイムゾーン対応: ローカル時間または UTC 時刻で動作します。
Related MCP server: Celestial Position MCP Server
インストール
使用法
高度/方位角を計算する
上昇/下降時間を計算する
光害マップを読み込む
APIリファレンス
celestial_pos(celestial_object, observer_location, time) ( src/celestial.py )
入力:
celestial_object: 名前 (例:"sun"、"andromeda")。observer_location:EarthLocationオブジェクト。time:datetime(タイムゾーン対応) または AstropyTime。
戻り値:
(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)を UTCTimeオブジェクトとして返します。
load_map(map_path) ( src/light_pollution.py )
入力:
map_path: GeoTIFF ファイルへのパス。
戻り値: 光害分析のためのタプル
(vriis_data, bounds, crs, transform)。
テスト
次のテストを実行します:
主要なテストケース ( tests/test_celestial.py )
プロジェクト構造
今後の仕事
彗星/小惑星のサポートを追加します。
SIMBAD クエリをオフライン使用向けに最適化します。
光害データを視程予測に統合します。
主な更新点:
光害: 機能と API リファレンスに
light_pollution.py追加しました。依存関係: インストール手順に
rasterioとgeopy追加しました。プロジェクト構造: ファイルの役割とテスト範囲を明確化しました。