      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                                                                       
