; ; WAGNER Y3 ; ========= ; ; Nr. bei Wagner: ; Kurzname: Wagner Y3 ; Name: Wagners van der Grinten Adaption Nr. 1 ; Autor: Max Eckert(-Greiffendorf), Karlheinz Wagner ; Quelle: Karlheinz Wagner, Kartographische Netzentwürfe, Leipzig 1949, S. 227. ; Richtung: Direkttransformation ; ; In seinem Schlusskapitel "Schlußbemerkungen zu den Netztransformationen" schlägt Wagner ; 3 Netze vor, mit denen er van-der-Grinten-Netze adaptiert. Diese ersten beiden wurden ; hier als Y3 und Y4 implementiert. ; ; Beim "Y3" handelt es sich um eine Umbezifferung des querachsigen winkeltreuen Azimutalentwurfes. ; ; Literatur: ; Wagner: Kartographische Netzentwürfe, Leipzig: Bibliographisches Institut 1949 ; Fiala: Mathematische Kartographie, Berlin: Verlag Technik 1957 ; (C) Rolf Böhm 2006 ; Benutzte Variablen ; ================== ; ; Die Variablennamen entsprechen weitgehend denen von Karlheinz Wagner, ; ; Laufende Koordinaten ; _name Wagners-van~der~Grinten-Umbezifferung~Y3 _var phi ; Geographische Breite _var lambda ; Geographische Länge _var psi ; phi umbeziffert _var lambda- ; lambda umbeziffert _var alpha _var delta ; ; Konstanten der Transformation ; _var scale ; Kartenmaßstabszahl (also 1000000, nicht 1/1000000) _var phi1 ; Grenzparallelkreis~in~Grad _var lambda1 ; Grenzlängenkreis~in~Grad _var lambda0 ; Geogr. Länge des Bildmittelpunktes _var n _var m _var k ; 2 = Verhältnis Äquator zu Mittelmeridian _var cx _var cy ; ; 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 Grenzparallelbreite~in~Grad~(0.0001~...~90) input lambda1 Grenzmeridianlänge~in~Grad~(0.0001~...~180)\\Empfehlung:~Bei~phi1=90°~ebenfalls~90°,~sonst:~phi1~x~2 input lambda0 Mittelpunktslänge~in~Grad ; Eingegebene Werte auf Min/Max bringen clip scale 1 1E12 clip phi1 0.0001 90 clip lambda1 0.0001 180 clip lambda0 -180 180 ; Konstanten mul phi1 °( mul lambda1 °( mov m phi1 ; Umbezifferungen mul m 2 div m pi mov n lambda1 div n pi ; ; Hier nun die Berechnung von k, die Wagner nicht angibt. Wir wählen k so, ; dass das Längenverhältnis Äquator/Mittelmeridian in der Bildmitte stimmt ... ; mov k m ; k so berechnen, dass Bildverzerrung ausgeglichen wird ... div k n ; ... also auf das Verhältnis m/n. root k 2 ; Wurzel, denn das k geht zur Hälfte ins x, zur Hälfte ins y ; ; Faktoren x bzw. y ; mov r0 m mul r0 n root r0 2 mov cx 1 div cx r0 mul cx k mov cy 1 div cy r0 div cy k ; 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 verdefinierten 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 ; ------------------- ; ; Umbeziffern ; mov psi phi mul psi m mov lambda- lambda mul lambda- n ; ; delta ; mov delta psi cos delta mov r0 lambda- ; In der Formel steht bei Wagner n*lambda statt lambda- cos r0 mul delta r0 acos delta ; ; alpha ; mov alpha psi sin alpha mov r0 delta sin r0 div alpha r0 acos alpha ; ; Nach r4: 2 tan(delta/2) ; mov r4 delta div r4 2 tan r4 mul r4 2 ; ; x ; mov x alpha sin x mul x r4 mul x cx mov r0 lambda ; give x the sign of lambda sgn r0 mul x r0 ; ; y ; mov y alpha cos y mul y r4 mul y cy ; ; 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 ; mov x' psi ; Test ; mul x' (° ; Test ; mov y' i ; Test exit _end