Astrologische Berechnungen

AstroOL
Interface ICalculator

Alle bekannten Implementierungsklassen:
Calculator, NativeCalculator, LowPrecCalculator

public interface ICalculator

Durchführung astrologischer Berechnungen. Dieses Interface legt die Schnittstellen gängiger astrologischer Rechenaufgaben fest. Der Object Layer enthält derzeit drei Implementierungen dieses Interfaces, von denen zwei auf der Swiss Ephemeris basieren und die dritte eine niedriggenaue Ephemeride für den Offlinegebrauch darstellt.


Methoden-Überblick
 double getHouse(double jd_ut, double lon, double lat, double houseNumber, java.lang.StringBuffer serr)
          Berechnung einer einzelnen Häserspitze.
 double[] getPlanet(double jd_ut, int planet, java.lang.StringBuffer serr)
          Berechnung des geozentrischen Ortes und der Geschwindigkeit eines einzelnen Planeten zur wahren Ekliptik des Datums.
 boolean getPlanetsAndHouses(double jd_ut, double lon, double lat, double[] pl, double[] h)
          Berechnung der Planeten und Häuser.
 java.lang.String getServletURL()
          Abfrage der URL, unter welcher die Planetenberechnung abrufbar ist
 void setServletURL(java.lang.String servletURL)
          Angabe der URL eines Web-Service, der Horoskopberechnungen ausführen kann.
 

Methoden-Details

getHouse

public double getHouse(double jd_ut,
                       double lon,
                       double lat,
                       double houseNumber,
                       java.lang.StringBuffer serr)
Berechnung einer einzelnen Häserspitze.
Parameter:
jd_ut - julianisches Datum in Weltzeit (nicht Ephemeridenzeit)
lon - geographische Länge des Ortes (für Hausberechnungen)
lat - geographische (nicht geozentrische) Breite des Ortes (für Hausberechnungen)
die - zu berechnende Häuserspitze. Das Interface schreibt nur vor, daß die ganzzahligen Werte 1 bis 12 den Spitzen der Häser 1 bis 12 entsprechen. Die implementierenden Klassen Calculator und LowPrecCalculator interpretieren Zwischenwerte als mundane Position.

getPlanet

public double[] getPlanet(double jd_ut,
                          int planet,
                          java.lang.StringBuffer serr)
Berechnung des geozentrischen Ortes und der Geschwindigkeit eines einzelnen Planeten zur wahren Ekliptik des Datums.
Parameter:
jd_ut - julianisches Datum in Weltzeit (nicht Ephemeridenzeit)
planet - Nummer des Planeten. Es gilt die Reihenfolge SO, MO, ME, VE, MA, JU, SA, UR, NE und PL, wobei SO die Nummer Null hat.
serr - Fehler- oder Warnmeldung im Klartext. Kann auch mehrere Meldungen, getrennt durch Zeilenvorschübe, enthalten.

getPlanetsAndHouses

public boolean getPlanetsAndHouses(double jd_ut,
                                   double lon,
                                   double lat,
                                   double[] pl,
                                   double[] h)
Berechnung der Planeten und Häuser. Eine Sammelmethode für den schnellen Zugriff auf die üblichsten astrologischen Daten: Die ekliptikalen Planeten- und Hauspositionen.
Parameter:
jd_ut - julianisches Datum in Weltzeit (nicht Ephemeridenzeit)
lon - geographische Länge des Ortes (für Hausberechnungen)
lat - geographische (nicht geozentrische) Breite des Ortes (für Hausberechnungen)
pl - die Referenz auf ein Array von doppeltgenauen Gleitkommazahlen mit mindestens zehn Elementen; die ersten zehn Elemente werden mit den geozentrischen ekliptikalen Planetenpositionen in der Reihenfolge SO, MO, ME, VE, MA, JU, SA, UR, NE und PL gefüllt.
h - die Referenz auf ein Array von doppeltgenauen Gleitkommazahlen mit mindestens dreizehn Elementen. Das erste Element (mit Index 0) bleibt leer. Das Element h[i] wird für i = 1 bis 12 mit dem Wert der i. Hausspitze gefüllt. Die Wahl oder gar Wählbarkeit des Häsersystems ist im Interface nicht festgelegt und stellt somit ein Implementierungsdetail dar.

getServletURL

public java.lang.String getServletURL()
Abfrage der URL, unter welcher die Planetenberechnung abrufbar ist

setServletURL

public void setServletURL(java.lang.String servletURL)
Angabe der URL eines Web-Service, der Horoskopberechnungen ausführen kann. Es kann sich um ein Servlet handeln, ebenso gut aber auch um ein Perl-Skript oder irgendeinen andere Art von Webdienst.

Für die Implementierung des Interface ICalculator durch die Klasse Calculator haben die Requestparameter des Services die folgende Bedeutung:

Das Ergebnis muss eine Antwort in text/plain sein (nicht HTML), die aus mehreren Zeilen besteht. Die Zeilen beginnen mit den Schlüsselwörtern houses:, planets:, error: oder warning:. Hinter houses: und planets: sind die ekliptikalen Längen der zwölf Häser bzw. der zehn Planeten im Dezimalformat als komma-separierte Liste aufgeführt. Die Zeilen error: oder warning: enthalten etwaige Warnungen oder Fehlermeldungen.

Dieses Format ist natürlich für andere Implementierungen des Interface nicht bindend. Es ist lediglich darauf zu achten, dass das Format, mit dem der Webservice seine Antwort zurückliefert, zu dem Format passt, das von der Implementierung des Interface entgegengenommen wird.


Astrologische Berechnungen