LOGICAL FUNCTION LAMBERT( CNAME, A, B, C, XC, YV )
ENTRY POLSTE( CNAME, A, B, C, X, Y )
ENTRY TRMERC( CNAME, A, B, C, X, Y )
ENTRY EQMERC( CNAME, A, B, C, X, Y )
ENTRY SETLAM( A, B, C, X, Y )
ENTRY SETPOL( A, B, C, X, Y )
ENTRY SETTRM( A, B, C, X, Y )
ENTRY SETEQM( A, B, C, X, Y )
ENTRY LAM2LL( X, Y, LON, LAT )
ENTRY LL2LAM( LON, LAT, X, Y )
ENTRY LAM2UTM( X, Y, Z, U, V )
ENTRY UTM2LAM( X, Y, Z, U, V )
ENTRY POL2LL ( X, Y, LON, LAT )
ENTRY LL2POL ( LON, LAT, X, Y )
ENTRY LAM2POL( X, Y, U, V )
ENTRY POL2LAM( X, Y, U, V )
ENTRY POL2UTM( X, Y, Z, U, V )
ENTRY UTM2POL( X, Y, Z, U, V )
ENTRY TRM2LL( X, Y, LON, LAT )
ENTRY LL2TRM( LON, LAT, X, Y )
ENTRY TRM2LAM( X, Y, U, V )
ENTRY LAM2TRM( X, Y, U, V )
ENTRY TRM2UTM( X, Y, Z, U, V )
ENTRY UTM2TRM( X, Y, Z, U, V )
ENTRY TRM2POL( X, Y, U, V )
ENTRY POL2TRM( X, Y, U, V )
ENTRY EQM2LL( X, Y, LON, LAT )
ENTRY LL2EQM( LON, LAT, X, Y )
ENTRY EQM2LAM( X, Y, U, V )
ENTRY LAM2EQM( X, Y, U, V )
ENTRY EQM2UTM( X, Y, Z, U, V )
ENTRY UTM2EQM( X, Y, Z, U, V )
ENTRY EQM2TRM( X, Y, U, V )
ENTRY TRM2EQM( X, Y, U, V )
ENTRY EQM2POL( X, Y, U, V )
ENTRY POL2EQM( X, Y, U, V )
REAL A ! first secant latitude, or P_ALPHA
REAL B ! second secant latitude B > A, or P_BETA
REAL C ! central meridian, or P_GAMMA
REAL XC ! Longitude of Cartesian origin
REAL YC ! Latitude of Cartesian origin
REAL X ! (Input) Cartesian easting in meters
REAL Y ! (Input) Cartesian northing in meters
REAL U ! (Output) Cartesian easting in meters
REAL V ! (Output) Cartesian northing in meters
REAL LON ! East longitude in decimal degrees
REAL LAT ! North latitude in decimal degrees
INTEGER Z ! UTM zone (1...36)
LAMBERT(), POLSTE(),
TRMERC(), and EQMERC()GTPZ0()
by map-projection name for particular
named Lambert, Polar Stereographic, Transverse
Mercator, or Equatorial Mercator projections, respectively. If
CNAME is the grid name, the subroutine
returns the corresponding coordinate system name, and
coordinate definition parameters A,B,C,X,Y.
SETLAM(), SETPOL(),
SETTRM(), and SETEQM() set up
GTPZ0() according to map-projection parameters supplied
as arguments, for anonymous Lambert, Polar Stereographic,
Transverse Mercator, or Equatorial Mercator projections,
respectively.
Note that except for Cray vector machines (Y-MP, C-90, T-90,
J-90), inputs are 4-byte REAL single precision
(unlike the double precision used internally by
GCTP). Calculations for which precision is important
should use GCTP directly; further note that by
default, LAMBERT() etc., use the GRS 1980
spheroid to represent the surface of the Earth (which may be
important to know for high-precision calculations).
Other entries behave as follows:
| ENTRY Name | Input Coordinate System | Output Coordinate System |
|---|---|---|
| LAM2LL | Lambert | LAT-LON |
| LL2LAM | LAT-LON | Lambert |
| LAM2UTM | Lambert | UTM |
| UTM2LAM | UTM | Lambert |
| LL2POL | LAT-LON | Polar Stereographic |
| POL2LL | Polar Stereographic | LAT-LON |
| LAM2POL | Lambert | Polar Stereographic |
| POL2LAM | Polar Stereographic | Lambert |
| POL2UTM | Polar Stereographic | UTM |
| UTM2POL | UTM | Polar Stereographic |
| TRM2LL | Transverse Mercator | LAT-LON |
| LL2TRM | LAT-LON | Transverse Mercator |
| TRM2LAM | Transverse Mercator | Lambert |
| LAM2TRM | Lambert | Transverse Mercator |
| TRM2UTM | Transverse Mercator | UTM |
| UTM2TRM | UTM | Transverse Mercator |
| TRM2POL | Transverse Mercator | Polar Stereographic |
| POL2TRM | Polar Stereographic | Transverse Mercator |
| EQM2LL | Equatorial Mercator | LAT-LON |
| LL2EQM | LAT-LON | Equatorial Mercator |
| EQM2LAM | Equatorial Mercator | Lambert |
| LAM2EQM | Lambert | Equatorial Mercator |
| EQM2UTM | Equatorial Mercator | UTM |
| UTM2EQM | UTM | Equatorial Mercator |
| EQM2TRM | Equatorial Mercator | Transverse Mercator |
| TRM2EQM | Transverse Mercator | Equatorial Mercator |
| EQM2POL | Equatorial Mercator | Polar Stereographic |
| POL2EQM | Polar Stereographic | Equatorial Mercator |
See the section on horizontal coordinate and grids for more about I/O API grid and coordinate system conventions. See also USGS package GCTP and routines LL2UTM and UTM2LL.
LAMBERT(), POLSTE(), TRMERC(), or
EQMERC(), CNAME must be the name either
of a coordinate system or a grid found in file
GRIDDESC; furthermore, the projection-type of that
coordinate system must be respectively LAMGRD3 (i.e.,
Lambert), POLGRD3 (Polar Stereographic),
TRMGRD3 (Transverse Mercator), or EQMGRD3
(Equatorial Mercator), respectively.
You must call
CNAME has length at most 16.
If named map projections are specified by LAMBERT(), POLSTE(),
TRMERC(), or EQMERC(), then a file with logical name
GRIDDESC exists and contains
correctly formatted coordinate system descriptions and grid
descriptions.
Up: Coordinate and Grid Related Routines
To: Models-3/EDSS I/O API: The Help Pages
LAMBERT() or SETLAM()
before calling conversion functions with Lambert input or
output coordinates; likewise POLSTE() or
SETPOL(), TRMERC() or
SETTRM(), or EQMERC() or SETEQM() before
calling functions with respectively Polar Stereographic, Transverse
Mercator, or Equatorial Mercator.
Fortran Usage:
(See sample programs
LATLON,
PRESZ, or
UTMTOOL,
for usage examples.)
Previous: GCTP