153
A procedure for the reverse problem, named giy.
'PR0CEDURE'G17(IJ,SGZ,SAA,ELL I PS,NUM.EPS.NU8)'VALUEMJ,EPS;
'INTEGER'I'REAL'EPS; ARRAYBGZ,SAA,ELLIPS-
'PROCEOURE'NU8;
'BEGIN"REAL'FI,DFI.OLAM.Ao.OA,DELTA,CO,EA,C,VV,Z,V,SIS,C08.8H0.PI
ARRAY'XCo: 3];
1BOOLEANBOOLEI
1NTEGER'K,NS,NINL.STOP;
'SWlTCH'NAAM^o.l.a, 3,4,5,6;
•PROCEDURE'fUIIllWA,PA)'ARRAY'MA,PA;
•BEGIM*CO:-COS(PA[lJ);
VV:-SQRT(l»C0-C0~EA);
HA[1]:.VV~VV-C0/TAN(PA[3]);
WA[23:-C/VV~C0/SIN(PA[3J);
WAC33:-SIN(PACl]);
'END' FUHl;
'PROCEDURE'FUN2( WA,PA)ARRAYWA,PA;
■BEGIN'C0:-C0S(PACo3);
VV:-SQRT(1+EA-CO-CO)
WA[13:-TAN(PA[3])/(C0-VV-VV);
WAC2]:-C/(VVxVV~VV-C0S(PAC3]));
WA[3]:.SIN(PA[o]MA[l];
'END' FUN2;
'PROCEOURE'TElT(N,K)INTEGER'N.K;
'BEGIN'N:-N+1;
'IF'STOP 'EQUAL'3 'THEN"GOTO'KLAAR;
IF'N 'EQUAL'K 'THEN'
'BEGIN'PRINT( "EPS HET loo VERMENIGVULDIGD");
EPS>EPS~loo;
STOP:-STOPtl;
N:-K-i
'END';
'END';
ST0P:-o;
RHO- 2o6264.8o6247
PI ;-3.l4l59265359o;
'GOTO'NAAMCNUK+1];
lïHAYFORD; ELL IPS[i]:-6378388;
ELL I PS[2]>6356911.94613; 'GOTO'GEEN;
2BESSEL: ELL I PSCl] >6377397.155;
ELL IPSE2]>6356078,96325; 'GOTO'GEEN;
SEVEREST i83o: ELL I PSCl] >6377276.34518;
ELLIPSE2]>6356o75.4l512; 'GOTO'GEEN;
4:CLARKE i860: ELL IPSEi] >6378206.4;
ELLIPSC2]>6356583.8; 'GOTO'GEEN;
5:KRASS0WSKY: ELLIPS[i]>6378245;
ELL I PS[2] >6356863.019; 'GOTO'GEEN;
6: BOMFORO; ELL 1 PSCl] >6378155;
ELLIPSC23: .6356773.32o4'>;
o: G E ENFl >(8GZ[13+BGZCJ3) /2;
DFI>(BGZ[J3-BGZCI3)/2;
0LAN>(8GZ[J+l]-BGZ[ni3)/2;
EA:-ELLIPSC13/ELLIPS[23
C:-ELLIPSCl3-EA;
EA>EA~EA-i;
V>SQRT(l.E/MOS'(FIHMS(FI));
Ao>ARCTAN(T AN(DLAH)«COS(FI )/SIN(DFI
OA>ARCTAN(TAN-(DLAH)~SIN(FI)/COS(OFI))-
BOOLFI >'IF'A8S(Ao) 'LESS'ARCTA«(COS(Fl'THEN"TRUE' 'ELSE-FALSE'
Ao>Ao-DA;
'IF'ABS(DLAM) 'GREATER',,-6 'THEN'
'BEGIN—I F'SIGN(Ao) 'NOT EQUAL' SIGN(DLAH) 'THEN'Ao:-Ao»PI-
SIG>ARCSIN(SIN(MLAH)«COS(BGZ[J])/SIN(Ao))-
'END'