public abstract class AbstractProj extends Object implements Proj
Modifier and Type | Field and Description |
---|---|
private static double |
C00
|
private static double |
C02
|
private static double |
C04
|
private static double |
C06
|
private static double |
C08
|
private static double |
C22
|
private static double |
C44
|
private static double |
C46
|
private static double |
C48
|
private static double |
C66
|
private static double |
C68
|
private static double |
C88
|
protected double |
e2
The square of excentricity: e² = (a²-b²)/a² where
e is the excentricity,
a is the semi major axis length and
b is the semi minor axis length.
|
protected double |
en0
Constant needed for the
mlfn method. |
protected double |
en1
Constant needed for the
mlfn method. |
protected double |
en2
Constant needed for the
mlfn method. |
protected double |
en3
Constant needed for the
mlfn method. |
protected double |
en4
Constant needed for the
mlfn method. |
private static int |
MAXIMUM_ITERATIONS
Maximum number of iterations for iterative computations.
|
private static double |
MLFN_TOL
Relative iteration precision used in the
mlfn method |
Constructor and Description |
---|
AbstractProj() |
Modifier and Type | Method and Description |
---|---|
void |
initialize(ProjParameters params)
Initialize the projection using the provided parameters.
|
protected double |
inv_mlfn(double arg)
Calculates the latitude (
phi ) from a meridian distance. |
protected double |
mlfn(double phi,
double sphi,
double cphi)
Calculates the meridian distance.
|
static double |
normalizeLon(double lon) |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
getAlgorithmBounds, getName, getProj4Id, invproject, project
private static final int MAXIMUM_ITERATIONS
private static final double MLFN_TOL
mlfn
methodprivate static final double C00
private static final double C02
private static final double C04
private static final double C06
private static final double C08
private static final double C22
private static final double C44
private static final double C46
private static final double C48
private static final double C66
private static final double C68
private static final double C88
protected double en0
mlfn
method.
Setup at construction time.protected double en1
mlfn
method.
Setup at construction time.protected double en2
mlfn
method.
Setup at construction time.protected double en3
mlfn
method.
Setup at construction time.protected double en4
mlfn
method.
Setup at construction time.protected double e2
public AbstractProj()
public void initialize(ProjParameters params) throws ProjectionConfigurationException
Proj
initialize
in interface Proj
params
- The projection parametersProjectionConfigurationException
- in case parameters are not suitableprotected final double mlfn(double phi, double sphi, double cphi)
phi
. Accurate to < 1e-5 meters
when used in conjuction with typical major axis values.phi
- latitude to calculate meridian distance for.sphi
- sin(phi).cphi
- cos(phi).protected final double inv_mlfn(double arg)
phi
) from a meridian distance.
Determines phi to TOL (1e-11) radians, about 1e-6 seconds.arg
- meridian distance to calulate latitude for.RuntimeException
- if the itteration does not converge.public static double normalizeLon(double lon)