libsim  Versione 7.1.9

◆ 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 860 del file geo_proj_class.F90.

861 lon = longitude_south_pole + &
862  raddeg*asin(sin(xr)*cos(degrad*y)/cos(degrad*lat))
863 
864 END SUBROUTINE unproj_rotated_ll
865 
866 ! come usare il polo? ruotare e antiruotare?
867 ELEMENTAL SUBROUTINE proj_stretched_ll(lon,lat,x,y, &
868  longitude_stretch_pole, latitude_stretch_pole, stretch_factor)
869 DOUBLE PRECISION, INTENT(in) :: lon,lat
870 DOUBLE PRECISION, INTENT(out) :: x,y
871 DOUBLE PRECISION, INTENT(in) :: longitude_stretch_pole, latitude_stretch_pole, &
872  stretch_factor
873 
874 DOUBLE PRECISION :: csq
875 
876 csq = stretch_factor**2
877 x = lon
878 y = raddeg*asin((1.0d0 - csq + (1.0d0 + csq)*sin(degrad*lat)) / &
879  (1.0d0 + csq + (1.0d0 - csq)*sin(degrad*lat)))
880 
881 END SUBROUTINE proj_stretched_ll
882 
883 ELEMENTAL SUBROUTINE unproj_stretched_ll(x,y,lon,lat,&
884  longitude_stretch_pole, latitude_stretch_pole, stretch_factor)
885 DOUBLE PRECISION, INTENT(in) :: x,y
886 DOUBLE PRECISION, INTENT(out) :: lon,lat
887 DOUBLE PRECISION, INTENT(in) :: longitude_stretch_pole, latitude_stretch_pole, &
888  stretch_factor
889 
890 DOUBLE PRECISION :: csq
891 
892 csq = stretch_factor**2
893 lon = x
894 ! TODO verificare la formula inversa
895 lat = raddeg*asin((csq - 1.0d0 + (csq + 1.0d0)*sin(degrad*y)) / &
896  (csq + 1.0d0 + (csq - 1.0d0)*sin(degrad*y)))

Generated with Doxygen.