SUBROUTINE TTLSK(XO,YO,X1,Y1,X2,Y2,PHIO,A,B,KO,TT,LSK) C C THIS SUBROUTINE WILL COMPUTE THE T-T CORRECTION AND THE C LINE SCALE FACTOR FOR THE DOUBLE STEREOGRAPHIC PROJECTION. C C INPUT: C XO,YO - COORDINATES OF THE ORIGIN (IN METRES). C X1,Y1 - COORDINATES OFTHE KNOWN POINT (IN METRES). C X2,Y2 - APPROXIMATE COORDINATES OF THE UNKNOWN POINT (IN METRES). C PHIO - PHI OF THE ORIGIN (IN RADIANS). C A,B - SEMI-MAJOR AND SEMI-MINOR AXES OF THE ELLIPSOID (IN METRES) C KO - SCALE FACTOR AT THE ORIGIN. C C OUTPUT: C TT - T-T CORRECTION (IN RADIANS). C LSK - LINE SCALE FACTOR. C C WRITTEN BY G. BOWIE, JAN. 1977. C IMPLICIT REAL*8(A-Z) PI=3.141592653589793D0 X1=X1-XO Y1=Y1-YO X2=X2-XO Y2=Y2-YO E2=(A*A-B*B)/(A*A) R=A*DSQRT(1.D0-E2)/(1.D0-E2*DSIN(PHIO)**2) NUM=X2*Y1-X1*Y2 DEN=X1*X2+Y1*Y2+(KO*R*2.D0)**2 TT=DATAN2(NUM,DEN) TT=DABS(TT) AZ01=DATAN2(X1,Y1) AZ10=DATAN2(-X1,-Y1) AZ12=DATAN2(X2-X1,Y2-Y1) IF(AZ01.LT.0.0) AZ01=AZ01+PI*2.D0 IF(AZ10.LT.0.0) AZ10=AZ10+PI*2.D0 IF(AZ12.LT.0.0) AZ12=AZ12+PI*2.D0 WRITE(6,*)AZ01,AZ10,AZ12 IF(AZ10.LT.AZ01) GO TO 3 IF(AZ12.GT.AZ01) GO TO 1 GO TO 2 1 IF(AZ12.LT.AZ10) GO TO 5 2 TT=-TT GO TO 5 3 IF(AZ12.GT.AZ10) GO TO 4 GO TO 5 4 IF(AZ12.GT.AZ01) GO TO 5 GO TO 2 5 CONTINUE TT=-TT Y1=Y1+YO X1=X1+XO Y2=Y2+YO X2=X2+XO DEN2=4.D0*KO*(R**2) K1=KO+((X1-XO)**2+(Y1-YO)**2)/DEN2 K2=KO+((X2-XO)**2+(Y2-YO)**2)/DEN2 XM=(X1+X2)/2.D0 YM=(Y1+Y2)/2.D0 KM=KO+((XM-XO)**2+(YM-YO)**2)/DEN2 LSK=1.D0/((1.D0/6.D0)*(1.D0/K1+4.D0/KM+1.D0/K2)) RETURN END