Zum Inhalt springen
AstroWay/api v2.254.12 · de
alle Systeme in Ordnung

Genauigkeit der Berechnungen

Die AstroWay API verwendet Swiss Ephemeris (offizieller C-Code von Astrodienst, den Machern von astro.com) – dieselbe Engine, mit der professionelle Astrologen seit über 30 Jahren in Solar Fire ($495), Kepler ($995), Astro Gold ($29.99/Monat) und Janus arbeiten. Wir betreiben sie auf unseren eigenen Servern und stellen sie als REST API-Schicht bereit, ohne Zwischenhändler-Aufschlag. Jeder der grundlegenden Berechnungs-Endpoints ist durch Regression- Snapshot-Tests abgedeckt; die Genauigkeit der Engine wurde durch Triangulation mit drei unabhängigen Quellen + gegen den NASA 5-Millennium Eclipse Catalog verifiziert:

  • Planetenpositionen: Median 0.0013", Maximum 0.561" vs. offiziellem swetest CGI Astrodienst (gemessen am 29.07.2026 bei 130 Messungen). Aufschlüsselung nach Körpern unten
  • Unabhängiger Lauf mit fremdem Benchmark (RoxyAPI, gegen NASA JPL Horizons DE441): 210 von 210 innerhalb der Toleranz, Median 0.11", Maximum 0.60"
  • Placidus-Hausspitzen: 0.000" exakte Übereinstimmung
  • Finsternisse: < 1 Minute vs. NASA Eclipse Catalog
  • ACG-Linien: < 1.5 km am Äquator vs. swetest
  • Sonnenauf-/untergang: < 10 Sekunden vs. timeanddate.com
  • Mond VOC, Ingresses, Planetenkonjunktionen: Genauigkeit bis auf Bruchteile einer Sekunde

Diese Zahlen sind keine Schätzung, sondern das Ergebnis eines Laufs. Das Skript nimmt 10 Horoskope, verteilt von 1900 bis 2050, fragt dieselben Momente beim Live-swetest CGI Astrodienst an und vergleicht alle 13 Körper, die wir zurückgeben. Insgesamt 130 Messungen.

KörperMaximaler Drift
Sonne, Venus, Saturn0.001"
Merkur0.002"
true Node0.004"
Mars0.007"
Jupiter0.009"
Mond0.022"
Uranus0.083"
Pluto0.097"
Neptun0.223"
Chiron0.561"
mean Apogee (Lilith)0.000"

Median über alle 130 Messungen: 0.0013".

Zuvor stand auf dieser Seite das allgemeine Versprechen ”< 0.1 Bogensekunde”. Messungen vom 29.07.2026 zeigten, dass Neptun, Pluto und Chiron dies nicht einhalten, daher wurde das Versprechen durch die tatsächlichen Zahlen ersetzt. Chiron und die äußeren Planeten haben einen größeren Drift, da ihre Positionen aus einem komprimierten Ephemeriden-Set stammen, das unser Build verwendet.

Du kannst dies selbst reproduzieren: api-calc/scripts/accuracy-vs-swetest.mjs führt genau diese Anfragen aus und druckt dieselbe Tabelle.

Überprüfe es selbst. Das Skript, mit dem die obigen Zahlen gemessen wurden, befindet sich in einem öffentlichen Repository unter MIT-Lizenz: astroway/astrology-accuracy-benchmark. Es funktioniert nicht nur mit uns: Ein Adapter zu jeder anderen API sind dreißig Zeilen Code, sodass dieselben 130 Messungen gegen einen Konkurrenten ausgeführt und verglichen werden können. Ein Sandbox-Schlüssel ist ausreichend.

KomponenteWert
BibliothekSwiss Ephemeris C code (aloistr/swisseph)
Versionupstream Astrodienst C code
EphemeridenDE431 JPL ephemeris (über .se1 Dateien)
FallbackMoshier analytical (für Daten außerhalb 1800-2399)
Code-SharingShared @/core mit app.astroway.info - eine Engine, zwei Transporte

Die Genauigkeit wird durch Triangulation überprüft – den Vergleich mit drei unabhängigen Quellen:

Die offizielle Referenzimplementierung von Swiss Ephemeris von Astrodienst selbst – dem Team, das Astro.com erstellt hat und Millionen von Astrologen weltweit betreut. Die maßgeblichste öffentliche Quelle. Unsere Engine ist identisch (0.00–0.07 Bogensekunden Drift).

Eine unabhängige Python-Bibliothek verwendet pyswisseph-Bindings, die unabhängig von unserem Build sind. Bestätigt, dass unsere Wrapper-Schicht die Daten nicht verzerrt.

Eine entfernte Swiss Ephemeris API (sidereal Lahiri). Der systemische Drift von 8–17 Bogensekunden ist auf unterschiedliche Versionen der Lahiri-Ayanamsa-Formel zurückzuführen und nicht auf die Genauigkeit der Engine.

Horoskopgegen swetest (Astrodienst)gegen Kerykeion (Python)gegen Prokerala API
Monroe 19260.00”0.19”16.95” (systemisch)
Diana 19610.00”0.69”8.18” (systemisch)
Einstein 18790.07”LMT-Artefakt Kerykeion14.96” (systemisch)

RoxyAPI veröffentlicht einen eigenen Benchmark gegen NASA JPL Horizons DE441: MIT-Lizenz, nur Standardbibliothek, 21 Horoskope und 210 Positionen, und ein --base-url-Flag, um es auf jede andere API auszurichten. In ihrem README wird ausdrücklich erwähnt, dass die Toleranzen absichtlich nicht an ihre eigene Engine angepasst wurden, da ein Benchmark, der einen Konkurrenten überprüfen soll, fair sein muss.

Wir haben es auf uns selbst ausgerichtet, ohne eine einzige Zahl in ihrem Code zu ändern. Der Adapter benennt ein Anforderungsfeld um und entfernt einen Antwort-Wrapper.

AstroWayRoxyAPI, deren Lauf 29.09.2026
Innerhalb der Toleranz210 von 210210 von 210
Median der Abweichung0.11"0.05"
Maximum0.60"0.78"

Unsere Messung vom 09.09.2026, Kosten 21 API-Anfragen. RoxyAPI ist im September auf direktes Lesen von DE440 umgestiegen, und ihr Median ist jetzt niedriger als unserer; unser Maximum ist niedriger als ihres. Geordnete Ausgabe aller 210 Zeilen: CSV.

Jeder der grundlegenden Berechnungs-Endpoints ist durch eingefrorene Snapshot-Tests für 3 Referenzhoroskope (Monroe / Diana / Einstein) abgedeckt = 873 Snapshots.

Die Snapshot-Suite fängt:

  • Fehler beim Input-Mapping: falsche Planeten-ID, UT, Haussystem
  • Nachbearbeitung: Rundung, Einheitenkonvertierung, Vorzeichenverlust
  • Standardabweichung: mittlerer vs. wahrer Knoten, geozentrisch vs. topozentrisch
  • Schema-Drift: Validierung hat eine falsche Form übersehen
  • Veralteter Deploy: Prod-Dist stimmt nicht mit dem Code überein

Toleranz: 5e-5° (≈0.18 Bogensekunden) standardmäßig für alle numerischen Felder.

HoroskopDatumMaximaler Drift
Marilyn Monroe1926-06-010.00”
Princess Diana1961-07-010.00”
Albert Einstein1879-03-140.07”
HoroskopDrift ASCDrift MCMaximaler Drift Hausspitze
Monroe0.000”0.000”0.000”
Diana0.000”0.000”0.000”
EreignisNASA MaximumUnser MaximumDrift
2025-03-14 Lunar Total06:58 UT06:58 UT0.8 Min
2025-03-29 Solar Partial10:47 UT10:47 UT0.5 Min
2025-09-07 Lunar Total18:11 UT18:11 UT0.8 Min
2025-09-21 Solar Partial19:41 UT19:42 UT1.0 Min

MC- und IC-Linien werden nach der Formel longitude = RA − GMST (Standard Kenneth Bowser) konstruiert. Drift vom Referenzwert: < 1.5 km am Äquator für alle Planeten.

Horizontale Linien ASC und DSC werden aus der Horizontgleichung in denselben äquatorialen Koordinaten berechnet: cos H = -tan φ · tan δ, wobei H = (GMST + lng) − RA. Die Hälften unterscheiden sich durch das Vorzeichen des Stundenwinkels: Bei H < 0 ist der Körper östlich des Meridians, d.h. er geht auf. Eine Überprüfung, die wir bei jedem Lauf durchführen: Jeder Punkt jeder horizontalen Kurve wird genommen und die Höhe des Körpers über dem Horizont an diesem Punkt berechnet. Bei 8419 Punkten beträgt die maximale Abweichung 0.0 km, d.h. der Körper steht tatsächlich überall dort am Horizont, wo wir die Linie gezogen haben.

OrtDatumParameterDrift
London2026-04-15Sunrise0.6 s
London2026-04-15Sunset9 s

Polare Orte (|lat| > 66.5°) geben automatisch polarState + eine Warnung zurück, dass die normalen Planetenstunden nicht definiert sind.

AstroWay verwendet variable Orbien pro Planet (MIN-Regel der beiden Planeten), wie in ZET9 und astro.com. Standard-Orbien (für das Geburtshoroskop):

AspektSonneMondInnerJupiterOuter
Konjunktion12°10°5°8°5°
Sextil6.5°6°5°5°5°
Quadrat10°8°5°7°5°
Trigon12°8°5°5°5°
Opposition12°10°5°8°5°

Minor-Aspekte (36°, 40°, 45°, 72°, 108°, 135°, 144°) sind standardmäßig deaktiviert. Sie werden explizit über ALL_ASPECTS aktiviert.

Für |lat| > 66.5° sind die Systeme Placidus / Koch / Regiomontanus mathematisch nicht definiert. In solchen Fällen gibt Swiss Ephemeris automatisch Porphyry zurück, und unsere API fügt eine Warnung hinzu:

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

Regression wird bei jedem PR über CI überprüft:

  • api-calc/tests/endpoints/: 873 Snapshots gegen Referenzhoroskope (Monroe / Diana / Einstein) + Synastrie / Komposit / Davison
  • .github/workflows/api-accuracy.yml: automatischer Start bei PR
  • Triangulation gegen swetest CGI + Kerykeion: wöchentlich
  • Überwachung von Upstream Swiss Ephemeris über Dependabot

Die Genauigkeit der Engine ist die Hälfte des Vertrauens. Die andere Hälfte ist der Ausgabevertrag, den ein Agent (Claude, ChatGPT, Cursor) validieren kann. Unser MCP-Server gibt nicht “rohen Text, finde es selbst heraus” zurück:

  • Typisierter structuredContent. Über 600 MCP-Tools, und die überwiegende Mehrheit davon veröffentlicht ein striktes outputSchema – der MCP-Client erhält eine validierte Struktur, nicht eine Zeichenkette, die zufällig geparst werden muss.
  • Schutz vor Schema-Drift. Der CI-Test openapi-example-drift validiert jeden Regression-Snapshot gegen das aus seinem eigenen Beispiel abgeleitete Schema: Wenn die tatsächliche Ausgabe des Endpunkts vom veröffentlichten Schema abweicht, schlägt der Build fehl. Genau diese Art von Abweichungen verursacht den MCP-Fehler -32602 Output validation error.
  • Fehler: Das sind Fehler. Ein Tool-Fehler wird immer mit dem Flag isError und einem typisierten Code (UPPER_SNAKE) zurückgegeben. Wir geben niemals einen rohen Stack Trace oder interne Serverpfade als “Daten” an das Modell zurück.

Das bedeutet, dass die Integration über MCP genauso vorhersehbar ist wie ein direkter REST-Aufruf: Was in /openapi.json beschrieben ist, ist das, was das Tool zurückgibt.

  • Daten außerhalb des Bereichs (vor 1800 und nach 2399): Es wird Moshier analytical verwendet, Genauigkeit ~0.1” (gegenüber < 0.01” für SWIEPH mit DE431-Dateien)
  • True Lilith (id=13) vs. Mean Lilith (id=12): Unterschied bis zu 12° – standardmäßig Mean Lilith (stabiles Verhalten), True Lilith ist über planetIds: [13] verfügbar
  • Topozentrisch vs. geozentrisch: standardmäßig geozentrisch

Bei Fragen zur Genauigkeit: Schreibe an support@astroway.info mit den Horoskopdaten und der erwarteten Referenz (astro.com oder eine andere maßgebliche Quelle).

Hilfreich?
Änderung vorschlagen

Zuletzt aktualisiert: