visad.data.hdfeos
Class GctpFunction
java.lang.Object
visad.data.hdfeos.GctpFunction
- public class GctpFunction
- extends Object
|
Field Summary |
(package private) static int |
ALASKA
|
(package private) static int |
ALBERS
|
(package private) static int |
AZMEQD
|
(package private) static double |
D2R
|
(package private) static int |
DATMCT
|
(package private) static double |
DBLLONG
|
(package private) static double |
EPSLN
|
(package private) static double |
EPSLNI
|
(package private) static int |
EQRECT
|
(package private) static int |
EQUIDC
|
(package private) static int |
GEO
|
(package private) static int |
GNOMON
|
(package private) static int |
GOOD
|
(package private) static int |
GVNSP
|
(package private) static double |
HALF_PI
|
(package private) static int |
HAMMER
|
(package private) static int |
HOM
|
(package private) static int |
IMOLL
|
(package private) static int |
LAMAZ
|
(package private) static int |
LAMCC
|
(package private) static double[] |
major_data
NAME SPHDZ
PURPOSE: This function assigns values to the semimajor axis, semiminor
axis, and radius of sphere. |
(package private) static int |
MAX_VAL
|
(package private) static long |
MAXLONG
|
(package private) static int |
MERCAT
|
(package private) static int |
MILLER
|
(package private) static double[] |
minor_data
|
(package private) static int |
MOLL
|
(package private) static int |
OBEQA
|
(package private) static int |
ORTHO
|
(package private) static double |
PI
|
(package private) static int |
POLYC
|
(package private) static int |
PS
|
(package private) static double |
R2D
|
(package private) static int |
ROBIN
|
(package private) static double |
S2R
|
(package private) static int |
SNSOID
|
(package private) static int |
SOM
|
(package private) static int |
SPCS
|
(package private) static int |
STEREO
|
(package private) static int |
TM
|
(package private) static double |
TWO_PI
|
(package private) static int |
USDEF
|
(package private) static int |
UTM
|
(package private) static int |
VGRINT
|
(package private) static int |
WAGIV
|
(package private) static int |
WAGVII
|
|
Method Summary |
static double |
adjust_lon(double x)
|
static double[] |
adjust_lon(double[] x)
|
static double |
asinz(double con)
|
static double |
e4fn(double x)
|
static double |
msfnz(double eccent,
double sinphi,
double cosphi)
|
(package private) static int |
paksz(double ang,
double[] Ddeg)
NAME PAKSZ
PURPOSE: This function converts a packed DMS angle to seconds. |
static double |
phi2z(double eccent,
double ts)
|
static int |
sign(double x)
|
static void |
sincos(double[] val,
double[] sin_val,
double[] cos_val)
|
static void |
sincos(double val,
Double sin_val,
Double cos_val)
|
static int |
sphdz(long isph,
double[] parm,
double[] major,
double[] minor,
double[] radius)
|
static double |
tsfnz(double eccent,
double phi,
double sinphi)
|
| Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
GEO
static final int GEO
- See Also:
- Constant Field Values
UTM
static final int UTM
- See Also:
- Constant Field Values
SPCS
static final int SPCS
- See Also:
- Constant Field Values
ALBERS
static final int ALBERS
- See Also:
- Constant Field Values
LAMCC
static final int LAMCC
- See Also:
- Constant Field Values
MERCAT
static final int MERCAT
- See Also:
- Constant Field Values
PS
static final int PS
- See Also:
- Constant Field Values
POLYC
static final int POLYC
- See Also:
- Constant Field Values
EQUIDC
static final int EQUIDC
- See Also:
- Constant Field Values
TM
static final int TM
- See Also:
- Constant Field Values
STEREO
static final int STEREO
- See Also:
- Constant Field Values
LAMAZ
static final int LAMAZ
- See Also:
- Constant Field Values
AZMEQD
static final int AZMEQD
- See Also:
- Constant Field Values
GNOMON
static final int GNOMON
- See Also:
- Constant Field Values
ORTHO
static final int ORTHO
- See Also:
- Constant Field Values
GVNSP
static final int GVNSP
- See Also:
- Constant Field Values
SNSOID
static final int SNSOID
- See Also:
- Constant Field Values
EQRECT
static final int EQRECT
- See Also:
- Constant Field Values
MILLER
static final int MILLER
- See Also:
- Constant Field Values
VGRINT
static final int VGRINT
- See Also:
- Constant Field Values
HOM
static final int HOM
- See Also:
- Constant Field Values
ROBIN
static final int ROBIN
- See Also:
- Constant Field Values
SOM
static final int SOM
- See Also:
- Constant Field Values
ALASKA
static final int ALASKA
- See Also:
- Constant Field Values
GOOD
static final int GOOD
- See Also:
- Constant Field Values
MOLL
static final int MOLL
- See Also:
- Constant Field Values
IMOLL
static final int IMOLL
- See Also:
- Constant Field Values
HAMMER
static final int HAMMER
- See Also:
- Constant Field Values
WAGIV
static final int WAGIV
- See Also:
- Constant Field Values
WAGVII
static final int WAGVII
- See Also:
- Constant Field Values
OBEQA
static final int OBEQA
- See Also:
- Constant Field Values
USDEF
static final int USDEF
- See Also:
- Constant Field Values
DATMCT
static final int DATMCT
- See Also:
- Constant Field Values
PI
static final double PI
- See Also:
- Constant Field Values
HALF_PI
static final double HALF_PI
- See Also:
- Constant Field Values
TWO_PI
static final double TWO_PI
- See Also:
- Constant Field Values
EPSLNI
static final double EPSLNI
- See Also:
- Constant Field Values
R2D
static final double R2D
- See Also:
- Constant Field Values
D2R
static final double D2R
- See Also:
- Constant Field Values
S2R
static final double S2R
- See Also:
- Constant Field Values
EPSLN
static final double EPSLN
- See Also:
- Constant Field Values
MAX_VAL
static final int MAX_VAL
- See Also:
- Constant Field Values
MAXLONG
static final long MAXLONG
- See Also:
- Constant Field Values
DBLLONG
static final double DBLLONG
- See Also:
- Constant Field Values
major_data
static double[] major_data
- NAME SPHDZ
PURPOSE: This function assigns values to the semimajor axis, semiminor
axis, and radius of sphere. If the datum code is negative,
the first two values in the parameter array (parm) are used
to define the values as follows:
--If parm[0] is a non-zero value and parm[1] is greater than
one, the semimajor axis and radius are set to parm[0] and
the semiminor axis is set to parm[1].
--If parm[0] is nonzero and parm[1] is greater than zero but
less than or equal to one, the semimajor axis and radius
are set to parm[0] and the semiminor axis is computed
from the eccentricity squared value parm[1]. This
algorithm is given below.
--If parm[0] is nonzero and parm[1] is equal to zero, the
semimajor axis, radius, and semiminor axis are set to
parm[0].
--If parm[0] equals zero and parm[1] is greater than zero,
the default Clarke 1866 is used to assign values to the
semimajor axis, radius and semiminor axis.
--If parm[0] and parm[1] equals zero, the semimajor axis
and radius are set to 6370997.0 (This value is represented
as the last value in the datum code array) and the
semiminor axis is set to zero.
if a datum code is zero or greater, the semimajor and
semiminor axis are defined by the datum code as found
in Table A and the radius is set to 6370997.0. If the
datum code is greater than DATMCT the default datum,
Clarke 1866, is used to define the semimajor
and semiminor axis and radius is set to 6370997.0.
The algorithm to define the semiminor axis using the
eccentricity squared value is as follows:
semiminor = sqrt(1.0 - ES) * semimajor where
ES = eccentricity squared
Table A:
SUPPORTED SPHEROIDS
0: Clarke 1866 (default) 1: Clarke 1880
2: Bessel 3: International 1967
4: International 1909 5: WGS 72
6: Everest 7: WGS 66
8: GRS 1980 9: Airy
10: Modified Everest 11: Modified Airy
12: WGS 84 13: Southeast Asia
14: Australian National 15: Krassovsky
16: Hough 17: Mercury 1960
18: Modified Mercury 1968 19: Sphere of Radius
6370997 meters
PROGRAMMER DATE
---------- ----
T. Mittan MARCH, 1993
ALGORITHM REFERENCES
1. Snyder, John P., "Map Projections--A Working Manual", U.S. Geological
Survey Professional Paper 1395 (Supersedes USGS Bulletin 1532), United
State Government Printing Office, Washington D.C., 1987.
2. Snyder, John P. and Voxland, Philip M., "An Album of Map Projections",
U.S. Geological Survey Professional Paper 1453 , United State Government
Printing Office, Washington D.C., 1989.
minor_data
static double[] minor_data
GctpFunction
public GctpFunction()
sphdz
public static int sphdz(long isph,
double[] parm,
double[] major,
double[] minor,
double[] radius)
paksz
static int paksz(double ang,
double[] Ddeg)
- NAME PAKSZ
PURPOSE: This function converts a packed DMS angle to seconds. The
standard packed DMS format is:
degrees * 1000000 + minutes * 1000 + seconds
Example: ang = 120025045.25 yields
deg = 120
min = 25
sec = 45.25
The algorithm used for the conversion is as follows:
1. The absolute value of the angle is used.
2. The degrees are separated out:
deg = ang/1000000 (fractional portion truncated)
3. The minutes are separated out:
min = (ang - deg * 1000000) / 1000 (fractional
portion truncated)
4. The seconds are then computed:
sec = ang - deg * 1000000 - min * 1000
5. The total angle in seconds is computed:
sec = deg * 3600.0 + min * 60.0 + sec
6. The sign of sec is set to that of the input angle.
PROGRAMMER DATE
---------- ----
T. Mittan MARCH, 1993
ALGORITHM REFERENCES
1. Snyder, John P., "Map Projections--A Working Manual", U.S. Geological
Survey Proffesional Paper 1395 (Supersedes USGS Bulletin 1532), United
State Government Printing Office, Washington D.C., 1987.
2. Snyder, John P. and Voxland, Philip M., "An Album of Map Projections",
U.S. Geological Survey Professional Paper 1453 , United State Government
Printing Office, Washington D.C., 1989.
sign
public static int sign(double x)
adjust_lon
public static double[] adjust_lon(double[] x)
adjust_lon
public static double adjust_lon(double x)
sincos
public static void sincos(double[] val,
double[] sin_val,
double[] cos_val)
sincos
public static void sincos(double val,
Double sin_val,
Double cos_val)
asinz
public static double asinz(double con)
e4fn
public static double e4fn(double x)
msfnz
public static double msfnz(double eccent,
double sinphi,
double cosphi)
tsfnz
public static double tsfnz(double eccent,
double phi,
double sinphi)
phi2z
public static double phi2z(double eccent,
double ts)