Class Lambert
- java.lang.Object
-
- mccombe.mapping.CoordinateSystem
-
- mccombe.mapping.Projection
-
- mccombe.mapping.Lambert
-
- Direct Known Subclasses:
Lambert93
,LambertI
,LambertII
,LambertIIExtended
,LambertIII
,LambertIV
public abstract class Lambert extends Projection
An abstract base class for implementations of the Lambert Conformal Conic Projection
A Lambert projection maps points on the ellipsoid onto a cone which touches the ellipsoid at two parallels of latitude. For countries with a large east-west extent, it provides smaller variations in grid convergence than the more common TransverseMercator projection - but over a limited range of latitude. IGN, France's national mapping agency, adopted the Lambert Conformal Conic projection but had to divide mainland France into three zones of latitude, with a fourth zone for the island of Corsica. These are implemented in this package as subclasses of Lambert (see
LambertI
,LambertII
,LambertIII
,LambertIV
). To overcome the obvious inconvenience of having the country divided into four distinct coordinate zones, a fifth set of Lambert Conformal Conical projection coefficientsLambertIIExtended
was produced to provide a nationwide coordinate system but with greater degrees of distortion. Ironically, the Lambert Conical projections have not been well-supported by handheld GPS equipment and many French maps (such as the 1:25000 Blue Series) are now over-printed with a UTM grid.In 1996, IGN introduced a new coordinate system known as
Lambert 93
-
-
Field Summary
-
Fields inherited from class mccombe.mapping.CoordinateSystem
locus, ref, sph
-
-
Method Summary
All Methods Static Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description protected void
calcCoords()
Initialise coordinates for this PositionDatum
defaultDatum()
Define the default datum for this coordinate systemEllipsoid
defaultEllipsoid()
Define the default Ellipsoid for this coordinate systemprotected abstract double
e0()
Define false easting valueprotected static ENPair
getEN(java.lang.String gridref)
Parse Lambert coordinates into easting and northing distancesdouble
gridConvergence()
Calculate grid convergenceprotected abstract double
lamda0()
Define longitude of grid originprotected abstract double
n0()
Define false northingprotected abstract double
phiB()
Define latitude of false originprotected abstract double
phiL()
Define lower standard parallel for this projectionprotected abstract double
phiU()
Define Upper standard parallel for this conical projectionENPair
toEN()
Provide easting and northing distancesjava.lang.String
toString()
Provide a String representation in Lambert coordinates.-
Methods inherited from class mccombe.mapping.CoordinateSystem
getDatum, getEllipsoid, getName, getPosition, getWGS84, parseDouble, toLatLong, toLatLongString
-
-
-
-
Method Detail
-
getEN
protected static ENPair getEN(java.lang.String gridref) throws GridFormatException
Parse Lambert coordinates into easting and northing distances- Parameters:
gridref
- A pair of Lambert coordinates (e.g. "X=435.212 Y=217.306"), specified in km.- Returns:
- Easting and Northing distances (m)
- Throws:
GridFormatException
- Invalid coordinate format results in a GridFormatException being thrown
-
toEN
public ENPair toEN()
Provide easting and northing distances- Specified by:
toEN
in classProjection
- Returns:
- Easting and Northing distances (in metres)
-
toString
public java.lang.String toString()
Provide a String representation in Lambert coordinates. These are of the form "X=eeee.eee Y=nnnn.nnn" where eeee.eee and nnnn.nnn are the easting and northing distances in km.- Specified by:
toString
in classCoordinateSystem
- Returns:
- The coordinate String
-
calcCoords
protected void calcCoords()
Initialise coordinates for this Position
-
gridConvergence
public double gridConvergence()
Calculate grid convergence- Specified by:
gridConvergence
in classProjection
- Returns:
- Grid convergence (degrees)
-
defaultDatum
public Datum defaultDatum()
Define the default datum for this coordinate system- Specified by:
defaultDatum
in classCoordinateSystem
- Returns:
- default datum
-
defaultEllipsoid
public Ellipsoid defaultEllipsoid()
Define the default Ellipsoid for this coordinate system- Specified by:
defaultEllipsoid
in classCoordinateSystem
- Returns:
- default Ellipsoid
-
phiU
protected abstract double phiU()
Define Upper standard parallel for this conical projection- Returns:
- Upper Standard Parallel (radians)
-
phiL
protected abstract double phiL()
Define lower standard parallel for this projection- Returns:
- Lower Standard Parallel (radians)
-
phiB
protected abstract double phiB()
Define latitude of false origin- Returns:
- Latitude of false origin (radians)
-
lamda0
protected abstract double lamda0()
Define longitude of grid origin- Returns:
- Longitude of grid origin (radians)
-
e0
protected abstract double e0()
Define false easting value- Returns:
- False easting (m)
-
n0
protected abstract double n0()
Define false northing- Returns:
- False northing distance (m)
-
-