Package noaa.coastwatch.util.trans
Class OrthographicProjection
- All Implemented Interfaces:
Cloneable,ProjectionConstants
The
OrthographicProjection class performs
Orthographic 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, YFields inherited from class noaa.coastwatch.util.trans.GCTPStyleProjection
C3P, D2R, ec, ec2, EPSLN, falseEast, falseNorth, HALF_PI, PI, R2D, rMajor, TWO_PIFields inherited from class noaa.coastwatch.util.trans.MapProjection
datum, DESCRIPTION, forwardAffine, inverseAffine, spheroid, system, zoneFields inherited from class noaa.coastwatch.util.trans.EarthTransform
boundaryHandler, dimsFields 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
ConstructorsConstructorDescriptionOrthographicProjection(double rMajor, int[] dimensions, AffineTransform affine, double center_lon, double center_lat, double falseEast, double falseNorth) Constructs a map projection from the specified projection and affine transform.OrthographicProjection(EarthLocation projCenter, int[] dimensions, EarthLocation centerLoc, double[] pixelDims) Constructs a new orthographic projection using the specified projection center point. -
Method Summary
Modifier and TypeMethodDescriptionprotected longprojfor(double lat, double lon, double[] x, double[] y) Performs the actual forward calculation as specified in the GCTP C code.protected longprojinv(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, stparl1Methods 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_angleMethods 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, transformImplMethods inherited from class noaa.coastwatch.util.trans.EarthTransform2D
get2DVersion, getBoundingBox, getWorldAxes, main, setPointTransform, transformToPointMethods inherited from class noaa.coastwatch.util.trans.EarthTransform
closest, distance, getBoundaryHandler, getDimensions, getResolution, getSpheroid, getSpheroid, isInvertible, transform, transform, transform, transformMethods inherited from class noaa.coastwatch.util.MetadataContainer
getMetadataMap
-
Constructor Details
-
OrthographicProjection
public OrthographicProjection(double rMajor, int[] dimensions, AffineTransform affine, double center_lon, double center_lat, double falseEast, double falseNorth) throws NoninvertibleTransformException Constructs a map projection from the specified projection and affine transform. TheSpheroidConstantsandProjectionConstantsclass 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_lon- the center longitude.center_lat- the center latitude.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.
-
OrthographicProjection
public OrthographicProjection(EarthLocation projCenter, int[] dimensions, EarthLocation centerLoc, double[] pixelDims) throws NoninvertibleTransformException Constructs a new orthographic projection using the specified projection center point. The Earth is assumed to be a sphere of radius 6370.997 km.- Parameters:
projCenter- the earth location at the projection center.dimensions- the dimensions of the data grid as[rows, columns].centerLoc- the earth location at the map center.pixelDims- the pixel dimensions in meters at the projection reference point as[height, width].- 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:GCTPCStyleProjectionPerforms 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:
projforin 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:GCTPCStyleProjectionPerforms 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:
projinvin 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.
-