libsim  Versione6.3.0

◆ geo_proj_proj()

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

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

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

Definizione alla linea 874 del file geo_proj_class.F90.

874 DOUBLE PRECISION, INTENT(out) :: lon,lat
875 DOUBLE PRECISION, INTENT(in) :: longitude_stretch_pole, latitude_stretch_pole, &
876  stretch_factor
877 
878 DOUBLE PRECISION :: csq
879 
880 csq = stretch_factor**2
881 lon = x
882 ! TODO verificare la formula inversa
883 lat = raddeg*asin((csq - 1.0d0 + (csq + 1.0d0)*sin(degrad*y)) / &
884  (csq + 1.0d0 + (csq - 1.0d0)*sin(degrad*y)))
885 
886 END SUBROUTINE unproj_stretched_ll
887 
888 
889 ! Formulas and notation from:
890 ! http://mathworld.wolfram.com/LambertConformalConicProjection.html
891 ! http://en.wikipedia.org/wiki/Lambert_conformal_conic_projection
892 ! http://fr.wikipedia.org/wiki/Projection_conique_conforme_de_Lambert
893 ! with the following guess:
894 ! projection is always polar, so reference latitude=+-90 according to
895 ! projectionCenterFlag; reference longitude is LoV.
896 ! how coordinates of south pole should be treated? Metview ignores them.
897 ELEMENTAL SUBROUTINE proj_lambert(lon,lat,x,y, &
898  latin1, latin2, lov, lad, projection_center_flag)
899 DOUBLE PRECISION, INTENT(in) :: lon,lat
900 DOUBLE PRECISION, INTENT(out) :: x,y
901 DOUBLE PRECISION, INTENT(in) :: latin1, latin2, lov, lad
902 INTEGER, INTENT(in) :: projection_center_flag
903 
904 DOUBLE PRECISION :: n, f, ro0, ro, cs1, cs2, cs3, pollat, angle, cot
905 DOUBLE PRECISION, PARAMETER :: epsy = 1.0d-100
906 

Generated with Doxygen.