SUBROUTINE XYZPLH(X,Y,Z,XO,YO,ZO,A,B,PHI,RLAM,H) C C THIS ROUTINE COMPUTES THE ELLIPSOIDAL COORDINATES PHI,RLAM,H C GIVEN THE CARTESION COORDINATES X,Y,Z. C C INPUT: C X,Y,Z-CARTESION COORDINATES OF THE POINT IN METRES. C XO,YO,ZO-TRANSLATION COMPONENTS FROM THE ORIGIN OF THE C CARTESIAN COORDINATE SYTEM (X,Y,Z)TO THE CENTER C OF THE REFERENCE ELLIPSOID. (IN METRES.) C A,B-SEMI-MAJOR AND SEMI-MINOR AXES OF THE REFERENCE C ELLIPSOID IN METRES. C C OUTPUT: C PHI-ELLIPSOIDAL LATITUDE IN RADIANS. C RLAM-ELLIPSOIDAL LONGITUDE IN RADIANS. C (POSITIVE EAST OF GREENWICH) C H-ELLIPSOIDAL HEIGHT IN METRES. C C WRITTEN BY R.R.STEEVES C JUNE,1977 C C IMPLICIT REAL*8(A-Z) E2=(A*A-B*B)/(A*A) XP=X-XO YP=Y-YO ZP=Z-ZO S=DSQRT(XP**2+YP**2) RLAM=DATAN2(YP,XP) ZPS=ZP/S H=DSQRT(XP**2+YP**2+ZP**2)-A PHI=DATAN(ZPS/(1.D0-E2*A/(A+H))) 1 N=A/DSQRT(1.D0-E2*DSIN(PHI)**2) HP=H PHIP=PHI H=S/ DCOS(PHI)-N PHI=DATAN(ZPS/(1.D0-E2*N/(N+H))) IF(DABS(PHIP-PHI).GT.1.D-11.OR.DABS(HP-H).GT.1.D-5)GO TO 1 RETURN END