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)
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 LAMBERT() uses the GRS 1980 spheroid to represent the surface of the Earth (which may be important to know for high-precision calculations).
SETLAM(), SETPOL(),SETTRM(), and SETEQM() set up GTPZ0() for argument-specified anonymous Lambert, Polar Stereographic, Transverse Mercator, or Equatorial Mercator projections, respectively.
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.
You must call 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.
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