Package noaa.coastwatch.util.trans
Class HammerProjection
- All Implemented Interfaces:
Cloneable
,ProjectionConstants
The
HammerProjection
class performs
Hammer map projection calculations.- Since:
- 3.3.0
- Author:
- Peter Hollemans
-
Field Summary
Fields inherited from class noaa.coastwatch.util.trans.GCTPCStyleProjection
ERROR, IN_BREAK, LAT, LON, OK, params, X, Y
Fields inherited from class noaa.coastwatch.util.trans.GCTPStyleProjection
C3P, D2R, ec, ec2, EPSLN, falseEast, falseNorth, HALF_PI, PI, R2D, rMajor, TWO_PI
Fields inherited from class noaa.coastwatch.util.trans.MapProjection
datum, DESCRIPTION, forwardAffine, inverseAffine, spheroid, system, zone
Fields inherited from class noaa.coastwatch.util.trans.EarthTransform
boundaryHandler, dims
Fields inherited from interface noaa.coastwatch.util.trans.ProjectionConstants
ALASKA, ALBERS, AZMEQD, EQRECT, EQUIDC, GEO, GNOMON, GOOD, GVNSP, HAMMER, HOM, IMOLL, LAMAZ, LAMCC, MAX_PROJECTIONS, MERCAT, MILLER, MOLL, OBEQA, ORTHO, POLYC, PROJECTION_NAMES, PS, ROBIN, SNSOID, SOM, SPCS, STEREO, TM, USDEF, UTM, VGRINT, WAGIV, WAGVII
-
Constructor Summary
ConstructorDescriptionHammerProjection
(double rMajor, int[] dimensions, AffineTransform affine, double center_long, double falseEast, double falseNorth) Constructs a map projection from the specified projection and affine transform. -
Method Summary
Modifier and TypeMethodDescriptionprotected long
projfor
(double lat, double lon, double[] x, double[] y) Performs the actual forward calculation as specified in the GCTP C code.protected long
projinv
(double x, double y, double[] lon, double[] lat) Performs the actual inverse calculation as specified in the GCTP C code.Methods inherited from class noaa.coastwatch.util.trans.GCTPCStyleProjection
cenlat, cenlon, cenlonmer, genrpt, genrpt_long, getParameters, mapTransformFor, mapTransformInv, offsetp, origin, p_error, p_error, p_error, paksz, phi1z, phi2z, phi3z, phi4z, ptitle, radius, radius2, setParameters, sprintf, stanparl, stparl1
Methods inherited from class noaa.coastwatch.util.trans.GCTPStyleProjection
adjust_lon, asinz, calc_utm_zone, e0fn, e1fn, e2fn, e3fn, e4fn, mlfn, msfnz, pack_angle, pakcz, pakr2dm, phi1z, phi2z, phi3z, phi4z, qsfnz, setDatum, setFalse, sign, sphdz, tsfnz, unpack_angle
Methods inherited from class noaa.coastwatch.util.trans.MapProjection
clone, describe, equals, getAffine, getDatum, getModified, getPixelDimensions, getPixelSize, getProjection, getSpheroid, getSpheroidName, getSubset, getSubset, getSystem, getSystemName, getZone, isOrientable, setAffine, setPositiveLon, transformImpl, transformImpl
Methods inherited from class noaa.coastwatch.util.trans.EarthTransform2D
get2DVersion, getBoundingBox, getWorldAxes, main, setPointTransform, transformToPoint
Methods inherited from class noaa.coastwatch.util.trans.EarthTransform
closest, distance, getBoundaryHandler, getDimensions, getResolution, getSpheroid, getSpheroid, isInvertible, transform, transform, transform, transform
Methods inherited from class noaa.coastwatch.util.MetadataContainer
getMetadataMap
-
Constructor Details
-
HammerProjection
public HammerProjection(double rMajor, int[] dimensions, AffineTransform affine, double center_long, double falseEast, double falseNorth) throws NoninvertibleTransformException Constructs a map projection from the specified projection and affine transform. TheSpheroidConstants
andProjectionConstants
class should be consulted for valid parameter constants.- Parameters:
rMajor
- the semi-major axis in meters.dimensions
- the dimensions of the data grid as[rows, columns]
.affine
- the affine transform for translating data[row, column]
to map[x, y]
.center_long
- the (I) Center longitude.falseEast
- the false easting value.falseNorth
- the false northing value.- Throws:
NoninvertibleTransformException
- if the map projection to data coordinate affine transform is not invertible.IllegalArgumentException
- if the paramaters have an inconsistency.
-
-
Method Details
-
projfor
protected long projfor(double lat, double lon, double[] x, double[] y) Description copied from class:GCTPCStyleProjection
Performs the actual forward calculation as specified in the GCTP C code. This method is as close as possible to the native C function signature.- Specified by:
projfor
in classGCTPCStyleProjection
- Parameters:
lat
- the latitude to convert.lon
- the longitude to convert.x
- the map coordinate x value (modified).y
- the map coordinate y value (modified).- Returns:
- OK on success, or not OK on failure.
-
projinv
protected long projinv(double x, double y, double[] lon, double[] lat) Description copied from class:GCTPCStyleProjection
Performs the actual inverse calculation as specified in the GCTP C code. This method is as close as possible to the native C function signature.- Specified by:
projinv
in classGCTPCStyleProjection
- Parameters:
x
- the map coordinate x value (modified).y
- the map coordinate y value (modified).lon
- the longitude to convert.lat
- the latitude to convert.- Returns:
- OK on success, or not OK on failure.
-