libsim  Versione6.3.0

◆ geo_proj_unproj()

elemental subroutine geo_proj_unproj ( type(geo_proj), intent(in)  this,
double precision, intent(in)  x,
double precision, intent(in)  y,
double precision, intent(out)  lon,
double precision, intent(out)  lat 
)

Computes and returns geographical coordinates given the coordinates in the projected system.

Parametri
[in]thisobject to unproject
[in]xprojected coordinates
[in]yprojected coordinates
[out]longeographical coordinates
[out]latgeographical coordinates

Definizione alla linea 913 del file geo_proj_class.F90.

913 cs2 = TAN(pi*.25D0 + degrad*latin1*.5D0)
914 
915 IF (latin1 == latin2) THEN
916  n = sin(degrad*latin1) ! verify that n->sin(latin1) when latin2->latin1
917 ELSE
918  n = log(cs1/cos(degrad*latin2)) / &
919  log(tan(pi*.25d0 + degrad*latin2*.5d0) / cs2)
920 ENDIF
921 f = cs1*cs2**n/n*rearth ! check that rearth is correct here (only if lad==latin1?)
922 angle = pi*.25d0 + pollat*.5d0
923 cot = COS(angle)/SIN(angle)
924 IF (cot > epsy) THEN
925  ro0 = f*cot**n
926 ELSE
927  ro0 = 0.0d0
928 ENDIF
929 
930 angle = pi*.25d0 + degrad*lat*.5d0
931 cot = COS(angle)/SIN(angle)
932 IF (cot > epsy) THEN
933  ro = f*cot**n
934 ELSE
935  ro = 0.0d0
936 ENDIF
937 
938 cs3 = degrad*n*(lon - lov)
939 
940 x = ro*sin(cs3)
941 y = ro0 - ro*cos(cs3)
942 
943 END SUBROUTINE proj_lambert
944 
945 ELEMENTAL SUBROUTINE unproj_lambert(x,y,lon,lat, &

Generated with Doxygen.