public class LambertConformalConic extends AbstractProj
This implementation provides transforms for two cases of the lambert conic conformal projection:
Lambert_Conformal_Conic_1SP
(EPSG code 9801)Lambert_Conformal_Conic_2SP
(EPSG code 9802)
For the 1SP case the latitude of origin is used as the standard parallel (SP).
To use 1SP with a latitude of origin different from the SP, use the 2SP and set the SP1 to the single SP.
The "standard_parallel_2"
parameter is optional and will be given the same value
as "standard_parallel_1"
if not set (creating a 1 standard parallel projection).
Modifier and Type | Class and Description |
---|---|
static class |
LambertConformalConic.Parameters
Base class of Lambert Conformal Conic parameters.
|
static class |
LambertConformalConic.Parameters1SP
Parameters with a single standard parallel.
|
static class |
LambertConformalConic.Parameters2SP
Parameters with two standard parallels.
|
Modifier and Type | Field and Description |
---|---|
protected Ellipsoid |
ellps
ellipsoid
|
protected static double |
epsilon
precision in iterative schema
|
protected double |
f
projection factor
|
protected double |
n
projection exponent
|
private LambertConformalConic.Parameters |
params |
protected double |
r0
radius of the parallel of latitude of the false origin (2SP) or at natural origin (1SP)
|
Constructor and Description |
---|
LambertConformalConic() |
Modifier and Type | Method and Description |
---|---|
Bounds |
getAlgorithmBounds()
Return the bounds where this projection is applicable.
|
java.lang.String |
getName()
Replies a human readable name of this projection.
|
LambertConformalConic.Parameters |
getParameters()
Returns projection parameters.
|
java.lang.String |
getProj4Id()
Replies the Proj.4 identifier.
|
void |
initialize(ProjParameters params)
Initialize the projection using the provided parameters.
|
private void |
initialize1SP(double lat0)
Initialize for LCC with 1 standard parallel.
|
private void |
initialize2SP(double lat0,
double lat1,
double lat2)
Initialize for LCC with 2 standard parallels.
|
double[] |
invproject(double east,
double north)
Convert east/north to lat/lon.
|
double[] |
project(double phi,
double lambda)
Convert lat/lon to east/north.
|
aasin, cphi2, invMlfn, isGeographic, mlfn, msfn, tsfn
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
lonIsLinearToEast
private LambertConformalConic.Parameters params
protected double n
protected double f
protected double r0
protected static final double epsilon
public LambertConformalConic()
public void initialize(ProjParameters params) throws ProjectionConfigurationException
Proj
initialize
in interface Proj
initialize
in class AbstractProj
params
- The projection parametersProjectionConfigurationException
- in case parameters are not suitableprivate void initialize2SP(double lat0, double lat1, double lat2)
lat0
- latitude of false origin (in radians)lat1
- latitude of first standard parallel (in radians)lat2
- latitude of second standard parallel (in radians)private void initialize1SP(double lat0)
lat0
- latitude of natural origin (in radians)public java.lang.String getName()
Proj
public java.lang.String getProj4Id()
Proj
null
.public double[] project(double phi, double lambda)
Proj
phi
- the latitude in radianslambda
- the longitude in radianspublic double[] invproject(double east, double north)
Proj
east
- east value in meters, divided by the semi major axis of the ellipsoidnorth
- north value in meters, divided by the semi major axis of the ellipsoidpublic final LambertConformalConic.Parameters getParameters()
public Bounds getAlgorithmBounds()
Proj