コンテンツにスキップ
AstroWay/api v2.254.12 · ja
すべてのシステムが正常です

計算精度

AstroWay APIは、Swiss Ephemeris (astro.comの作成者であるAstrodienstの公式Cコード) を使用しています。これは、プロの占星術師が30年以上にわたりSolar Fire ($495)、Kepler ($995)、Astro Gold ($29.99/月)、Janusで使用しているのと同じエンジンです。当社はこれを自社サーバーで実行し、REST APIレイヤーとして提供しており、中間マージンはありません。各基本計算エンドポイントは回帰スナップショットテストでカバーされており、エンジンの精度は3つの独立した情報源とのトライアンギュレーションとNASA 5千年食カタログとの比較によって検証されています。

  • 惑星の位置: 中央値 0.0013", 最大値 0.561" (Astrodienst公式swetest CGIとの比較、2026年7月29日に130回の測定で計測)。各天体の内訳は下記
  • 外部ベンチマークによる独立した実行 (RoxyAPI、NASA JPL Horizons DE441との比較): 210中210が許容範囲内、中央値 0.11", 最大値 0.60"
  • プラシダスハウスカスプ: 0.000" 完全一致
  • 食: NASA食カタログとの比較で < 1分
  • ACGライン: swetestとの比較で赤道上で < 1.5 km
  • 日の出/日の入り: timeanddate.comとの比較で < 10秒
  • 月のボイド・オブ・コース、イングレス、惑星の合: 1秒未満の精度

これらの数値は推定ではなく、実行結果です。スクリプトは1900年から2050年までの期間に分散させた10のチャートを取り、Astrodienstのライブswetest CGIに同じ時点をリクエストし、当社が提供する13の天体すべてを比較します。合計130回の測定。

天体最大ドリフト
太陽、金星、土星0.001"
水星0.002"
真ノード0.004"
火星0.007"
木星0.009"
月0.022"
天王星0.083"
冥王星0.097"
海王星0.223"
キロン0.561"
平均遠地点 (リリス)0.000"

全130回の測定における中央値: 0.0013"。

以前、このページには「< 0.1秒角」という一般的な約束が記載されていました。2026年7月29日の測定により、海王星、冥王星、キロンがそれを維持していないことが示されたため、約束は実際の数値に置き換えられました。キロンと外惑星は、当社のビルドが使用する圧縮されたエフェメリスセットから位置が取得されるため、より大きなドリフトを示します。

自分で再現できます: api-calc/scripts/accuracy-vs-swetest.mjsは、まさにこれらのリクエストを行い、同じテーブルを出力します。

自分で確認してください。 上記の数値が測定されたスクリプトは、MITライセンスの下で公開リポジトリにあります: astroway/astrology-accuracy-benchmark。これは当社だけでなく、他のAPIでも動作します。他のAPIへのアダプターは30行なので、同じ130回の測定を競合他社に対して実行し、比較することができます。サンドボックスキーで十分です。

コンポーネント値
ライブラリSwiss Ephemeris C code (aloistr/swisseph)
バージョンAstrodienst Cコードのアップストリーム
エフェメリスDE431 JPLエフェメリス (.se1ファイル経由)
フォールバックMoshier解析 (1800-2399年以外の日付用)
コード共有app.astroway.infoとの@/core共有 - 1つのエンジン、2つのトランスポート

精度はトライアンギュレーション、つまり3つの独立した情報源との比較によって検証されます。

Astrodienst自身によるSwiss Ephemerisの公式リファレンス実装。Astro.comを開発し、世界中の何百万人もの占星術師にサービスを提供しているチームです。最も信頼できる公開情報源。当社のエンジンは同一です (0.00~0.07秒角のドリフト)。

独立したPythonライブラリは、当社のビルドとは独立したpyswissephバインディングを使用しています。当社のラッパー層がデータを歪めていないことを確認します。

リモートのSwiss Ephemeris API (恒星ラヒリ)。8~17秒角の体系的なドリフトは、ラヒリ・アヤナムサの異なるバージョンに関連しており、エンジンの精度とは関係ありません。

トライアンギュレーションの結果

Section titled “トライアンギュレーションの結果”
チャートswetest (Astrodienst)との比較Kerykeion (Python)との比較Prokerala APIとの比較
Monroe 19260.00”0.19”16.95” (体系的)
Diana 19610.00”0.69”8.18” (体系的)
Einstein 18790.07”KerykeionのLMTアーティファクト14.96” (体系的)

外部ツールによる独立した検証

Section titled “外部ツールによる独立した検証”

RoxyAPIは、NASA JPL Horizons DE441に対する独自のベンチマークを公開しています。MITライセンス、標準ライブラリのみ、21のチャートと210の位置、そして他のAPIをターゲットにするための--base-urlフラグ。彼らのREADMEには、競合他社をテストするベンチマークは公正でなければならないため、許容範囲は意図的に彼ら自身のエンジンに合わせて調整されていないと明記されています。

当社は、彼らのコードの数値を一切変更せずに、それを当社自身にターゲット設定しました。アダプターは1つのリクエストフィールドの名前を変更し、1つのレスポンスラッパーを削除します。

AstroWayRoxyAPI、彼らの2026年9月29日の実行
許容範囲内210中210210中210
偏差の中央値0.11"0.05"
最大値0.60"0.78"

当社の2026年9月9日の測定、APIへの21リクエストのコスト。RoxyAPIは9月にDE440の直接読み取りに移行し、現在彼らの中央値は当社よりも低くなっています。当社の最大値は彼らよりも低いです。全210行の順次出力: CSV。

エンドポイントレベルでの回帰テストスイート

Section titled “エンドポイントレベルでの回帰テストスイート”

各基本計算エンドポイントは、3つの参照チャート (モンロー / ダイアナ / アインシュタイン) に対するフリーズされたスナップショットテストでカバーされています = 873 スナップショット。

スナップショットスイートが検出するもの:

  • 入力データマッピングのバグ: 誤った惑星ID、UT、ハウスシステム
  • 後処理: 丸め、単位変換、符号の欠落
  • デフォルトの不一致: 平均ノード vs 真ノード、地心 vs 地表
  • スキーマドリフト: 検証が誤った形式を見逃した
  • 古いデプロイ: prod distがコードと一致しない

許容誤差: すべての数値フィールドのデフォルトは5e-5° (約0.18秒角)。

惑星の位置 (トロピカル、swetestとの比較)

Section titled “惑星の位置 (トロピカル、swetestとの比較)”
チャート日付最大ドリフト
Marilyn Monroe1926-06-010.00”
Princess Diana1961-07-010.00”
Albert Einstein1879-03-140.07”

プラシダスハウスカスプ (swetestとの比較)

Section titled “プラシダスハウスカスプ (swetestとの比較)”
チャートASCドリフトMCドリフトカスプの最大ドリフト
Monroe0.000”0.000”0.000”
Diana0.000”0.000”0.000”

食 (NASA 5千年カタログとの比較)

Section titled “食 (NASA 5千年カタログとの比較)”
イベントNASA最大値当社最大値ドリフト
2025-03-14 皆既月食06:58 UT06:58 UT0.8 分
2025-03-29 部分日食10:47 UT10:47 UT0.5 分
2025-09-07 皆既月食18:11 UT18:11 UT0.8 分
2025-09-21 部分日食19:41 UT19:42 UT1.0 分

アストロカーグラフィー (swetestのRA式との比較)

Section titled “アストロカーグラフィー (swetestのRA式との比較)”

MCおよびICラインは、longitude = RA − GMST (Kenneth Bowser標準) の式に基づいて構築されます。基準からのドリフト: すべての惑星で赤道上で**< 1.5 km**。

ASCおよびDSCの地平線ラインは、同じ赤道座標における地平線の方程式cos H = -tan φ · tan δから計算されます。ここでH = (GMST + lng) − RA。半分は時角の符号によって異なります: H < 0の場合、天体は子午線の東にあり、つまり上昇しています。各実行で当社が実行する検証: 各地平線曲線の各点が取られ、その中の地平線上の天体の高さが計算されます。8419点において最大偏差は0.0 kmであり、つまり天体は当社が線を引いたすべての場所で実際に地平線上にあります。

日の出 / 日の入り (timeanddate.comとの比較)

Section titled “日の出 / 日の入り (timeanddate.comとの比較)”
場所日付パラメータドリフト
London2026-04-15Sunrise0.6 秒
London2026-04-15Sunset9 秒

極地 (|lat| > 66.5°) は自動的にpolarStateと、通常のプラネタリーアワーが定義されていないという警告を返します。

AstroWayは、ZET9やastro.comと同様に、惑星ごとに可変オーブ (2つの惑星の最小値ルール) を使用します。デフォルトのオーブ (出生図用):

アスペクト太陽月内惑星木星外惑星
合12°10°5°8°5°
セクスタイル6.5°6°5°5°5°
スクエア10°8°5°7°5°
トライン12°8°5°5°5°
オポジション12°10°5°8°5°

マイナーアスペクト (36°、40°、45°、72°、108°、135°、144°) はデフォルトで無効です。ALL_ASPECTSを介して明示的に有効になります。

|lat| > 66.5°の場合、プラシダス / コッホ / レギオモンタヌスシステムは数学的に定義されていません。そのような場合、Swiss Ephemerisは自動的にポルフィリーを返し、当社のAPIは警告を追加します。

{
"system": "P",
"warning": "Placidus system is undefined for lat=68.96° (> 66.5°). Swiss Ephemeris fell back to Porphyry..."
}

回帰はCIを介してすべてのPRで検証されます。

  • api-calc/tests/endpoints/: 参照チャート (モンロー / ダイアナ / アインシュタイン) + シナストリー / コンポジット / デイヴィソンに対する873 スナップショット
  • .github/workflows/api-accuracy.yml: PRでの自動実行
  • swetest CGI + Kerykeionに対するトライアンギュレーション: 毎週
  • Dependabotを介したアップストリームSwiss Ephemerisの監視

エンジンの精度は信頼の半分です。もう半分は、エージェント (Claude、ChatGPT、Cursor) が検証できる出力契約です。当社のMCPサーバーは「生テキスト、自分で解決してください」を返しません。

  • 型付きstructuredContent。 600以上のMCPツールがあり、その大部分は厳格なoutputSchemaを公開しています。MCPクライアントは、ランダムにパースする必要がある文字列ではなく、検証済みの構造を受け取ります。
  • スキーマドリフトからの保護。 CIテストopenapi-example-driftは、各回帰スナップショットをその例から導出されたスキーマに対して検証します。エンドポイントの実際の出力が公開されたスキーマと異なる場合、ビルドは失敗します。この種の不一致が、MCPエラー-32602 Output validation errorを引き起こします。
  • エラー: それはエラーです。 ツールの失敗は常にisErrorフラグと型付きコード (UPPER_SNAKE) とともに返されます。当社はモデルに生のスタックトレースや内部サーバーパスを「データ」として決して提供しません。

つまり、MCPを介した統合は、直接のREST呼び出しと同様に予測可能です。/openapi.jsonに記述されているものが、ツールが返すものです。

  • 範囲外の日付 (1800年より前、2399年より後): Moshier解析が使用され、精度は約0.1秒角です (DE431ファイルを使用するSWIEPHでは0.01秒角未満)。
  • 真のリリス (id=13) vs 平均リリス (id=12): 最大12°の差 - デフォルトでは平均リリス (安定した挙動)、真のリリスはplanetIds: [13]を介して利用可能です。
  • 地表 vs 地心: デフォルトは地心です。

精度に関する質問は、チャートデータと期待される基準 (astro.comまたはその他の信頼できる情報源) を添えてsupport@astroway.infoまでご連絡ください。

参考になりましたか?
編集を提案

最終更新日: