|
◆ 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] | this | object to unproject |
[in] | x | projected coordinates |
[in] | y | projected coordinates |
[out] | lon | geographical coordinates |
[out] | lat | geographical coordinates |
Definizione alla linea 907 del file geo_proj_class.F90.
909 ELEMENTAL SUBROUTINE proj_lambert(lon,lat,x,y, & 910 latin1, latin2, lov, lad, projection_center_flag) 911 DOUBLE PRECISION, INTENT(in) :: lon,lat 912 DOUBLE PRECISION, INTENT(out) :: x,y 913 DOUBLE PRECISION, INTENT(in) :: latin1, latin2, lov, lad 914 INTEGER, INTENT(in) :: projection_center_flag 916 DOUBLE PRECISION :: n, f, ro0, ro, cs1, cs2, cs3, pollat, angle, cot 917 DOUBLE PRECISION, PARAMETER :: epsy = 1.0d-100 919 IF (iand(projection_center_flag, 128) == 0) THEN 920 pollat = 90.d0*degrad 922 pollat = -90.d0*degrad 924 cs1 = cos(degrad*latin1) 925 cs2 = tan(pi*.25d0 + degrad*latin1*.5d0) 927 IF (latin1 == latin2) THEN 928 n = sin(degrad*latin1) 930 n = log(cs1/cos(degrad*latin2)) / & 931 log(tan(pi*.25d0 + degrad*latin2*.5d0) / cs2) 933 f = cs1*cs2**n/n*rearth 934 angle = pi*.25d0 + pollat*.5d0 935 cot = cos(angle)/sin(angle) 942 angle = pi*.25d0 + degrad*lat*.5d0
|