Package org.locationtech.proj4j.proj
Class TransverseMercatorProjection
- java.lang.Object
-
- org.locationtech.proj4j.proj.Projection
-
- org.locationtech.proj4j.proj.CylindricalProjection
-
- org.locationtech.proj4j.proj.TransverseMercatorProjection
-
- All Implemented Interfaces:
java.io.Serializable,java.lang.Cloneable
public class TransverseMercatorProjection extends CylindricalProjection
Transverse Mercator Projection algorithm is taken from the USGS PROJ package.- See Also:
- Serialized Form
-
-
Field Summary
Fields Modifier and Type Field Description private double[]enprivate doubleespprivate static doubleFC1private static doubleFC2private static doubleFC3private static doubleFC4private static doubleFC5private static doubleFC6private static doubleFC7private static doubleFC8protected booleanisSouthIndicates whether a Southern Hemisphere UTM zoneprivate doubleml0private intutmZone-
Fields inherited from class org.locationtech.proj4j.proj.Projection
a, alpha, DTR, e, ellipsoid, EPS10, es, falseEasting, falseNorthing, fromMetres, geocentric, lonc, maxLatitude, maxLongitude, minLatitude, minLongitude, name, one_es, projectionLatitude, projectionLatitude1, projectionLatitude2, projectionLongitude, rone_es, RTD, scaleFactor, spherical, totalScale, trueScaleLatitude, unit
-
-
Constructor Summary
Constructors Constructor Description TransverseMercatorProjection()TransverseMercatorProjection(Ellipsoid ellipsoid, double lon_0, double lat_0, double k, double x_0, double y_0)Set up a projection suitable for State Plane Coordinates.
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description java.lang.Objectclone()static intgetRowFromNearestParallel(double latitude)booleangetSouthernHemisphere()static intgetZoneFromNearestMeridian(double longitude)booleanhasInverse()Tests whether this projection has an inverse.voidinitialize()Initialize the projection.booleanisRectilinear()Tests whether under this projection lines of latitude and longitude form a rectangular gridProjCoordinateproject(double lplam, double lpphi, ProjCoordinate xy)Computes the projection of a given point (i.e.ProjCoordinateprojectInverse(double x, double y, ProjCoordinate out)Computes the inverse projection of a given point (i.e.voidsetSouthernHemisphere(boolean isSouth)voidsetUTMZone(int zone)java.lang.StringtoString()-
Methods inherited from class org.locationtech.proj4j.proj.Projection
equals, getAlpha, getAxisOrder, getEllipsoid, getEPSGCode, getEquatorRadius, getFalseEasting, getFalseNorthing, getFromMetres, getHeightOfOrbit, getLonC, getMaxLatitude, getMaxLatitudeDegrees, getMaxLongitude, getMaxLongitudeDegrees, getMinLatitude, getMinLatitudeDegrees, getMinLongitude, getMinLongitudeDegrees, getName, getPrimeMeridian, getPROJ4Description, getProjectionLatitude, getProjectionLatitude1, getProjectionLatitude1Degrees, getProjectionLatitude2, getProjectionLatitude2Degrees, getProjectionLatitudeDegrees, getProjectionLongitude, getProjectionLongitudeDegrees, getScaleFactor, getTrueScaleLatitude, getTrueScaleLatitudeDegrees, getUnits, hashCode, inside, inverseProject, inverseProjectRadians, isConformal, isEqualArea, isGeographic, normalizeLongitude, normalizeLongitudeRadians, parallelsAreParallel, project, projectRadians, setAlpha, setAlphaDegrees, setAxisOrder, setEllipsoid, setFalseEasting, setFalseNorthing, setFromMetres, setGamma, setGammaDegrees, setHeightOfOrbit, setLonC, setLonCDegrees, setMaxLatitude, setMaxLongitude, setMaxLongitudeDegrees, setMinLatitude, setMinLongitude, setMinLongitudeDegrees, setName, setNoUoff, setPrimeMeridian, setProjectionLatitude, setProjectionLatitude1, setProjectionLatitude1Degrees, setProjectionLatitude2, setProjectionLatitude2Degrees, setProjectionLatitudeDegrees, setProjectionLongitude, setProjectionLongitudeDegrees, setRadius, setScaleFactor, setTrueScaleLatitude, setTrueScaleLatitudeDegrees, setUnits
-
-
-
-
Field Detail
-
FC1
private static final double FC1
- See Also:
- Constant Field Values
-
FC2
private static final double FC2
- See Also:
- Constant Field Values
-
FC3
private static final double FC3
- See Also:
- Constant Field Values
-
FC4
private static final double FC4
- See Also:
- Constant Field Values
-
FC5
private static final double FC5
- See Also:
- Constant Field Values
-
FC6
private static final double FC6
- See Also:
- Constant Field Values
-
FC7
private static final double FC7
- See Also:
- Constant Field Values
-
FC8
private static final double FC8
- See Also:
- Constant Field Values
-
isSouth
protected boolean isSouth
Indicates whether a Southern Hemisphere UTM zone
-
utmZone
private int utmZone
-
esp
private double esp
-
ml0
private double ml0
-
en
private double[] en
-
-
Constructor Detail
-
TransverseMercatorProjection
public TransverseMercatorProjection()
-
TransverseMercatorProjection
public TransverseMercatorProjection(Ellipsoid ellipsoid, double lon_0, double lat_0, double k, double x_0, double y_0)
Set up a projection suitable for State Plane Coordinates.
-
-
Method Detail
-
setSouthernHemisphere
public void setSouthernHemisphere(boolean isSouth)
- Overrides:
setSouthernHemispherein classProjection
-
getSouthernHemisphere
public boolean getSouthernHemisphere()
- Overrides:
getSouthernHemispherein classProjection
-
clone
public java.lang.Object clone()
- Overrides:
clonein classProjection
-
isRectilinear
public boolean isRectilinear()
Description copied from class:ProjectionTests whether under this projection lines of latitude and longitude form a rectangular grid- Overrides:
isRectilinearin classCylindricalProjection
-
initialize
public void initialize()
Description copied from class:ProjectionInitialize the projection. This should be called after setting parameters and before using the projection. This is for performance reasons as initialization may be expensive.- Overrides:
initializein classProjection
-
getRowFromNearestParallel
public static int getRowFromNearestParallel(double latitude)
-
getZoneFromNearestMeridian
public static int getZoneFromNearestMeridian(double longitude)
-
setUTMZone
public void setUTMZone(int zone)
-
project
public ProjCoordinate project(double lplam, double lpphi, ProjCoordinate xy)
Description copied from class:ProjectionComputes the projection of a given point (i.e. from geographics to projection space). This should be overridden for all projections.- Overrides:
projectin classProjection- Parameters:
lplam- the geographic x ordinate (in radians)lpphi- the geographic y ordinatee (in radians)xy- the projected coordinate (in coordinate system units)- Returns:
- the target coordinate
-
projectInverse
public ProjCoordinate projectInverse(double x, double y, ProjCoordinate out)
Description copied from class:ProjectionComputes the inverse projection of a given point (i.e. from projection space to geographics). This should be overridden for all projections.- Overrides:
projectInversein classProjection- Parameters:
x- the projected x ordinate (in coordinate system units)y- the projected y ordinate (in coordinate system units)out- the inverse-projected geographic coordinate (in radians)- Returns:
- the target coordinate
-
hasInverse
public boolean hasInverse()
Description copied from class:ProjectionTests whether this projection has an inverse. If this method returnstruethen theProjection.inverseProject(ProjCoordinate, ProjCoordinate)andProjection.inverseProjectRadians(ProjCoordinate, ProjCoordinate)methods will return meaningful results.- Overrides:
hasInversein classProjection- Returns:
- true if this projection has an inverse
-
toString
public java.lang.String toString()
- Overrides:
toStringin classCylindricalProjection
-
-