; ; ECKERTSCHER ENTWURF V ; ===================== ; ; Nr. bei Wagner: 22a ; Kurzname: Eckert V ; Name: Eckertscher Entwurf V (abstandsgleich sinusoidal) ; Autor: Max Eckert(-Greiffendorf) ; Quelle: Karlheinz Wagner, Kartographische Netzentwürfe, Leipzig 1949, S. 218. ; Richtung: Invers ; ; Das Programm übernimmt die Koordinaten eines Punktes (x/y) und transformiert ; diese in einen Punkt (x'/y'). ; ; x/y sind ebene Zielpunktkoordinaten, x'/y' geben die geogr. Breite und Länge ; der Position auf der Quell-Erdkugel, auf der der Zielpunkt gelesen werden ; kann. ; ; DRUCKFEHLER AUF WAGNER S. 218 (1+cos/(phi)) <> (cos(phi/2))^2. ; MUSS NOCH MIT 2 MULTIPLIZIERT WERDEN! ; ; Maßstab und Mittelmeridian werden abgefragt. ; ; Literatur: ; Wagner: Kartographische Netzentwürfe, Leipzig: Bibliographisches Institut 1949 ; (C) Rolf Böhm 2004 ; Benutzte Variablen ; ================== ; Die Variablennamen entsprechen weitgehend denen von Karlheinz Wagner, ; ; Laufende Koordinaten ; _name Eckerts~Entwurf~V _var phi ; Geographische Breite _var lambda ; Geographische Länge _var t1 ; temporär _var t2 ; temporär _var n ; 2/root(2+pi) _var lambda0 ; Null-Länge ; ; x, y, x', y', Cx', Cy', Rx', Ry', °(, (°, pi, pi/2 etc. sind vordefinierte globale Konstanten ; ; Initialisierung ; =============== ; tstne initial 077$ ; Dialog input scale Eckerts~Entwurf~V~(abstandsgleich,~sinusoidal)\\Maßstabszahl clip scale 1 1E12 input lambda0 Mittelpunktslänge~in~Grad clip lambda0 -180 180 ; Konstanten (Konfigurationsvariablen) berechnen mov t1 pi add t1 2 root t1 2 mov n 2 div n t1 ; Programm ist initialisiert mov initial 1 077$: ; ; SIMD-Laufbereich ; ================ ; ; Maßstab, Kartenmittelpunkt etc. einrechnen ; ------------------------------------------ sub x Cx' ; Bildmittelpunkt div x Rx' ; Erdradius mul x scale ; Kartenmaßstab sub y Cy' div y Ry' mul y scale ; ; Eigentlicher Entwurf, dieser invers ; ----------------------------------- mov phi y div phi n mov t1 phi cos t1 add t1 1 mov lambda x div lambda t1 div lambda n mul lambda 2 ; Druckfehler Wagner S. 218. 2 im Nenner bei x muss 1 sein ! ; Hier Rechnung mit (1+cos(phi)) statt (cos(phi/2))^2 ; ; In Gradmaß umrechnen und Ausserhalbtest ; --------------------------------------- mul phi (° mul lambda (° cmplt phi -90 out cmpgt phi 90 out cmplt lambda -180 out cmpgt lambda 180 out ; ; Schlussarbeiten ; --------------- ; mov x' lambda mov y' phi ; Lambda um lambda0 kreisen lassen add x' lambda0 cmod x' -180 180 exit out: mov x' -9999 mov y' -9999 exit _end