|
◆ 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 628 del file geo_proj_class.F90.
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%ellips%f == 0.0d0) THEN 645 print*, "Spherical Earth:" 646 print*, "Radius (m)",this%ellips%a 649 print*, "Flattening",this%ellips%f 650 print*, "Reverse of flattening",1.0d0/this%ellips%f 651 print*, "Semi-major axis (m)",this%ellips%a 655 END SUBROUTINE geo_proj_display 660 ELEMENTAL SUBROUTINE geo_proj_proj(this, lon, lat, x, y) 661 TYPE(geo_proj), INTENT(in) :: this 663 DOUBLE PRECISION, INTENT(in) :: lon, lat 665 DOUBLE PRECISION, INTENT(out) :: x, y 667 SELECT CASE(this%proj_type) 670 CALL proj_regular_ll(lon, lat, x, y) 673 CALL proj_rotated_ll(lon, lat, x, y, this%rotated%longitude_south_pole, & 674 this%rotated%latitude_south_pole, this%rotated%angle_rotation) 677 CALL proj_lambert(lon, lat, x, y, this%polar%latin1, & 678 this%polar%latin2, this%lov, this%polar%lad, & 679 this%polar%projection_center_flag) 681 CASE( "polar_stereographic") 682 CALL proj_polar_stereographic(lon, lat, x, y, this%lov, & 683 this%polar%lad, this%polar%projection_center_flag) 686 CALL proj_utm(lon, lat, x, y, this%lov, this%xoff, this%yoff, this%ellips) 694 END SUBROUTINE geo_proj_proj 699 ELEMENTAL SUBROUTINE geo_proj_unproj(this, x, y, lon, lat)
|