正確さは、AstroWayでユーザーが静かに検証するものです。実際の天体位置が分解された場合、エラーはすぐに発生します。さらに、正確さは簡単に破壊できるものです。コードのリファクタリングが1回だけあれば、半分のエンドポイントが秒角の誤差で変わります。
これを防ぐ方法はあります。
天体位置を計算するのは、Swiss Ephemerisです。WASMで組み立てられています。重要なのは、ブラウザアプリケーションとAPIサーバーで同じ核を使っていることです。コードベースはcore/で、バックエンドではクロスリポジトリアリセットを使ってインポートしています。バンドルに組み込まれています。ブラウザ版とサーバー版の実装は別のものではなく、同じものです。
外れ値の場合、分析的フォールバックを使用します (Moshier)。少し粗いですが、境界で問題はありません。誠実さを認めます:実際のバージョンを公表していません。実際のバージョンは最新のアップストリームより下のものですが、明らかに偽のバージョンを公表することは嘘です。
冷凍されたスナップショット
Section titled “冷凍されたスナップショット”各計算エンドポイントには、冷凍されたスナップショットがあります。873のJSONフィクスチャがビルド時点で保存されています。ランナーはエンドポイントをエタロンの天体位置と比較し、バイト単位で比較します。5e-5° (0.18″)以上の誤差がある場合、テストは失敗します。
エタロンの天体位置は、中心ではなく、境界で問題になるように選択されています。
- Monroe、Diana、Einstein、Bowie - 歴史的な天体位置データ
- 極域 - 居住地のシステムが歪む
- 赤道 - 居住地のシステムが異なる
- 南極 - 反射のテスト
境界のケースは、見えないレグレスィオンをキャッチします。
三角形の検証
Section titled “三角形の検証”スナップショットは、自分自身のレグレスィオンをキャッチします。絶対的な真実を確認するために、各リリースは独立したソースから検証されます。
| 検証対象 | 検証対象 | 差 |
|---|---|---|
| swetest CGI (Astrodienst) | 天体位置、居住地のシステム | 0.000″ |
| Kerykeion (Python、pyswisseph) | スイスエフェメラリスの独立実装 | < 0.2″ |
| Prokerala (sidereal Lahiri) | 位置のサイドレル | 8-17″, Lahiriの式のシステム差異、ルーシア |
| NASA 5-Millennium Eclipse Catalog | 時間と種類の暗闇 | < 1 分 |
Prokeralaの差は、実装の差です。Lahiriの式のシステム差異です。明らかに認めます。swetestは、業界の標準です。差はゼロです。
天体地理学の線は、個別に検証されています。正確さは、赤道で1.5km未満です。
各PRの検証
Section titled “各PRの検証”正確さは、CIゲートです。単一のテストではありません。
api-accuracy.yml- 各PRでバックエンドコードは、すべてのスナップショットと三角形を実行します。テストはマージをブロックします。check-eclipse-accuracy.yml- 年に1回、NASAの暗闇のカタログを検証します。差が閾値を超えると、問題を自動で作ります。check-sweph-updates.yml- 月に1回、Swiss EphemerisのアップストリームとWASMパッケージをチェックします。新しいバージョンは、問題を自動で作ります。
インテグレータの利点
Section titled “インテグレータの利点”簡単な保証:天体位置は、< 0.1秒角の誤差で、標準のSwiss Ephemerisと同じです。誤差は、CIによって自動で検出されます。READMEの約束ではありません。
これらの数字は、正確さのページに公開されています。
Solar Fireと同じSwiss Ephemeris - 4行のコードで。
無料のキー(カード不要)。最初の支払いまでに月5,000回の呼び出し。