libsim  Versione6.3.0

◆ 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]thisObject to be queried
proj_typeType of projection
lovLine of view, also known as reference longitude or orientation of the grid (polar projections)
zoneEarth zone (mainly for UTM), sets lov to the correct zone central meridian
xoffOffset on x axis (false easting)
yoffOffset on y axis (false northing)
longitude_south_poleLongitude of the southern pole of projection
latitude_south_poleLatitude of the southern pole of projection
angle_rotationAngle of rotation of projection
longitude_stretch_poleLongitude of the pole of stretching
latitude_stretch_poleLatitude of the pole of stretching
stretch_factorStretching factor
latin1First standard latitude from main pole (Lambert)
latin2Second standard latitude from main pole (Lambert)
ladLatitude at which dx and dy (in m) are specified (Lambert, grib2 only)
projection_center_flagFlag indicating which pole is represented
ellips_smaj_axisEarth semi-major axis
ellips_flattEarth flattening
ellips_typenumber in the interval [1,nellips] indicating a predefined ellipsoid, alternative to the previous arguments
unitunit of measure of the projected coordinate, one of the constants geo_proj_unit_*

Definizione alla linea 628 del file geo_proj_class.F90.

628 
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
633  ENDIF
634  IF (c_e(this%polar%lad)) THEN
635  print*,"isometric latitude",this%polar%lad
636  ENDIF
637  IF (iand(this%polar%projection_center_flag, 128) == 0) THEN
638  print*,"North Pole"
639  ELSE
640  print*,"South Pole"
641  ENDIF
642 ENDIF
643 
644 IF (this%ellips%f == 0.0d0) THEN
645  print*,"Spherical Earth:"
646  print*,"Radius (m)",this%ellips%a
647 ELSE
648  print*,"Ellipsoid:"
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
652 ENDIF
653 
654 
655 END SUBROUTINE geo_proj_display
656 
657 
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
666 
667 SELECT CASE(this%proj_type)
668 
669 CASE("regular_ll")
670  CALL proj_regular_ll(lon, lat, x, y)
671 
672 CASE("rotated_ll")
673  CALL proj_rotated_ll(lon, lat, x, y, this%rotated%longitude_south_pole, &
674  this%rotated%latitude_south_pole, this%rotated%angle_rotation)
675 
676 CASE("lambert")
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)
680 
681 CASE("polar_stereographic")
682  CALL proj_polar_stereographic(lon, lat, x, y, this%lov, &
683  this%polar%lad, this%polar%projection_center_flag)
684 
685 CASE("UTM")
686  CALL proj_utm(lon, lat, x, y, this%lov, this%xoff, this%yoff, this%ellips)
687 
688 CASE default
689  x = dmiss
690  y = dmiss
691 
692 END SELECT
693 
694 END SUBROUTINE geo_proj_proj
695 
696 
699 ELEMENTAL SUBROUTINE geo_proj_unproj(this, x, y, lon, lat)

Generated with Doxygen.