; ; GYÖRFFY E2 ; ========== ; ; Name: Allgemeine pseudopolykonische Abbildung nach Györffy 2004 ; Kurzbezeichnung: Györffy E2 ; Quelle: Györffy, Janos, Klinghammer, István, Budapest: Die kleinmaßstäbige Darstellung ; von Europa in Projektionen geringster Verzerrung - die Basis für einen Europa-Atlas ; Kartographische Nachrichten, Bonn-Bad Godesberg: Kirschbaum 6/2004. ; Der Aufsatz enthält nicht die Formeln, des E2 und E3; diese wurden freundlicherweise ; von János Györffy schriftlich mitgeteilt. ; Richtung: Direkt-Transformation ; ; 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. ; Ein Maßstab und ein Mittelmeridian wird abgefragt. Der Mittelmeridian ist bei Györffy 25° östlicher Länge. ; Die Györffy-Entwürfe umfassen 3 Netze, die alle für den europäischen Raum ; im Bereich -10° ... 60° geographischer Länge und 35° ... 70° geographischer Breite ; optimier wurden: ; "E1": 5 Koeffizienten. Orthogonal pseudopolykonisch. Rechtwinklig. Verzerrungsmaß Ek=0.0082 ; "E2": 8 Koeffizienten. Allgemein pseudopolykonisch. Symmetrisch. Verzerrungsmaß Ek=0.0076 ; "E3": 17 Koeffizienten. Idealabbildung. Unsymmetrisch. Verzerrungsmaß Ek=0.0070 ; Zum Vergleich: Bonne Ek=0.0192, de I'sle Ek=0.0100. ; Entwurf (C) János Gyöffry 2004, Implementation: (C) Rolf Böhm 2005 ; Benutzte Variablen ; ================== ; ; Die Variablennamen entsprechen weitgehend denen von Györffy. ; ; Laufende Koordinaten ; _name Györffys~pseudopolykonische~Abbildung~E2~(allgemein) _var phi ; Geographische Breite _var lambda ; Geographische Länge _var lambda0 _var beta ; Poldistanz/geographisch, auch Schiefdistanz (sonst meist delta) _var gamma ; Polarkoordinaten/Winkel (sonst meist alpha) _var r ; Polarkoordinaten/Radius _var c ; y-Verschiebung des (polykonischen) Poles _var beta^2 ; beta^2 _var p2b ; ((pi/2)-beta) _var p2b^2 ; ((pi/2)-beta)^2 _var t1 ; temporäre Variablen _var t2 _var t3 _var t4 ; ; Konstanten der Transformation ; _var scale ; Kartenmaßstabszahl (also 1000000, nicht 1/1000000) _var rp ; rp _var r1 ; r1 _var r2 ; r2 _var c1 ; c1 _var c2 ; c2 _var f0 ; f0 _var f1 ; f1 _var f2 ; f2 _var ........ ; End of Symbol table ; ; 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 lambda0 Mittelmeridian~in~Grad~(Györffy:~25) ; Eingegebene Werte auf Min/Max bringen clip scale 1 1E12 clip lambda0 -180 180 ; Koeffinzienten mov rp -0.018292 mov r1 1.255643 mov r2 -0.076624 mov c1 1.001642 mov c2 -0.003909 mov f0 0.950088 mov f1 -0.346068 mov f2 0.139245 ; Programm ist initialisiert mov initial 1 077$: ; ; SIMD-Laufbereich ; ================ ; ; Eigentlicher Entwurf, dieser direkt! ; ------------------------------------ ; mov lambda x ; Geographische Länge von "Gegeben" mov phi y ; Geographische Breite von "Gegeben" sub lambda lambda0 ; Mittelmeridian cmpgt lambda -180 10$ add lambda 360 10$: cmpgt lambda -180 30$ add lambda 360 30$: cmplt lambda 180 40$ sub lambda 360 40$: cmplt lambda 180 50$ sub lambda 360 50$: ; ; Umrechnung in Bogenmaß ; ---------------------- ; mul phi °( mul lambda °( ; Netzentwurf rechnen ; ------------------- ; Poldistanz beta berechnen mov beta pi/2 sub beta phi mov beta^2 beta power beta^2 2 mov p2b pi/2 sub p2b beta ; klar ist das phi, aber wird implementieren mal schön authentisch nach Györffy mov p2b^2 p2b power p2b^2 2 ; r berechnen mov t2 beta^2 mul t2 r2 mov t1 beta mul t1 r1 mov r rp add r t2 add r t1 ; c berechnen mov t2 p2b^2 mul t2 c2 mov t1 p2b mul t1 c1 mov c r add c t2 add c t1 ; Polarkoordinatenwinkel gamma berechnen mov t2 beta^2 mul t2 f2 mov t1 beta mul t1 f1 mov gamma f0 add gamma t1 add gamma t2 mul gamma lambda ; x berechnen mov t1 gamma sin t1 mul t1 r mov x t1 ; y berechnen mov t1 gamma cos t1 mul t1 r mov y c sub y t1 ; ; 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 ; auf "Gesucht" mov y' y ; auf "Gesucht" mov z' gamma mul z' (° exit _end