; ; GILBERT TWO WORLD PERSPECTIVE ; ============================= ; ; Name: Gilber Two World Perspective ; Proj4: +proj=gilbert ; Libproj4 (2005), S. 101, 7.2.5 ; Quelle: Gerald I. Evenden. Libproj4: A Comprehensive Library if Cartographic Projection Functions, March 2004 ; Richtung: Direkttransformation ; ; Maßstab und Berührungsparallel werden abgefragt. ; Die Zielbildgeometrie wird dem Sekundäroperanden oder einem Fixbild entnommen. ; Der Berührungspunkt wird bildmittig gesetzt. ; ; Literatur: ; Wagner: Kartographische Netzentwürfe, Leipzig: Bibliographisches Institut 1949 ; Fiala: Mathematische Kartographie, Berlin: Verlag Technik 1957 ; (C) Rolf Böhm 2005 ; Benutzte Variablen ; ================== ; ; Die Variablennamen entsprechen weitgehend denen von Karlheinz Wagner, ; ; Laufende Koordinaten ; _name Gilbert~Two~World~Perspective _var phi ; Geographische Breite _var lambda ; Geographische Länge _var phi' _var lambda' _var phi1 _var phi1' _var D ; ; Konstanten der Transformation ; _var scale ; Kartenmaßstabszahl (also 1000000, nicht 1/1000000) _var lambda0 ; Geogr. Länge des Bildmittelpunktes ; ; x, y, x', y', Cx', Cy', °(, (°, pi, pi/2 etc. sind vordefinierte globale Konstanten ; ; Initialisierung ; =============== ; tstne initial 077$ ; Dialog pause Hinweis:~Dieses~Programm~rechnet~eine~Vorwärtstransformation.\\Es~muss~mit~einer~direkt~arbeitenden~Projection~engine~abgearbeitet~werden. input scale Maßstabszahl input phi1 Bezugsbreite~in~Grad input lambda0 Mittelpunktslänge~in~Grad ; Eingegebene Werte auf Min/Max bringen clip scale 1 1E12 clip phi1 0 90 clip lambda0 -180 180 ; Konstanten mul phi1 °( mov phi1' phi1 div phi1' 2 tan phi1' asin phi1' ; Programm ist initialisiert mov initial 1 077$: ; ; SIMD-Laufbereich ; ================ ; ; Lambda und Phi übernehmen ; ------------------------- ; mov lambda x ; Geographische Länge mov phi y ; Geographische Breite sub lambda lambda0 cmod lambda -180 180 ; x, y haben eine Doppelbedeutung: ; - einmal die vordefinierten RTA-Input-Koordinaten, also eigentlich Phi und Lambda, ; - dann aber auch die ebenen Kartenkoordinaten, die errechnet werden ; ; Umrechnung in Bogenmaß ; ---------------------- ; mul phi °( mul lambda °( ; Netzentwurf rechnen ; ------------------- ; mov phi' phi div phi' 2 tan phi' asin phi' mov lambda' lambda div lambda' 2 mov r0 phi1' sin r0 mov r1 phi' sin r1 mov r2 phi1' cos r2 mov r3 phi' cos r3 mov r4 lambda' cos r4 mul r0 r1 mul r2 r3 mul r2 r4 add r0 r2 mov D r0 tstlt D out mov r0 phi1' cos r0 mov r1 phi' sin r1 mov r2 phi1' sin r2 mov r3 phi' cos r3 mov r4 lambda' cos r4 mul r0 r1 mul r2 r3 mul r2 r4 sub r0 r2 mov y r0 mov r0 phi' cos r0 mov r1 lambda' sin r1 mul r0 r1 mov x r0 ; ; Maßstab, Kartenmittelpunkt etc. einrechnen ; ------------------------------------------ ; mul x Rx' ; Erdradius div x scale ; Kartenmaßstab add x Cx' mul y Ry' div y scale add y Cy' ; ; Schlussarbeiten ; --------------- ; 111$: mov x' x mov y' y exit out: mov -9999 x mov -9999 y exit _end