; ; GYÖRFFY E3 ; ========== ; ; Name: Ideale pseudopolykonische Abbildung nach Györffy 2004 ; Kurzbezeichnung: Györffy E3 ; 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, 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~E3~(ideal) _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 lambda^2 ; lambda^2 _var lambda^3 ; lambda^3 _var beta^2 ; beta^2 _var beta^3 ; beta^3 _var p2b ; ((pi/2)-beta) _var p2b^2 ; ((pi/2)-beta)^2 _var p2b^3 ; ((pi/2)-beta)^3 _var t0 ; temporäre Variablen _var t1 _var t2 _var t3 _var t4 _var t5 _var t6 _var T ; ; Konstanten der Transformation ; _var scale ; Kartenmaßstabszahl (also 1000000, nicht 1/1000000) _var r1 ; r1 _var r2 ; r2 _var r3 ; r3 _var r4 ; r4 _var r5 ; r5 _var r6 ; r6 _var c1 ; c1 _var c2 ; c2 _var c3 ; c3 _var f01 ; f01 _var f11 ; f11 _var f21 ; f21 _var f31 ; f31 _var f02 ; f02 _var f12 ; f12 _var f22 ; f22 _var f32 ; f32 _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 ; Koeffizienten mov r1 +1.125575 mov r2 +0.121334 mov r3 -0.140304 mov r4 -0.000558 mov r5 -0.033402 mov r6 +0.151725 mov c1 +0.987893 mov c2 +0.011139 mov c3 -0.005151 mov f01 +0.998054 mov f11 -0.488524 mov f21 +0.334685 mov f31 -0.062406 mov f02 -0.013031 mov f12 +0.068552 mov f22 -0.105364 mov f32 -0.040698 ; 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 ; ------------------- ; Quadrate, Kuben ... mov lambda^2 lambda power lambda^2 2 mov lambda^3 lambda power lambda^3 3 mov beta pi/2 sub beta phi mov beta^2 beta power beta^2 2 mov beta^3 beta power beta^3 3 mov p2b pi/2 sub p2b beta ; klar ist das phi, aber wir implementieren mal schön authentisch nach Györffy mov p2b^2 p2b power p2b^2 2 mov p2b^3 p2b power p2b^3 3 ; r berechnen mov t3 beta^3 mul t3 r3 mov t2 beta^2 mul t2 r2 mov t1 beta mul t1 r1 mov r t1 add r t2 add r t3 mov t3 beta^3 mul t3 r6 mov t2 beta^2 mul t2 r5 mov t1 beta mul t1 r4 mov T t3 add T t2 add T t1 mul T lambda^2 add r T ; c berechnen mov t3 p2b^3 mul t3 c3 mov t2 p2b^2 mul t2 c2 mov t1 p2b mul t1 c1 mov c r add c t3 add c t2 add c t1 ; Polarkoordinatenwinkel gamma berechnen mov t3 beta^3 mul t3 f32 mov t2 beta^2 mul t2 f22 mov t1 beta mul t1 f12 mov t0 f02 mov gamma t0 add gamma t1 add gamma t2 add gamma t3 mul gamma lambda^3 mov t3 beta^3 mul t3 f31 mov t2 beta^2 mul t2 f21 mov t1 beta mul t1 f11 mov t0 f01 mov T t0 add T t1 add T t2 add T t3 mul T lambda add gamma T ; 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