      SUBROUTINE ERRMPI(MPDIST,XI,YI,XJ,YJ,VCDIR,VCINV)                         
C                                                                               
C        THIS SUBROUTINE WILL COMPUTE THE VARIANCE COVARIANCE MATRIX  OF THE    
C      MAPPING PLANE AZIMUTH AND DISTANCE SOLVED FOR IN THE INVERSE GEODETIC    
C      POSITIONING PROBLEM ON A MAPPING PLANE.                                  
C                                                                               
C        INPUT:                                                                 
C                                                                               
C              MPDIST - DISTANCE ON THE MAPPING PLANE.                          
C              XI,YI,XJ,YJ - X,Y COORDINATES OF POINTS 1 AND 2.                 
C              VCDIR - VARIANCE COVARIANCE MATRIX OF THE X,Y COORDINATES OF     
C                      POINTS 1 AND 2.                                          
C                                                                               
C        OUTPUT:                                                                
C                                                                               
C              VCINV - VARIANCE COVARIANCE MATRIX OF MAPPING PLANE AZIMUTH AND  
C                      DISTANCE.                                                
C                                                                               
C                                           WRITTEN BY G.BOWIE, DEC. 1977.      
C                                                                               
      IMPLICIT REAL*8 (A-Z)                                                     
      REAL*8 B(2,4),BVC(2,4),BT(4,2),VCDIR(4,4),VCINV(2,2)                      
      B(1,1)=(YI-YJ)/MPDIST**2                                                  
      B(1,2)=(XJ-XI)/MPDIST**2                                                  
      B(1,3)=(YJ-YI)/MPDIST**2                                                  
      B(1,4)=(XI-XJ)/MPDIST**2                                                  
      B(2,1)=(XI-XJ)/MPDIST                                                     
      B(2,2)=(YI-YJ)/MPDIST                                                     
      B(2,3)=(XJ-XI)/MPDIST                                                     
      B(2,4)=(YJ-YI)/MPDIST                                                     
      CALL TRNSD(BT,4,B,2,2,4)                                                  
      CALL MMULD(BVC,2,B,2,VCDIR,4,2,4,4)                                       
      CALL MMULD(VCINV,2,BVC,2,BT,4,2,4,2)                                      
      WRITE(6,100)                                                              
  100 FORMAT('     DESIGN MATRIX-INVERSE CASE')                                 
      CALL MOUTD(B,2,2,4)                                                       
      WRITE(6,101)                                                              
  101 FORMAT('     VC MATRIX-INVERSE CASE')                                     
      CALL MOUTD(VCINV,2,2,2)                                                   
      RETURN                                                                    
      END                                                                       
