; ; WINKELTREUER KEGELENTWURF IN NORMALER (POLARER) LAGE NACH LAMBERT, GÜNSTIGSTE ABBILDUNG EINER KEGELZONE ; ======================================================================================================= ; ; Nr. bei Wagner: 5 ; Name: Winkeltreuer Kegelentwurf nach Lambert, günstigste Abbildung einer Kegelzone ; Winkeltreuer Schnittkegelentwurf II ; Variante: Polversetzend ; Autor: Lambert 1772 ; Quelle: Karlheinz Wagner, Kartographische Netzentwürfe, Leipzig 1949. Es ist dies der ; erste Wagnersche "Schnittkegel" von Seite 64 ; Richtung: Direkttransformation ; ; Literatur: ; Wagner: Kartographische Netzentwürfe, Leipzig: Bibliographisches Institut 1949 ; Fiala: Mathematische Kartographie, Berlin: Verlag Technik 1957 ; (C) Rolf Böhm Bad Schandau 2004 ; Winkeltreuer Schnittkegelentwurf II: ; Streng genommen ein Berührungskegel. ; Dem Schnittkegel I (in geometrischen Sinne) ähnlich - etwas größer, ; gegenüber diesem Netz sind lediglich an 2 Stellen delta1 und delta0 vertauscht. Wagner S. 64 ; Polversetzend/Zentrierend: Bei Kegelentwürfen ist das Rechenzentrum (der Pol) meist ; nicht der Kartenmittelpunkt. Dies ist ein polversetzendes Programm, d. h. man kann/muss eine ; Distanz angeben, um die der Pol nach N versetzt wird. Das Gegenstück bilden die zentrierenden ; Kegelentwurfsprogramme, die Pol so versetzen, dass der Mitte der Quellkarte zur Mitte der Zielkarte wird. ; Benutzte Variablen ; ================== ; ; Die Variablennamen entsprechen weitgehend denen von Karlheinz Wagner, ; ; Laufende Koordinaten ; _name Winkeltreuer~Kegelentwurf/Kegelzone~(polversetzend) _var phi ; Geographische Breite _var lambda ; Geographische Länge _var alpha ; Azimut ebene Polarkoord., auch Schiefazimut _var delta ; Poldistanz/geographisch, auch Schiefdistanz _var m ; Radius ebene Polarkoordinaten _var n ; Winkelreduktionsfaktor (Cos(Delta0)) ; ; Konstanten der Transformation ; _var scale ; Kartenmaßstabszahl (also 1000000, nicht 1/1000000) _var phi1 ; Geogr. Breite des 1. Schnittparallels (besser Grenzparallels) _var phi2 ; Geogr. Breite des 2. Schnittparallels (besser Grenzparallels) _var lambda0 ; Geogr. Breite des Mittelmeridians _var pol-y ; Polversatz nach Nord ; _var delta1 ; Poldistanz des 1. Parallels _var delta2 ; Poldistanz des 2. Parallels _var delta0 ; Poldistanz des synthetischen Mittelparallels _var cosd0 ; dessen Cosinus _var C ; ; x, y, x', y', Cx', Cy', Rx', Ry', °(, (°, 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 1.~Grenzparallelbreite~in~Grad input phi2 2.~Grenzparallelbreite~in~Grad input lambda0 Berührungspunktlänge~in~Grad input pol-y Pollage~nördlich~vom~Bildmittelpunkt~in~Geokoordinaten ; Eingegebene Werte auf Min/Max bringen clip scale 1 1E12 clip phi1 -89.9999 89.9999 clip phi2 -89.9999 89.9999 clip lambda0 -180 180 clip pol-y -1E6 1E6 ; Konstanten berechnen mul phi1 °( mov delta1 pi/2 ; delta1 sub delta1 phi1 ; mul phi2 °( mov delta2 pi/2 ; delta2 sub delta2 phi2 ; Nun n und delta0 nach Formel Wagner S. 64, Gl. (5) mov r1 delta1 sin r1 log r1 mov r2 delta2 sin r2 log r2 sub r2 r1 mov r3 delta1 div r3 2 tan r3 log r3 mov r4 delta2 div r4 2 tan r4 log r4 sub r4 r3 mov cosd0 r2 div cosd0 r4 ; cosd0 mov delta0 cosd0 acos delta0 ; delta0 ; Nun gewöhnlich Winkeltreu (nun mit dem errechneten delta0) mov n cosd0 ; n ; Konstante c berechnen (Formel 3. Wagner S. 63) mov r1 delta0 ; hier 2 x delta1 und schon ist es der Schnittkegel I sin r1 mov r3 delta0 ; hier 2 x delta1 und schon ist es der Schnittkegel I div r3 2 tan r3 power r3 n mul r3 n div r1 r3 mov C r1 ; 2pi mov 2pi pi mul 2pi 2 ; Programm ist initialisiert mov initial 1 $077: ; ; SIMD-Laufbereich ; ================ ; mov lambda x sub lambda lambda0 cmod lambda -180 180 mov phi y ; ; Umrechnung in Bogenmaß ; ---------------------- ; mul phi °( mul lambda °( ; ; Eigentlicher Entwurf (in Polarkoordinaten) ; ------------------------------------------ ; mov alpha lambda ; Azimut alpha mul alpha n mov delta pi/2 ; delta sub delta phi mov m delta ; Radius m div m 2 tan m power m n mul m C ; ; Polarkoordinaten m/alpha in kartesische Koordinaten ; --------------------------------------------------- ; mov x alpha ; kartesische Koord. x y in Polarkoordinaten m alpha sin x mul x m mov y alpha cos y neg y ; ja, minus Cosinus! mul y m ; ; Maßstab, Kartenmittelpunkt etc. einrechnen ; ------------------------------------------ ; mul x Rx' div x scale add x Cx' mul y Ry' div y scale add y Cy' add y pol-y ; ; Schlussarbeiten ; --------------- ; mov x' x mov y' y exit _end