Ephemeridenberechnung

T

TheMirror

Guest
Hallo,

Ich schreibe zur Zeit ein Ephemeridenprogramm und scheitere an folgendem Problem:
Ich möchte jenes Datum/Zeit berechnen wo der Sonnenstand im Bezug zum
heutigem Tag um 90° versetzt war.

Beispiel: Heute steht die Sonnne auf: 174°17´
An welchem Tag/ zu welcher Uhrzeit stand die Sonne auf 84°17´ ?

Ich dachte, daß würde so gehen, daß man das heutige Datum umrechnet auf das Julianische Datum (2456187.2869 für heute) und davon dann
91,06 Tage (= [364,25 Tage p.a / 360 Sonnengrade p.a] * 90°) abzieht.
Aber leider stimmt das Ergebnis um ca. 2-3 Tage nicht.

Als Ergebnis für JD(2456187.2869 - 91.06) erhalte ich den 17.06.2012 / 17h26. Aber die Sonne stand zu dieser Zeit auf: 86°54´ und nicht auf 84°17´

Wo liegt hier der Fehler ?

Schöne Grüße,
 
Werbung:
Hallo Spiegel

mein Verdacht ist:
die Umlaufbahn der Erde isr eine Ellipse!

Mein Vorschlag:
Astro.com

Dort gibt es Quellcode - Vorraussetzung du kannst C.
Oder swisseph36.dll einbinden. Privat kostenlos bei download.

Hier gibt es auch Quellcode.

D.
 
Ich verwende für meine Berechnungen die Swiss-Ephemeriden.
Gibt es eine Möglichkeit mit den Swiss-Ephemeriden zu gegebenen Koordinaten der Sonne, das dazugehörige Datum zu errechnen ?
Ich selbst habe bisher keine finden können....
 
Aus Programmer Doku

1. The programming steps to get a planet’s position



To compute a celestial bodyor point with SWISSEPH, you have to do the following steps (use swetest.c as an example). The details of the functions will be explained in the following chapters.



1. Set the directory path of the ephemeris files, e.g.:

swe_set_ephe_path(”C:\\SWEPH\\EPHE”);



2.. From the birth date, compute the Julian day number:

jul_day_UT = swe_julday(year, month, day, hour, gregflag);



3.. Compute a planet or other bodies:

ret_flag = swe_calc_ut(jul_day_UT, planet_no, flag, lon_lat_rad, err_msg);

or a fixed star:

ret_flag = swe_fixstar_ut(star_nam, jul_day_UT, flag, lon_lat_rad, err_msg);



Note:

The functions swe_calc_ut() and swe_fixstar_ut() were introduced with Swisseph version 1.60.

If you use a Swisseph version older than 1.60 or if you want to work with Ephemeris Time, you have to proceed as follows instead:



First, if necessary, convert Universal Time (UT) to Ephemeris Time (ET):

jul_day_ET = jul_day_UT + swe_deltat(jul_day_UT);



Then Compute a planet or other bodies:

ret_flag = swe_calc(jul_day_ET, planet_no, flag, lon_lat_rad, err_msg);

or a fixed star:

ret_flag = swe_fixstar(star_nam, jul_day_ET, flag, lon_lat_rad, err_msg);



5.. At the end of your computations close all files and free memory calling swe_close();



Here is a miniature sample program, it is in the source distribution as swemini.c



#include "swephexp.h" /* this includes "sweodef.h" */

int main()

{

char *sp, sdate[AS_MAXCH], snam[40], serr[AS_MAXCH];

int jday = 1, jmon = 1, jyear = 2000;

double jut = 0.0;

double tjd_ut, te, x2[6];

long iflag, iflgret;

int p;

iflag = SEFLG_SPEED;

while (TRUE) {

printf("\nDate (d.m.y) ?");

gets(sdate);

/* stop if a period . is entered */

if (*sdate == '.')

return OK;

if (sscanf (sdate, "%d%*c%d%*c%d", &jday,&jmon,&jyear) < 1) exit(1);

/*

* we have day, month and year and convert to Julian day number

*/

tjd_ut = swe_julday(jyear,jmon,jday,jut,SE_GREG_CAL);

/*

* compute Ephemeris time from Universal time by adding delta_t

* not required for Swisseph versions smaller than 1.60

*/

/* te = tjd_ut + swe_deltat(tjd_ut); */

printf("date: %02d.%02d.%d at 0:00 Universal time\n", jday, jmon, jyear);

printf("planet \tlongitude\tlatitude\tdistance\tspeed long.\n");

/*

* a loop over all planets

*/

for (p = SE_SUN; p <= SE_CHIRON; p++) {

if (p == SE_EARTH) continue;

/*

* do the coordinate calculation for this planet p

*/

iflgret = swe_calc_ut(tjd_ut, p, iflag, x2, serr);

/* Swisseph versions older than 1.60 require the following

* statement instead */

/* iflgret = swe_calc(te, p, iflag, x2, serr); */

/*

* if there is a problem, a negative value is returned and an

* error message is in serr.

*/

if (iflgret < 0)

printf("error: %s\n", serr);

/*

* get the name of the planet p

*/

swe_get_planet_name(p, snam);

/*

* print the coordinates

*/

printf("%10s\t%11.7f\t%10.7f\t%10.7f\t%10.7f\n",

snam, x2[0], x2[1], x2[2], x2[3]);

}

}

return OK;

}
 
vp schrieb:
Warum sind alle Widder eigentlich Fische? Such mal danach und dann nähere dich deinem Problem nochmal. :-D

Meinst du dies ironisch?

Oder willst du eine himmelsmechanische Erklärung vom Unterschied zwischen westlicher und östlicher Astrologie?

D.
 
Werbung:
Wo liegt hier der Fehler ?

du hast dich zu schnell entmutigen lassen

davor will ich gegenfragen, wie es aussieht, ob „deine jd-funktion“ stundenwinkel,
minuten und dezimalsekunden liefert (wie üblich, leider!)?
ich hatte auch so eine funktion – und betrachte sie inzwischen als die ursache aller verwechslungen
(denn meist will man mit diesen daten ja weiterrechnen).
dieses urteil trifft dann auch die nasa-ephems, die uns im stunden-format
(mit dezimalsekunden, wie konsequent) geliefert werden, leider.
darin könnte der grund liegen, dass im allgemeinen eher „ehrfürchtig“ geschwiegen

als hinterfragt und aufgeklärt wird: was da alles in einer zeile steht, doch…

mirror_steplmj9d.png

keiner blickt „das ganze“, weil sich jeder nur für (jeweils s)ein detail interessiert???
eine weitere fehlerquelle ist das rechnen mit pi statt grad – für leute mit nichtangelsächsischer schulbildung.
(diese umrechnung habe ich hier jetzt weggelassen, denn keith hatte auch degree-funktionen gleich mitgeliefert)

keith burnett hat die jd(funktion) kurzerhand um- oder neugeschrieben (weiß nicht mehr wann).
sie liefert jetzt poplige dezimalgrad. (und jeder der es anders will,
müsste selbst in stunden, minuten und dezimalsekunden umrechnen,
oder, dafür eine zweite funktion verwenden / dann nur für eine verwirrende darstellung???)
wir sollten unsere funktionen hier mal vergleich (gibt es abweichungen?
/ mach stichproben, bitte. /ich kann auch den quelltext posten).

ich habe schon viele gelegenheiten genutzt (über mehr als zehn jahre), seine funktionen zu vergleichen.
war immer alles sehr vertrauenswürdig (wie auch das analemma unten, oder?).
bin gespannt auf den neuen vergleich,...
der mit einem halben grad aber nicht die ursache für den fehler gewesen sein kann.

hi mirror, hab ´n bissel mit deinem thema gespielt (und wurde inspiriert):

von einem kleinen leichtsinnsfehler abgesehen,
der nur n6 stunden/360 und keine differenztage ausmachen kann
(schaltvierteltag hinzuzählen, nix abziehen: 365,25 statt 364,25),
sehe ich inzwischen mehr die verwechslungsrisiken als die daraus „fahrlässigen“ fehler.
ja plural: das thema hat neben den hier möglichen „risiken“ auch drei themen-seiten/perspektiven…
auch mehr als ein posting, wohl oder übel.
und eigentlich sogar ne vierte frage: auf was will man sich reduzieren?
(und alles andere dann ignorieren?? ist sehr riskant für fehler:).


analemma_step6cqby.png




dies sei ein „fundamentales“ palaver durch alle drei aspekte dieses themas wert:
was dann auch drei postings wird, denk ich mal. hier das verrückteste zuerst, denn geht uns alle an:

du fragst nach dem entstehen eines räumlichen winkels durch zeit (90°) und dann fragst du noch mal umgekehrt,
ob man ekliptikale ephems in´s datum zurückrechnen kann (hier rechts aussen, klar, geht)
–
und verbunden mit äquatorialdaten, als drittes: mit dem technischen mittel der jd(funktion),
die ihrer natur gemäß erstmalnur äquatoriale daten liefert.
es bedeutet auch umrechnen der tagesdrehungs-daten unseres äquatorialen systems
in jahres-durchwanderungsdaten des ekliptikalen systems
(vie seitencosinussatz, ganz einfach, weil sich der 2.term wegen cos90°=0 entgegenkommenderweise löscht).
da schaffen eigentlich nur tabellen den überblick und man sieht das gerenne um die wette deutlich (wie dilbert schon vermutete)...

zunächst mal dieses detail:
links der jd-spalte haben wir die raumwinkel. rechts das mitlaufende datum – aber: nur für dieses jahr !!!
pikanterweise dürfen wir die rechte spalte abschneiden
(als zeitwinkel einer in ekliptikalebene gedachten analoguhr),
denn das datum beginnt mit dem delta von 6 stunden jedes jahr später
(epochengenau in der linken geometrie – ggf kann das „aktuelle“ analemma auch wieder mitgeplottet werden),
bis es vom schalttag wieder zurückgeholt wird.

ich zeig das mal als fortschreibung der aktuellen jahre (klar, geht auch – ein rießenfass hast du da aufgemacht)
-
ein kalender ensteht – und was für einer, doch wo ist der jahresanfang?



die majas (und ich glaube, auch die kelten) verwendeten die winterpunkte für den jahreswechsel.
was ich auch schöner als den ersten januar finde. (denn „damit verbundene“ schalttage ins wintersonnwendfest fallen
/ nicht suspekt bleiben und zum universalen geschenk für das wende-fest-feiernde volk wurden
/ heute verschoben als weihnachten und als zeitrechnung noch weiter verschoben zum ersten januar,
mehr historisch begründbar als guten gründen folgend.) man brauchte markante (kardinale) orientierungen
–
und heute ging es auch genauer zwischen diesen,
wenn man dem zwölf(!!!) mal 30°-step der ekliptik = „akurate“ monatslängen folgt.

mit einigen überraschungen allerdings.
(zb: ein großer 32 tage-mnt im aphel schiebt sich von mai bis juli bis vom schalttag zurückgeholt wird,…
die kurzen monate sind alle im perihel und „30 tage per monat“ gibt es nur im frühlung und herbst,
auch die vertaumelt / und wo ist dann der schalttag geblieben? …gleich.)

aus zwei gewichtigen argumenten noch besser:
das könnte man heute (wie schon in mesopotamien) im frühling machen (wie astrologen noch heute, eben).
weltweite springtage und international denselben moment als jahreswechsel und aller neubeginn feiern…
und damit wieder ein „globales“ solidaritätsbewußtsein durch alle zeitzonen hinweg
„in einem planetar-gesellschaftlichen moment“ für alle erdenbürger erschaffen…

was zum zweiten noch besseren argument führt:

es wäre ein „integrales“ entgegenkommen an die arabische welt,
die es heute schon (nein, immer noch) so macht.
die obige skizze des analemmas ist genau so justiert (beginnt im widderpunkt).
es gibt keine vernünftigen gründe, dies wie die westliche welt wahllos wo hin zu schieben, noch „traditionell“
(nein, leider nur:) commonwealths normiert kolonialistische bevormundungen zu verteidigen:

selbst moderne quellen wie wikipedia „vergewaltigen“ das analemma noch „westlich justiert“ mit dem 1. januar
(anstatt astronomisch orientiert zu plausibilisieren). was die sache eher wieder problematisch macht,
denn keine bezugs-nähe zu diesem viervierteltag am 29. februar mehr erkennen lässt,
der eigentlich ganzjährig mit dem „wandernden“ zeichenwechsel-moment ensteht
und erst im schaltjahr zurückspringt (wenn die stich-minute den tag wechselt)…
und uns ein umrechnen „erst mit dieser tatsache“ möglich macht:

schalttag entsteht, wenn die äquinoktial-minute in den nächsten tag springt.

es ist kein ernstfreier scherz, einen solchen kalender zu basteln, vor allem für astrologen,
denn ihre denke findet „ohnehin“ zwischen den zeichenwechseln statt – und jeder vor dem frühlingspunkt geborene
„eigentlich“ eine jahreszahl älter ist (oder die danach jünger???).
für den rest der menschen dürfte eine umstellung unmöglich sein, oder…
sie fragen dann nimmer, welches raster da astrologen eigentlich verwenden,…
und ie müssen sich auch nicht mehr haaresträubvend verteidigen.

wir hätten statt „monate“ dann (aber) tierkreiszeichennamen – undenkbar? oder sollte man die monatsnamen
beibehalten und das jahr begänne im märz… und auch noch um 20 tage verschoben…)…?

wie gedacht, das umstellungsgemuddel wäre schlimmer als das kuddelmuddel davor.
da haben wir wohl keine echte wahl – mehr (aber zu schön finde ich deine inspiration doch).

kalender_stepstlppl.png

ein solcher kalander wäre sehr zeitzonensensibel, denn der jeweilige eintrittsmoment wo in welchen tag fällt (hier zz=0).
da gäbe es noch mehr probleme zu lösen – wenn man solch einen kalender umsetzen wollte.
ich hoffe, das war im sinne jd-themen-palaver nicht all zu weit ausgeholt,…

um die idee zu entwickeln: mal ein so unwichtiges thema wie „den globalen kalender“ auf die agenda der un zu setzen.
wer weiß denn im vorraus, welche kulturen/länder sich dafür gar nicht interessieren?

in diesem sinne, denn 11.11… (äh, momentmal, 4712 plus 2012, also):
das esoterikforum.at, äh,… den 20. tag im skorpion astronormalis 6724.

-----------
ps: an den beiden anderen antworten „arbeite ich noch“, hat gestern nicht mehr gereicht
-
zumal ich ja, wie versprochen, mit stereografischer darstellung wieder kommen wollte,
leider immer noch im 2°-step (wird wohl mangels zeit auch so bleiben), ungefähr so… bis danne

ich bring dann auch ein lob für deinen ansatz mir, die ekliptik durch den steppenden sonnenstand zu zeichnen.
dein ansatz scheint mir sinnvoll, weil in jedem fall zielführend und verlangt nur die gegenfrage als ziel voraus:
in welcher perspektive willst du welche 90° „sehen“ ? (siehe spalten oben.)
da ist jeweils umrechnen „auf eine lineare referenzspalte“ angesagt, oder:

es stellt „gewisse anforderungen“ an dein ephemeridenprogramm. es bleibt spannend.

wir sollten dein „verfahren“ für astrologen und astronomen hier gleichermaßen „zertifizieren“
(humor muss in dieser misere sein). uhr- und kalendermacher mögen sich hier bedienen.
für solches begehren hier nur kreuzchen neben die dekadenkringel gezeichnet u.u.m.
/grafiken sind eh schon überfrachtet).
dann thema: die „räumliche“ quadratur zur sonne, hier schon als skizze - auf der ekliptik:


skope_stepjoog6.png

hier ist ein geodreieck im spiel, download heise.de, auch dazu unten mehr.
 
Zurück
Oben