Transform¶
The following is a list of the projection parameters used in the GeoTools referencing module. These try to follow the OGC Coordinate Transformation Services specification (OGC 01-009), but this document only specified the parameters for a few projections. When in doubt we have followed the EPSG Guidance Note Number 7 and suggestions from the Projections Transform List.
Parameter Names¶
Parameters can have more than one name, and are recognized by all the names known to the MathTransformFactory
. Many classification and parameter names in GeoTools come from the legacy OGC 01-009 document. But what about other standards for classification names (e.g., “Transverse_Mercator” and “Orthogonal”) and parameter names (e.g., “semi_major”)?
GeoTIFF parameter names
In addition to OGC 01-009, we used an other source of very valuable references for classification and parameter names: the GeoTIFF projection list:
http://www.remotesensing.org/geotiff/proj_list/
This list provides both GeoTIFF and OGC classification and parameter names. This web site was actually one of our main sources for classification and parameter names in GeoTools. The “Mercator (1SP)” projection in this list provides the “latitude_of_origin” and similar parameters.
Custom parameter names
But let’s say I’m a developer and I want to develop something that has no “official” names for the parameters? If we can’t find a standard name, we use ours own. This is the case for example of the “Logarithmic” transform.
Authorities for Parameter and Classification Names
However, each name is always associated to an authority (or a “scope” in the context of scoped names). That said, the full name of “semi_major” is actually “OGC:semi_major”, where “semi_major” is the LocalName
(from the org.geotools.api.util
package) and “OGC” is the scope. The mechanism is similar to fully qualified names in Java packages.
It should always be possible to know if a particular name is an OGC name or a GeoTIFF one: just look at the scope. For our own transformation, we use “GeoTools:” scope. If we find an official name from OGC later, we will add that “OGC:” scoped name.
Multiple names for Parameters
A single physical parameter can have more than one name. Each classification/parameter can have an arbitrary number of names. Actually they do have. For example (using again the “Mercator_1SP” classification), one can try the following from the command line:
java org.geotools.referencing.operation.DefaultMathTransformFactory Mercator_1SP
GeoTools will tells you that it know all of the above names for this transformation:
OGC:Mercator_1SP
EPSG:Mercator (1SP)
EPSG:9804
GeoTIFF:CT_Mercator
GeoTools:Projection Mercator cylindrical
Note the GeoTools name is localized, so it may appears in another language depending on how you have your machine set up.
One can use any of those names. GeoTools will recognizes “CT_Mercator” as well as “Mercator_1SP”. However, if one wants to be sure that he is looking for a GeoTIFF name and not an OGC name, we can always use the fully qualified name.
For example GeoTools:
GeoTIFF:CT_Mercator - will accept this name
OGC:CT_Mercator - but won’t recognize this one
OGC:Mercator_1SP - recognized
One can use DefaultMathTransformFactory
in order to experiment the names from the command line.
Map Projection Parameters¶
All projections have the following default parameters:
semi_major - equatorial radius of the ellipsoid of reference
semi_minor - polar radius of the ellipsoid of reference
central_meridian - longitude for the natural origin (for rectangular coordinates)
false_easting - easting value assigned to the natural origin (added to all x coordinates)
false_northing - northing value assigned to the natural origin (added to all y coordinates)
The “semi_major” and “semi_minor” parameters do not need to be specified in the projection section of WKT strings, since this information can be obtained from the GEOGCS
.
Additional parameters are shown in the following table. Note that “latitude_of_origin” and “scale_factor” are usually default parameters, except in the Mercator and some conic projections.
Projection |
latitude_of_origin |
scale_factor |
standard_parallel_1 |
standard_parallel_2 |
latitude_true_scale |
---|---|---|---|---|---|
Mercator_1SP |
Yes |
||||
Mercator_2SP |
Yes |
||||
Transverse_Mercator |
Yes |
Yes |
|||
Lambert_Conformal_Conic_1SP |
Yes |
Yes |
|||
Lambert_Conformal_Conic_2SP |
Yes |
Yes |
Yes |
||
Lambert_Conformal_Conic_2SP_Belgium |
Yes |
Yes |
Yes |
||
Albers_Conic_Equal_Area |
Yes |
Yes |
Yes |
||
Oblique_Stereographic |
Yes |
Yes |
|||
Polar_Stereographic |
Yes |
Yes |
Yes |
||
Polar_Stereographic_Series |
Yes |
Yes |
|||
Stereographic |
Yes |
Yes |
|||
Orthographic |
Yes |
Yes |
- Latitude_of_origin
latitude of the natural origin (for rectangular coordinates)
- Scale_factor
scale factor at the natural origin (along a parallel of latitude)
- Standard_parallel_1
latitude of first standard parallel (true to scale)
- Standard_parallel_2
latitude of second standard parallel (true to scale)
- Latitude_true_scale
latitude (parallel) where the scale will equal the scale factor
Notes
For the “Lambert_Conformal_Conic_1SP”, the standard parallel is equal to the latitude of origin.
The “latitude_true_scale” parameter of the “Polar_Stereographic” is not a standard EPSG parameter. “Polar_Stereographic_Series” uses the correct EPSG parameters (but a non-standard name).
For more information, see the javadocs for the projection classes in GeoTools.
Notes about projections in ESRI’s ArcGIS 8.x
The “Mercator_1SP” and “Mercator_2SP” are called the “Mercator” in ArcGIS. The distinction between the 1 and 2 standard parallel cases is determined based on the “standard_parallel_1” parameter.
“Lambert_Conformal_Conic_1SP” and “Lambert_Conformal_Conic_2SP” are called the “Lambert_Conformal_Conic”. The distinction is based on the values of the “standard_parallel_1” and “standard_parallel_2” parameters. Note that the “Lambert_Conformal_Conic” will NOT use the “latitude_of_origin” as the standard_parallel in the 1 SP case: you must also specify a “standard_parallel_1” parameter.
The “Albers_Conic_Equal_Area” is called the “Albers” in ArcGIS.
Other Math Transform Parameters¶
“Affine”
num_row
- number of rows in matrixnum_col
- number of columns in matrixelt_<r>_<c>
- element of matrix (wherer
is from 0 to(num_row - 1)
andc
is from 0 to(num_col - 1)
“Geocentric_To_Ellipsoid” and “Ellipsoid_To_Geocentric”
semi_major
- equatorial radius of the ellipsoid of referencesemi_minor
- polar radius of the ellipsoid of reference
“Molodenski” and “Abridged_Molodenski”
dim
- dimension of points (2 or 3)dx
- x shift (m)dy
- y shift (m)dz
- z shift (m)src_semi_major
- source equatorial radius (m)src_semi_minor
- source polar radius (m)tgt_semi_major
- target equatorial radius (m)tgt_semi_minor
- target polar radius (m)