The projected coordinate systems are grouped together and the groups are assigned a code. This topic describes these projection groupings in terms of properties such as the method used to map the earth’s surface onto a flat plane. The topic contains two elements: a description of the properties and the mapping of the projection groups to the properties.
The MgCoordinateSystem class has a method called GetProjectionCode which returns an integer. The meaning of the integer value can be determined from the set of integer constants contained in the MgCoordinateSystemProjectionCode class. These integer constants map to a set of coordinate system categories that are used to group the coordinate systems. The following code shows the retrieval of the projection code and its comparison to one of the projection code constants.
// csDict is defined above
// "CANADA-ALBERS" is in the Alber group of projections
MgCoordinateSystem cs = csDict.GetCoordinateSystem("CANADA-ALBERS");
int projectionCode = cs.GetProjectionCode();
if (cs.GetProjectionCode() == MgCoordinateSystemProjectionCode.Alber)
{
// do something
}
The mapping of the projection code values to properties is programmatically extracted from the CS Map file CSdataPJ.c. In CSdataPJ.c there is a set of macro definitions of the form “#define cs_PRJFLGS_<GroupName> <OR’d set of bit flags>”. The bit flag definitions are contained in cs_map.h and are of the form “#define cs_PRJ_FLG_<FlagName> <bitDefinition>”.
Each projection code has a flag indicating the projection method. The four possibilities are flat plane (azimuthal), conical, cylindrical, and other. Other is defined as being neither flat plane, conical or cylindrical. The presentation of the projection code properties is divided into four tables according to the projection method used for the coordinate systems belonging to group represented by the projection code.
In the following table the property names are the same as the flag names extracted from the code. The intent is to provide entry points into the CS Map code body as well as to describe the properties.
| Property | Description |
|---|---|
| SPHERE | True indicates that the spherical form of the projection is supported. |
| ELLIPS | True indicates that the ellipsoidal form of the projection is supported. |
| SCALK | True indicates that the scale factor along a parallel is determined using an analytical formula; otherwise it is determined empirically. |
| SCALH | True indicates that the scale factor along a meridian is determined using an analytical formula; otherwise it is determined empirically. |
| CNVRG | True indicates that the convergence angle is determined using an analytical formula; otherwise it is determined empirically. As you go East from the Central Meridian of a projection, you add the convergence angle to geodetic North to calculate the value of the grid North. As you go West from the Central Meridian, you subtract the convergence angle from geodetic North to calculate the value of the grid North. |
| CNFRM | True indicates that angles are preserved locally. |
| EAREA | True indicates that area is preserved. |
| EDIST | True indicates that distance from a point or line is preserved. |
| AZMTH | True indicates that the scale factors are measured along radial lines from an origin and along lines normal to the radial lines. |
| OBLQ | True indicates that the projection surface is tangent to a great circle that does not include the North and South poles. |
| TRNSV | True indicates that the cylindrical projection surface is tangent to a meridian and its anti-podal meridian and touches the North and South poles. |
| PSEUDO | True indicates that the projection does not conform to the standard application of a cylindrical or conic projection. |
| INTR | True indicates that the projection is interrupted. It is divided into several sections. |
| CYLND | True indicates the projection is cylindrical. |
| CONIC | True indicates that the projection is conic. |
| FLAT | True indicates that the projection uses a flat plane tangential to the globe at one point. |
| OTHER | True indicates that the projection uses a method that is not cylindrical, conic, or flat plane. |
| SCLRED | True indicates that the projection requires a Scale Reduction Factor parameter and is a secant projection. |
| ORGLAT | True indicates that an origin latitude is not supported. |
| ORGLNG | True indicates that an origin longitude is not supported. |
The following table maps properties of projection groups whose projection method is flat plane (azimuthal).
| Name | SPHERE | ELLIPS | SCALK | SCALH | EAREA | AZMTH | EDIST | CNFRM | SCLRED |
|---|---|---|---|---|---|---|---|---|---|
| AZMEA | x | x | x | x | x | x | |||
| AZMED | x | x | x | x | x | x | |||
| MSTRO | x | x | x | x | |||||
| NZLND | x | x | |||||||
| OSTRO | x | x | x | x | x | x | |||
| PSTRO | x | x | x | x | x | x | |||
| PSTROSL | x | x | x | x | x |
The following table maps properties of projection groups whose projection method is conical.
| SP=SPHERE; EL=ELLIPS; K=SCALK; H=SCALH; PS=PSEUDO; CV=CNVRG; | |||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Name | SP | EL | K | H | EAREA | PS | CNFRM | ORGLAT | ORGLNG | CV | OBLQ | SCLRED | EDIST |
| ALBER | x | x | x | x | x | ||||||||
| BONNE | x | x | x | x | |||||||||
| BPCNC | x | x | x | x | |||||||||
| KROVAK | x | x | x | x | x | x | x | ||||||
| KRVK95 | x | x | x | x | x | x | x | x | x | ||||
| LM1SP | x | x | x | x | x | x | |||||||
| LM2SP | x | x | x | x | x | ||||||||
| LMBLG | x | x | x | x | x | ||||||||
| LMTAN | x | x | x | ||||||||||
| MNDOTL | x | x | x | x | x | ||||||||
| PLYCN | x | x | x | x | x | x | |||||||
| WCCSL | x | x | x | x | x | ||||||||
The following table maps properties of projection groups whose projection method is cylindrical.
| SP=SPHERE; EL=ELLIPS; K=SCALK; H=SCALH; TR=TRNV; LN=ORGLNG; CV=CNVRG; LT=ORGLAT; PS=PSEUDO; | |||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Name | SP | EL | K | H | TR | LN | CV | EDIST | CNFRM | OBLQ | SCLRED | LT | PS | EAREA | INTR |
| CSINI | x | x | x | x | x | x | |||||||||
| EDCYL | x | x | x | x | x | ||||||||||
| GAUSSK | x | x | x | x | x | x | x | ||||||||
| HOM1XY | x | x | x | x | x | x | x | x | |||||||
| MILLR | x | x | x | x | x | x | |||||||||
| MNDOTT | x | x | x | x | x | x | x | ||||||||
| MRCAT | x | x | x | x | x | x | x | ||||||||
| MRCATK | x | x | x | x | x | x | x | x | |||||||
| OBQCYL | x | x | x | x | x | ||||||||||
| OSTN02 | x | x | x | x | x | x | x | x | |||||||
| OSTN97 | x | x | x | x | x | x | x | x | |||||||
| ROBIN | x | x | x | ||||||||||||
| RSKEW | x | x | x | x | x | x | x | x | |||||||
| RSKEWC | x | x | x | x | x | x | x | x | |||||||
| RSKEWO | x | x | x | x | x | x | x | x | |||||||
| SINUS | x | x | x | x | x | x | x | x | x | ||||||
| SOTRM | x | x | x | x | x | x | x | x | |||||||
| SWISS | x | x | x | x | |||||||||||
| TRMER | x | x | x | x | x | x | x | x | |||||||
| TRMRKRG | x | x | x | x | x | x | x | x | |||||||
| TRMRS | x | x | x | x | x | x | x | x | |||||||
| UTM | x | x | x | x | x | x | x | x | |||||||
| WCCST | x | x | x | x | x | x | x | x | |||||||
The following table maps properties of projection groups whose projection method is neither flat plane, conical, or cylindrical.
| Name | SPHERE | ORGLAT | AZMTH | PSEUDO |
| VDGRN | x | x | ||
| WINKL | x | x | x | x |