; ; CANTERS LOW ERROR EQUAL-AREA OF EURAFRICA P11 (POSTPROCESS) ; =========================================================== ; ; Name: Canters Low-error equal-area transformation of the oblique ; azimuthal equal-area projection; ; first order transformation, ; with minimum mean finite scale factor, ; 2 coefficients. ; Source: Canters, Small-scale Map Projection Design, Taylor & Francis, London 2002, ; p. 227., Table 5.23, Fig. 5.34 (b), Formula 4.84, 4.85, 4.88 (p. 145), see also 5.22, 5.23 (p. 212) ; Direction: Direkt-Transformation ; ; Remark: Post-Transformation. Transformation of an oblique azimuthal equal-area ; projection, meta-pole 20° N, 20° E. ; ; Given co-ordinate: x, y ; Result co-ordinate: x', y' ; (C) Rolf Böhm 2006 ; Declarations ; ============ ; ; The variable names by Frank Canters ; ; Current coords ; _name Canters~Low-error~Equal-area~(Eurafrica)~P11 ; _var X _var Y _var X' _var Y' ; ; The Coefficients ; _var c1 ; _var c'1 ; ; Powers ; _var x0 ; The x-Powers _var x1 ; _var Y0 ; The Y-Powers _var Y1 ; ; Misc ; _var a ; Accumulator _var p ; Y Divisor _var q ; X' Divisor _var scale ; ; x, y, x', y', Cx', Cy', °(, (°, pi, pi/2 etc. are pre-defined ; ; Initialisation ; ============== ; tstne initial 077$ ; Dialog pause Hinweis:~Dieses~Programm~rechnet~eine~Vorwärtstransformation.\¶ Es~muss~mit~einer~direkt~arbeitenden~Projection~engine~abgearbeitet~werden.\\¶ Das~Quellbild~muss~ein~schiefachsiger~flächentreuer~Azimutalentwurf~(20°N,20°E)~sein. input scale Kartenmaßstabszahl~mit~der~der~Hauptentwurf~gerechnet~wurde. clip scale 1 1e9 ; Set the coeff mov c1 +0.9969 ; mov c'1 +1.0031 ; Programm is initialised mov initial 1 077$: ; ; SIMD-Code ; ========= ; x, y are given ; x', y' were computed ; ; Transformation 5.22/5.23 (Canters 2002, p. 212, see also chapter 4.2.2, p. 145, formula 4.84, 4.85, 4.88) ; --------------------------------------------------------------------------------------------------------- ; ; Note: Formula 5.22 is a rudiment from C6-5 and here no really in use! See also the coefficients. ; (But it's code that runs -- why change it?) ; reduction to normal sphere sub x Cx sub y Cy div x Rx div y Ry mul x scale mul y scale ; The x powers in formula 5.22 mov x1 x ; formula 5.22 clr X ; Note that x and X are 2 different Variables (in RTA Language and also in Canters book) mov a c1 mul a x1 add X a ; That's X in 5.22 ... mov p c1 mov Y y div Y p ; That's Y in 5.22 ... ; The Y powers in formula 5.23 mov Y1 Y ; formula 5.23 mov q c'1 mov X' X div X' q ; That's X' in 5.23 ... clr Y' mov a c'1 mul a Y1 add Y' a ; That's Y' in 5.23 ... ; ; Finale ; ------ ; 111$: mov x' X' mov y' Y' ; normal sphere back to map plane mul x' Rx' mul y' Ry' div x' scale div y' scale add x' Cx' add y' Cy' ; exit exit _end