Rechenkern
Jede Zahl, die diese API liefert, stammt aus Ephemeriden – nicht aus einer Nachschlagetabelle und nicht aus einem Modell. Hier steht, was darunter steckt und wo wir die Grenze ziehen bei dem, was wir nicht berechnen.
Die Ephemeriden
Die Positionen stammen aus den Planetenephemeriden des NASA JPL – demselben Datensatz, mit dem Raumsonden navigiert werden. Das sind 105 MB tabellierte Positionen für die Jahre 500–2999 n. Chr., dazu 735 Fixsterne.
Das ist wichtig, denn die Alternative ist eine Rechnung, die für eine Zeitungskolumne reicht, aber nicht für ein Horoskop. Formeln mit mittlerer Bewegung weichen über Jahrhunderte um ganze Grade ab. Bei einer Geburt im Jahr 1890 oder 2090 fällt das auf, und im Teilhoroskop wird daraus nicht eine leicht abweichende, sondern eine andere Antwort. In D60 schiebt ein halber Grad einen Planeten bereits in den nächsten Abschnitt.
Siderisch – aber welche Variante?
Vedische Astrologie ist siderisch: Positionen werden von einem festen Ausgangspunkt am Himmel gemessen statt vom wandernden Frühlingspunkt. Der Abstand zwischen beiden ist das Ayanamsa, derzeit rund 24°, und auf einen einheitlichen Wert hat man sich nie geeinigt.
Deshalb ist es ein Parameter. 48 Ayanamsas stehen zur Wahl – Lahiri, Raman, Krishnamurti, Fagan-Bradley, Yukteshwar, Suryasiddhanta und weitere. Lahiri ist voreingestellt, weil es der Standard der indischen Regierung ist, nicht weil es das richtige wäre.
{
"date_time": "1990-08-15T10:30:00+05:30",
"latitude": 26.9124,
"longitude": 75.7873,
"timezone_as_float": 5.5,
"ayanamsa": "KRISHNAMURTI"
}Zwei Astrologen, die beim Ayanamsa uneins sind, können beide diese API nutzen und bekommen jeweils das Horoskop, das sie erwarten. Eine API, die eines fest einbaut, hat stillschweigend Partei ergriffen – in einem Streit, der nicht entschieden ist.
Was abgedeckt ist
299 Endpoints, gruppiert nach dem, was sie berechnen:
Geschwindigkeit
Die Serverzeit liegt im Median bei 62 ms, 76 % der Endpoints antworten in unter 100 ms – gemessen über alle veröffentlichten Beispiele in einem lokalen Lauf. Die Ephemeriden sind per Memory-Mapping eingebunden; was ein Horoskop kostet, ist also die Rechenarbeit, nicht der Plattenzugriff.
Ist ein Aufruf langsamer, dann weil wirklich mehr zu tun ist: Eine Transitsuche durchläuft einen ganzen Zeitraum, und ein PDF-Bericht fasst rund fünfundzwanzig Endpoints zu einem Dokument zusammen – abgerechnet als ein einziger Aufruf.
Determinismus
Dieselbe Eingabe liefert immer dieselbe Ausgabe. Im Ablauf gibt es kein Sampling und kein Modell; ein heute berechnetes Horoskop ist also bytegenau dasselbe wie dasselbe Horoskop nächstes Jahr. Deshalb lassen sich die Antworten cachen, und deshalb können 1.783 Testfunktionen exakte Werte prüfen statt Bereiche.
Außerdem lässt sich eine Abweichung so überprüfen. Weichen unser Mond und der Mond deiner Software voneinander ab, ist einer von beiden falsch, und Ayanamsa oder Zeitzone verraten, welcher – statt dass beide „ungefähr stimmen“.
Was wir nicht berechnen
Der Rechenkern kann für fast alles eine Zahl ausspucken. Manche dieser Zahlen würden aber nicht das bedeuten, was ein Leser darin sieht – solche Endpoints gibt es bei uns nicht.
- Ahnenschulden nach Lal Kitab. Die acht Schulden heißen in allen Quellen gleich. Die Bedingungen, die jede einzelne auslösen, aber nicht – schon die veröffentlichten Regeln für Pitra Rin liefern für dasselbe Horoskop unterschiedliche Antworten. Ein Urteil über die Vorfahren eines Menschen, das davon abhängt, welches Buch wir zufällig gelesen haben, veröffentlichen wir nicht.
- Felder, für die wir keine Regel herleiten können. Liefert ein Wettbewerber einen Wert, den wir aus keiner Quelle belegen konnten, fehlt das Feld bei uns, und die Antwort sagt, warum. Eine plausible Vermutung, die der Aufrufer nicht überprüfen könnte, gibt es nicht.
- Alles, was als medizinischer, rechtlicher oder finanzieller Rat daherkommt. Texte zu Abhilfemaßnahmen geben traditionelle Zuschreibungen wieder und sind entsprechend gekennzeichnet.
Wo zwei Schulen wirklich uneins und beide vertretbar sind, sagt die Antwort, welche sie angewendet hat. So lässt sich das Ergebnis überprüfen, statt es einfach hinzunehmen.
Ausprobieren
curl -X POST https://api.occultapi.com/api/astro/planet-positions/ \
-H 'X-API-Key: yt_live_your_key_here' \
-H 'Content-Type: application/json' \
-d '{
"date_time": "1990-08-15T10:30:00+05:30",
"latitude": 26.9124,
"longitude": 75.7873,
"timezone_as_float": 5.5,
"ayanamsa": "LAHIRI"
}'Oder führ es im Playground aus – ganz ohne Code.