|
◆ 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 603 del file geo_proj_class.F90.
611 IF (c_e(this%lov)) THEN
612 print*, "Central Meridian",this%lov
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)
|