public abstract class Projection
extends java.lang.Object
implements java.lang.Cloneable
CoordinateReferenceSystem
s,
distinguished by different values for the
projection parameters.修飾子とタイプ | フィールドと説明 |
---|---|
protected double |
a
The equator radius
|
protected double |
alpha
The projection alpha value
|
protected static double |
DTR |
protected double |
e
The eccentricity
|
protected Ellipsoid |
ellipsoid
The ellipsoid used by this projection
|
protected static double |
EPS10 |
protected double |
es
The eccentricity squared
|
protected double |
falseEasting
The false Easting of this projection
|
protected double |
falseNorthing
The false Northing of this projection
|
protected double |
fromMetres
Conversion factor from metres to whatever units the projection uses.
|
protected boolean |
geocentric
True if this projection is geocentric
|
protected boolean |
isSouth
Indicates whether a Southern Hemisphere UTM zone
|
protected double |
lonc
The projection lonc value
|
protected double |
maxLatitude
The maximum latitude of the bounds of this projection
|
protected double |
maxLongitude
The maximum longitude of the bounds of this projection.
|
protected double |
minLatitude
The minimum latitude of the bounds of this projection
|
protected double |
minLongitude
The minimum longitude of the bounds of this projection.
|
protected java.lang.String |
name
The name of this projection
|
protected double |
one_es
1-(eccentricity squared)
|
protected double |
projectionLatitude
The latitude of the centre of projection
|
protected double |
projectionLatitude1
Standard parallel 1 (for projections which use it)
|
protected double |
projectionLatitude2
Standard parallel 2 (for projections which use it)
|
protected double |
projectionLongitude
The longitude of the centre of projection, in radians
|
protected double |
rone_es
1/(1-(eccentricity squared))
|
protected static double |
RTD |
protected double |
scaleFactor
The projection scale factor
|
protected boolean |
spherical
True if this projection is using a sphere (es == 0)
|
protected double |
totalScale
The total scale factor = Earth radius * units
|
protected double |
trueScaleLatitude
The latitude of true scale.
|
protected Unit |
unit
units of this projection.
|
修飾子 | コンストラクタと説明 |
---|---|
protected |
Projection() |
修飾子とタイプ | メソッドと説明 |
---|---|
java.lang.Object |
clone() |
double |
getAlpha()
Gets the alpha value, in radians.
|
Ellipsoid |
getEllipsoid() |
int |
getEPSGCode()
Returns the ESPG code for this projection, or 0 if unknown.
|
double |
getEquatorRadius() |
double |
getFalseEasting() |
double |
getFalseNorthing() |
double |
getFromMetres() |
double |
getLonC()
Gets the lonc value, in radians.
|
double |
getMaxLatitude() |
double |
getMaxLatitudeDegrees() |
double |
getMaxLongitude() |
double |
getMaxLongitudeDegrees() |
double |
getMinLatitude() |
double |
getMinLatitudeDegrees() |
double |
getMinLongitude() |
double |
getMinLongitudeDegrees() |
java.lang.String |
getName() |
java.lang.String |
getPROJ4Description()
Get a string which describes this projection in PROJ.4 format.
|
double |
getProjectionLatitude() |
double |
getProjectionLatitude1() |
double |
getProjectionLatitude1Degrees() |
double |
getProjectionLatitude2() |
double |
getProjectionLatitude2Degrees() |
double |
getProjectionLatitudeDegrees() |
double |
getProjectionLongitude() |
double |
getProjectionLongitudeDegrees() |
double |
getScaleFactor()
Gets the projection scale factor.
|
boolean |
getSouthernHemisphere() |
double |
getTrueScaleLatitude() |
double |
getTrueScaleLatitudeDegrees() |
boolean |
hasInverse()
Tests whether this projection has an inverse.
|
void |
initialize()
Initialize the projection.
|
boolean |
inside(double x,
double y)
Returns true if the given lat/long point is visible in this projection
|
ProjCoordinate |
inverseProject(ProjCoordinate src,
ProjCoordinate dst)
Inverse-projects a point (in the units defined by the coordinate system),
producing a geographic result (in degrees)
|
ProjCoordinate |
inverseProjectRadians(ProjCoordinate src,
ProjCoordinate dst)
Inverse-transforms a point (in the units defined by the coordinate system),
producing a geographic result (in radians)
|
boolean |
isConformal()
Tests whether this projection is conformal.
|
boolean |
isEqualArea()
Tests whether this projection is equal-area
An equal-area projection preserves relative sizes
of projected areas.
|
boolean |
isRectilinear()
Tests whether under this projection lines of
latitude and longitude form a rectangular grid
|
static float |
normalizeLongitude(float angle) |
static double |
normalizeLongitudeRadians(double angle) |
boolean |
parallelsAreParallel()
Returns true if latitude lines are parallel for this projection
|
protected ProjCoordinate |
project(double x,
double y,
ProjCoordinate dst)
Computes the projection of a given point
(i.e. from geographics to projection space).
|
ProjCoordinate |
project(ProjCoordinate src,
ProjCoordinate dst)
Projects a geographic point (in degrees), producing a projected result
(in the units of the target coordinate system).
|
protected ProjCoordinate |
projectInverse(double x,
double y,
ProjCoordinate dst)
Computes the inverse projection of a given point
(i.e. from projection space to geographics).
|
ProjCoordinate |
projectRadians(ProjCoordinate src,
ProjCoordinate dst)
Projects a geographic point (in radians), producing a projected result
(in the units of the target coordinate system).
|
void |
setAlphaDegrees(double alpha)
Sets the alpha value.
|
void |
setEllipsoid(Ellipsoid ellipsoid) |
void |
setFalseEasting(double falseEasting)
Set the false Easting in projected units.
|
void |
setFalseNorthing(double falseNorthing)
Set the false Northing in projected units.
|
void |
setFromMetres(double fromMetres)
Set the conversion factor from metres to projected units.
|
void |
setLonCDegrees(double lonc)
Sets the lonc value.
|
void |
setMaxLatitude(double maxLatitude)
Set the maximum latitude.
|
void |
setMaxLongitude(double maxLongitude) |
void |
setMaxLongitudeDegrees(double maxLongitude) |
void |
setMinLatitude(double minLatitude)
Set the minimum latitude.
|
void |
setMinLongitude(double minLongitude) |
void |
setMinLongitudeDegrees(double minLongitude) |
void |
setName(java.lang.String name)
Set the name of this projection.
|
void |
setProjectionLatitude(double projectionLatitude)
Set the projection latitude in radians.
|
void |
setProjectionLatitude1(double projectionLatitude1)
Set the projection latitude in radians.
|
void |
setProjectionLatitude1Degrees(double projectionLatitude1)
Set the projection latitude in degrees.
|
void |
setProjectionLatitude2(double projectionLatitude2)
Set the projection latitude in radians.
|
void |
setProjectionLatitude2Degrees(double projectionLatitude2)
Set the projection latitude in degrees.
|
void |
setProjectionLatitudeDegrees(double projectionLatitude)
Set the projection latitude in degrees.
|
void |
setProjectionLongitude(double projectionLongitude)
Set the projection longitude in radians.
|
void |
setProjectionLongitudeDegrees(double projectionLongitude)
Set the projection longitude in degrees.
|
void |
setScaleFactor(double scaleFactor)
Set the projection scale factor.
|
void |
setSouthernHemisphere(boolean isSouth) |
void |
setTrueScaleLatitude(double trueScaleLatitude)
Set the latitude of true scale in radians.
|
void |
setTrueScaleLatitudeDegrees(double trueScaleLatitude)
Set the latitude of true scale in degrees.
|
void |
setUnits(Unit unit) |
java.lang.String |
toString() |
protected double minLatitude
protected double minLongitude
protected double maxLatitude
protected double maxLongitude
protected double projectionLatitude
protected double projectionLongitude
protected double projectionLatitude1
protected double projectionLatitude2
protected double alpha
protected double lonc
protected double scaleFactor
protected double falseEasting
protected double falseNorthing
protected boolean isSouth
protected double trueScaleLatitude
protected double a
protected double e
protected double es
protected double one_es
protected double rone_es
protected Ellipsoid ellipsoid
protected boolean spherical
protected boolean geocentric
protected java.lang.String name
protected double fromMetres
protected double totalScale
protected Unit unit
protected static final double EPS10
protected static final double RTD
protected static final double DTR
public java.lang.Object clone()
clone
クラス内 java.lang.Object
public ProjCoordinate project(ProjCoordinate src, ProjCoordinate dst)
src
- the input geographic coordinate (in degrees)dst
- the projected coordinate (in coordinate system units)public ProjCoordinate projectRadians(ProjCoordinate src, ProjCoordinate dst)
src
- the input geographic coordinate (in radians)dst
- the projected coordinate (in coordinate system units)protected ProjCoordinate project(double x, double y, ProjCoordinate dst)
x
- the geographic x ordinate (in radians)y
- the geographic y ordinatee (in radians)dst
- the projected coordinate (in coordinate system units)public ProjCoordinate inverseProject(ProjCoordinate src, ProjCoordinate dst)
src
- the input projected coordinate (in coordinate system units)dst
- the inverse-projected geographic coordinate (in degrees)public ProjCoordinate inverseProjectRadians(ProjCoordinate src, ProjCoordinate dst)
src
- the input projected coordinate (in coordinate system units)dst
- the inverse-projected geographic coordinate (in radians)protected ProjCoordinate projectInverse(double x, double y, ProjCoordinate dst)
x
- the projected x ordinate (in coordinate system units)y
- the projected y ordinate (in coordinate system units)dst
- the inverse-projected geographic coordinate (in radians)public boolean isConformal()
public boolean isEqualArea()
public boolean hasInverse()
inverseProject(ProjCoordinate, ProjCoordinate)
and inverseProjectRadians(ProjCoordinate, ProjCoordinate)
methods will return meaningful results.public boolean isRectilinear()
public boolean parallelsAreParallel()
public boolean inside(double x, double y)
public void setName(java.lang.String name)
public java.lang.String getName()
public java.lang.String getPROJ4Description()
WARNING: currently this does not output all required parameters in some cases. E.g. for Albers the standard latitudes are missing.
public java.lang.String toString()
toString
クラス内 java.lang.Object
public void setMinLatitude(double minLatitude)
public double getMinLatitude()
public void setMaxLatitude(double maxLatitude)
public double getMaxLatitude()
public double getMaxLatitudeDegrees()
public double getMinLatitudeDegrees()
public void setMinLongitude(double minLongitude)
public double getMinLongitude()
public void setMinLongitudeDegrees(double minLongitude)
public double getMinLongitudeDegrees()
public void setMaxLongitude(double maxLongitude)
public double getMaxLongitude()
public void setMaxLongitudeDegrees(double maxLongitude)
public double getMaxLongitudeDegrees()
public void setProjectionLatitude(double projectionLatitude)
public double getProjectionLatitude()
public void setProjectionLatitudeDegrees(double projectionLatitude)
public double getProjectionLatitudeDegrees()
public void setProjectionLongitude(double projectionLongitude)
public double getProjectionLongitude()
public void setProjectionLongitudeDegrees(double projectionLongitude)
public double getProjectionLongitudeDegrees()
public void setTrueScaleLatitude(double trueScaleLatitude)
public double getTrueScaleLatitude()
public void setTrueScaleLatitudeDegrees(double trueScaleLatitude)
public double getTrueScaleLatitudeDegrees()
public void setProjectionLatitude1(double projectionLatitude1)
public double getProjectionLatitude1()
public void setProjectionLatitude1Degrees(double projectionLatitude1)
public double getProjectionLatitude1Degrees()
public void setProjectionLatitude2(double projectionLatitude2)
public double getProjectionLatitude2()
public void setProjectionLatitude2Degrees(double projectionLatitude2)
public double getProjectionLatitude2Degrees()
public void setAlphaDegrees(double alpha)
public double getAlpha()
public void setLonCDegrees(double lonc)
public double getLonC()
public void setFalseNorthing(double falseNorthing)
public double getFalseNorthing()
public void setFalseEasting(double falseEasting)
public double getFalseEasting()
public void setSouthernHemisphere(boolean isSouth)
public boolean getSouthernHemisphere()
public void setScaleFactor(double scaleFactor)
public double getScaleFactor()
public double getEquatorRadius()
public void setFromMetres(double fromMetres)
public double getFromMetres()
public void setEllipsoid(Ellipsoid ellipsoid)
public Ellipsoid getEllipsoid()
public int getEPSGCode()
public void setUnits(Unit unit)
public void initialize()
public static float normalizeLongitude(float angle)
public static double normalizeLongitudeRadians(double angle)