|
◆ geo_proj_get_val()
subroutine geo_proj_get_val |
( |
type(geo_proj), intent(in) |
this, |
|
|
character(len=*), optional |
proj_type, |
|
|
double precision, optional |
lov, |
|
|
integer, optional |
zone, |
|
|
double precision, optional |
xoff, |
|
|
double precision, optional |
yoff, |
|
|
double precision, optional |
longitude_south_pole, |
|
|
double precision, optional |
latitude_south_pole, |
|
|
double precision, optional |
angle_rotation, |
|
|
double precision, optional |
longitude_stretch_pole, |
|
|
double precision, optional |
latitude_stretch_pole, |
|
|
double precision, optional |
stretch_factor, |
|
|
double precision, optional |
latin1, |
|
|
double precision, optional |
latin2, |
|
|
double precision, optional |
lad, |
|
|
integer, optional |
projection_center_flag, |
|
|
double precision, optional |
ellips_smaj_axis, |
|
|
double precision, optional |
ellips_flatt, |
|
|
integer, optional |
ellips_type, |
|
|
integer, optional |
unit |
|
) |
| |
- Parametri
-
[in] | this | Object to be queried |
| proj_type | Type of projection |
| lov | Line of view, also known as reference longitude or orientation of the grid (polar projections) |
| zone | Earth zone (mainly for UTM), sets lov to the correct zone central meridian |
| xoff | Offset on x axis (false easting) |
| yoff | Offset on y axis (false northing) |
| longitude_south_pole | Longitude of the southern pole of projection |
| latitude_south_pole | Latitude of the southern pole of projection |
| angle_rotation | Angle of rotation of projection |
| longitude_stretch_pole | Longitude of the pole of stretching |
| latitude_stretch_pole | Latitude of the pole of stretching |
| stretch_factor | Stretching factor |
| latin1 | First standard latitude from main pole (Lambert) |
| latin2 | Second standard latitude from main pole (Lambert) |
| lad | Latitude at which dx and dy (in m) are specified (Lambert, grib2 only) |
| projection_center_flag | Flag indicating which pole is represented |
| ellips_smaj_axis | Earth semi-major axis |
| ellips_flatt | Earth flattening |
| ellips_type | number in the interval [1,nellips] indicating a predefined ellipsoid, alternative to the previous arguments |
| unit | unit of measure of the projected coordinate, one of the constants geo_proj_unit_* |
Definizione alla linea 613 del file geo_proj_class.F90.
615 IF (this%proj_type == 'rotated_ll' .OR. this%proj_type == 'stretched_rotated_ll') THEN 616 print*, "Rotated projection:" 617 print*, "lon of south pole",this%rotated%longitude_south_pole 618 print*, "lat of south pole",this%rotated%latitude_south_pole 619 print*, "angle of rotation",this%rotated%angle_rotation 622 IF (this%proj_type == 'stretched_ll' .OR. this%proj_type == 'stretched_rotated_ll') THEN 623 print*, "Stretched projection:" 624 print*, "lon of stretch pole",this%stretched%longitude_stretch_pole 625 print*, "lat of stretch pole",this%stretched%latitude_stretch_pole 626 print*, "stretching factor",this%stretched%stretch_factor 629 IF (this%proj_type == 'lambert' .OR. this%proj_type == 'polar_stereographic') THEN 630 print*, "Polar projection:" 631 IF (c_e(this%polar%latin1) .OR. c_e(this%polar%latin2)) THEN 632 print*, "lat of intersections",this%polar%latin1,this%polar%latin2 634 IF (c_e(this%polar%lad)) THEN 635 print*, "isometric latitude",this%polar%lad 637 IF (iand(this%polar%projection_center_flag, 128) == 0) THEN 644 IF (this%proj_type == 'mercator') THEN 645 IF (c_e(this%polar%lad)) THEN 646 print*, "isometric latitude",this%polar%lad 650 IF (this%ellips%f == 0.0d0) THEN 651 print*, "Spherical Earth:" 652 print*, "Radius (m)",this%ellips%a 655 print*, "Flattening",this%ellips%f 656 print*, "Reverse of flattening",1.0d0/this%ellips%f 657 print*, "Semi-major axis (m)",this%ellips%a 661 END SUBROUTINE geo_proj_display 666 ELEMENTAL SUBROUTINE geo_proj_proj(this, lon, lat, x, y) 667 TYPE(geo_proj), INTENT(in) :: this 669 DOUBLE PRECISION, INTENT(in) :: lon, lat 671 DOUBLE PRECISION, INTENT(out) :: x, y 673 SELECT CASE(this%proj_type) 676 CALL proj_regular_ll(lon, lat, x, y) 679 CALL proj_rotated_ll(lon, lat, x, y, this%rotated%longitude_south_pole, & 680 this%rotated%latitude_south_pole, this%rotated%angle_rotation) 683 CALL proj_lambert(lon, lat, x, y, this%polar%latin1, & 684 this%polar%latin2, this%lov, this%polar%lad, &
|