Genauigkeit der Berechnungen
Die AstroWay API nutzt Swiss Ephemeris (den offiziellen C-Code von Astrodienst, den Schöpfern von astro.com) – dieselbe Engine, auf der professionelle Astrologen seit über 30 Jahren in Solar Fire ($495), Kepler ($995), Astro Gold ($29.99/Monat) und Janus arbeiten. Wir haben sie in WebAssembly kompiliert und mit einer REST-API-Schicht versehen, ohne Zwischenhändleraufschläge. Jeder der grundlegenden Berechnungsendpunkte wird durch Regression-Snapshot-Tests abgedeckt; die Genauigkeit der Engine wurde durch Triangulation mit drei unabhängigen Quellen verifiziert + gegen den NASA 5-Millennium Eclipse Catalog:
- Planetenpositionen:
< 0.1 Bogensekundenvs der offiziellen swetest CGI von Astrodienst - Häuserkanten Placidus:
0.000"exakter Treffer - Finsternisse:
< 1 Minutevs NASA Eclipse Catalog - Astrogeographische Linien:
< 1.5 kmam Äquator vs swetest - Sonnenauf-/-untergang:
< 10 Sekundenvs timeanddate.com - Mond VOC, Eintritte, Planetenkonjunktionen: Genauigkeit bis auf Bruchteile einer Sekunde
Die Engine
Abschnitt betitelt „Die Engine“| Komponente | Wert |
|---|---|
| Bibliothek | Swiss Ephemeris C Code (aloistr/swisseph) |
| Version | Upstream Astrodienst C Code |
| Bindings | swisseph-wasm (WebAssembly in Node.js) |
| Ephemeriden | DE431 JPL Ephemeriden (über .se1-Dateien) |
| Fallback | Moshier-Analytik (für Daten außerhalb 1800–2399) |
| Code-Sharing | Shared @/core mit app.astroway.info – eine Engine, zwei Transportwege |
Methodik
Abschnitt betitelt „Methodik“Die Genauigkeit wird durch Triangulation überprüft – ein Vergleich mit drei unabhängigen Quellen:
1. swetest CGI (Referenz)
Abschnitt betitelt „1. swetest CGI (Referenz)“Die offizielle Referenz-Implementierung von Swiss Ephemeris direkt von Astrodienst – der Code, der Astro.com erschaffen hat und Millionen von Astrologen weltweit bedient. Die maßgebliche öffentliche Quelle. Unsere Engine ist identisch (0.00–0.07 Bogensekunden Drift).
2. Kerykeion (Python)
Abschnitt betitelt „2. Kerykeion (Python)“Eine unabhängige Python-Bibliothek, die pyswisseph-Bindings statt unserer WASM-Schicht nutzt. Bestätigt, dass unsere WASM-Schicht die Daten nicht verfälscht.
3. Prokerala API
Abschnitt betitelt „3. Prokerala API“Eine entfernte Swiss-Ephemeris-API (sidereal Lahiri). Ein systematischer Drift von 8–17 Bogensekunden hängt mit unterschiedlichen Versionen der Lahiri-Ayanamsa-Formel zusammen und nicht mit der Genauigkeit der Engine.
Triangulationsergebnisse
Abschnitt betitelt „Triangulationsergebnisse“| Karte | vs swetest (Astrodienst) | vs Kerykeion (Python) | vs Prokerala API |
|---|---|---|---|
| Monroe 1926 | 0.00” | 0.19” | 16.95” (systematisch) |
| Diana 1961 | 0.00” | 0.69” | 8.18” (systematisch) |
| Einstein 1879 | 0.07” | LMT-Artefakt Kerykeion | 14.96” (systematisch) |
Regression-Suite auf Endpunktebene
Abschnitt betitelt „Regression-Suite auf Endpunktebene“Jeder der grundlegenden Berechnungsendpunkte wird durch eingefrorene Snapshot-Tests an 3 Referenzkarten (Monroe / Diana / Einstein) abgedeckt = 818 Snapshots.
Die Snapshot-Suite erkennt:
- Mapping-Fehler der Eingabedaten – falsche Planeten-ID, UT, Häusersystem
- Nachbearbeitung – Rundung, Einheitenumrechnung, Vorzeichenverlust
- Abweichungen der Standardwerte – mittlerer vs wahrer Mondknoten, geozentrisch vs topografisch
- Schema-Drift – Validierung ließ eine falsche Form durch
- Veraltete Bereitstellung – die Produktionsdistribution entspricht nicht dem Code
Toleranz: 5e-5° (≈0.18 Bogensekunden) standardmäßig für alle numerischen Felder.
Detaillierte Benchmarks
Abschnitt betitelt „Detaillierte Benchmarks“Planetenpositionen (tropisch, vs swetest)
Abschnitt betitelt „Planetenpositionen (tropisch, vs swetest)“| Karte | Datum | Maximaler Drift |
|---|---|---|
| Marilyn Monroe | 1926-06-01 | 0.00” |
| Prinzessin Diana | 1961-07-01 | 0.00” |
| Albert Einstein | 1879-03-14 | 0.07” |
Häuserskanten Placidus (vs swetest)
Abschnitt betitelt „Häuserskanten Placidus (vs swetest)“| Karte | Drift ASC | Drift MC | Maximaler Drift der Häuserkante |
|---|---|---|---|
| Monroe | 0.000” | 0.000” | 0.000” |
| Diana | 0.000” | 0.000” | 0.000” |
Finsternisse (vs NASA 5-Millennium Catalog)
Abschnitt betitelt „Finsternisse (vs NASA 5-Millennium Catalog)“| Ereignis | NASA-Maximum | Unser Maximum | Drift |
|---|---|---|---|
| 2025-03-14 Totale Mondfinsternis | 06:58 UT | 06:58 UT | 0.8 Min. |
| 2025-03-29 Partielle Sonnenfinsternis | 10:47 UT | 10:47 UT | 0.5 Min. |
| 2025-09-07 Totale Mondfinsternis | 18:11 UT | 18:11 UT | 0.8 Min. |
| 2025-09-21 Partielle Sonnenfinsternis | 19:41 UT | 19:42 UT | 1.0 Min. |
Astrogeografie (vs RA-Formel von swetest)
Abschnitt betitelt „Astrogeografie (vs RA-Formel von swetest)“Alle Linien MC/IC/ASC/DSC nutzen die korrekte Formel longitude = RA − GMST (Standard nach Kenneth Bowser). Drift zum Referenzwert: < 1.5 km am Äquator für alle Planeten.
Sonnenauf-/-untergang (vs timeanddate.com)
Abschnitt betitelt „Sonnenauf-/-untergang (vs timeanddate.com)“| Standort | Datum | Parameter | Drift |
|---|---|---|---|
| London | 2026-04-15 | Sonnenaufgang | 0.6 s |
| London | 2026-04-15 | Sonnenuntergang | 9 s |
Polare Standorte (|Breite| > 66.5°) liefern automatisch polarState + eine Warnung, dass gewöhnliche Planetenstunden nicht definiert sind.
Aspektorbis
Abschnitt betitelt „Aspektorbis“AstroWay nutzt variable Orbis pro Planet (MIN-Regel zweier Planeten), wie bei ZET9 und astro.com. Standard-Orbis (für Geburtskarten):
| Aspekt | Sonne | Mond | Innere | Jupiter | Äußere |
|---|---|---|---|---|---|
| Konjunktion | 12° | 10° | 5° | 8° | 5° |
| Sextil | 6.5° | 6° | 5° | 5° | 5° |
| Quadrat | 10° | 8° | 5° | 7° | 5° |
| Trigon | 12° | 8° | 5° | 5° | 5° |
| Opposition | 12° | 10° | 5° | 8° | 5° |
Minor-Aspekte (36°, 40°, 45°, 72°, 108°, 135°, 144°) sind standardmäßig deaktiviert. Sie werden explizit über ALL_ASPECTS aktiviert.
Polare Breiten
Abschnitt betitelt „Polare Breiten“Für |Breite| > 66.5° sind die Systeme Placidus / Koch / Regiomontanus mathematisch undefiniert. In solchen Fällen liefert Swiss Ephemeris automatisch Porphyrius, und unsere API fügt eine Warnung hinzu:
{ "system": "P", "warning": "Das Placidus-System ist für Breite=68.96° (> 66.5°) undefiniert. Swiss Ephemeris hat Porphyrius verwendet..."}Kontinuierliche Überprüfung
Abschnitt betitelt „Kontinuierliche Überprüfung“Regression wird bei jedem PR durch CI überprüft:
api-calc/tests/endpoints/– 818 Snapshots gegen Referenzkarten (Monroe / Diana / Einstein) + Synastrie / Composite / Davison.github/workflows/api-accuracy.yml– automatischer Start bei PR- Triangulation gegen swetest CGI + Kerykeion – wöchentlich
- Überwachung von upstream Swiss Ephemeris über Dependabot
Bekannte Einschränkungen
Abschnitt betitelt „Bekannte Einschränkungen“- Daten außerhalb des Bereichs (vor 1800 und nach 2399): Es wird die Moshier-Analytik genutzt, Genauigkeit ~0.1” (vs < 0.01” für SWIEPH mit DE431-Dateien)
- Wahre Lilith (id=13) vs mittlere Lilith (id=12): Unterschied bis zu 12° – standardmäßig wird mittlere Lilith genutzt (stabile Berechnung), wahre Lilith ist über
planetIds: [13]verfügbar - Topografisch vs geozentrisch: Standardmäßig geozentrisch
- Swiss Ephemeris: https://www.astro.com/swisseph/
- swetest CGI: https://www.astro.com/swisseph/swetest.htm
- NASA-Eclipsenkatalog: https://eclipse.gsfc.nasa.gov/
- Kerykeion: https://github.com/g-battaglia/kerykeion
- Astrodienst: https://www.astro.com/
Kontakt
Abschnitt betitelt „Kontakt“Bei Fragen zur Genauigkeit: Schreib uns an support@astroway.info mit den Kartendaten und der erwarteten Referenz (astro.com oder eine andere maßgebliche Quelle).