; ; WAGNER III = ABSTANDSGLEICHER UNECHTZYLINDRISCHER ENTWURF MIT SINUSLINIGEN MERIDIANEN UND POLLINIE ; ================================================================================================== ; ; Nr. bei Wagner: 18c ; Kurzname: Wagners Entwurf III ; Name: Wagners Entwurf III (sinuslinig, abstandsgleich) ; Originalname: Abstandsgleicher unechtzylindrischer Entwurf mit sinuslinigen Meridianen und Pollinie ; Autor: Karlheinz Wagner 1932 ; Quelle: Karlheinz Wagner, Kartographische Netzentwürfe, Leipzig 1949, S. 189ff. ; 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. ; ; Maßstab, Berührungslänge und längentreuer Parallel 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 Wagners~Entwurf~III _var phi ; Geographische Breite _var lambda ; Geographische Länge _var t1 ; temporär _var t2 ; temporär _var q ; siehe Wagner _var 2/3 ; 2/3 _var phi0 ; Längentreuer Parallelkreis _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 Abstandsgleicher~Entwurf~mit~sinuslinigen~Meridianen~und~Pollinie~(Wagner~III)\\Maßstabszahl clip scale 1 1E12 input phi0 Geographische~Breite~des~längentreuen~Parallels clip phi0 0 89.9999 ; 90° gibt ein Problem mul phi0 °( input lambda0 Mittelpunktslänge~in~Grad clip lambda0 -180 180 ; Konstanten (Konfigurationsvariablen) berechnen mov t1 phi0 cos t1 mov t2 phi0 mul t2 2 div t2 3 cos t2 div t1 t2 mov q t1 ; fertig mov 2/3 2 div 2/3 3 ; feritg ; 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 ; ----------------------------------- ; phi berechnen mov phi y ; das wars schon! ; lambda berechnen mov t1 x mov t2 y mul t2 2/3 cos t2 mul t2 q div t1 t2 mov lambda t1 ; ; 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