[mapguide-commits] r7249 - trunk/MgDev/Common/Geometry/CoordinateSystem
svn_mapguide at osgeo.org
svn_mapguide at osgeo.org
Sat Dec 8 06:46:23 PST 2012
Author: jng
Date: 2012-12-08 06:46:22 -0800 (Sat, 08 Dec 2012)
New Revision: 7249
Modified:
trunk/MgDev/Common/Geometry/CoordinateSystem/CoordinateSystem.h
trunk/MgDev/Common/Geometry/CoordinateSystem/CoordinateSystemMathComparator.h
trunk/MgDev/Common/Geometry/CoordinateSystem/CoordinateSystemMgrs.h
trunk/MgDev/Common/Geometry/CoordinateSystem/CoordinateSystemMgrsGridLevel.h
trunk/MgDev/Common/Geometry/CoordinateSystem/CoordinateSystemMgrsGridSquarePosition.h
trunk/MgDev/Common/Geometry/CoordinateSystem/CoordinateSystemMgrsLetteringScheme.h
trunk/MgDev/Common/Geometry/CoordinateSystem/CoordinateSystemProjectionCode.h
trunk/MgDev/Common/Geometry/CoordinateSystem/CoordinateSystemProjectionFormatType.h
Log:
#2097: More API commentary for MgGeometry.
Modified: trunk/MgDev/Common/Geometry/CoordinateSystem/CoordinateSystem.h
===================================================================
--- trunk/MgDev/Common/Geometry/CoordinateSystem/CoordinateSystem.h 2012-12-08 14:20:55 UTC (rev 7248)
+++ trunk/MgDev/Common/Geometry/CoordinateSystem/CoordinateSystem.h 2012-12-08 14:46:22 UTC (rev 7249)
@@ -652,7 +652,7 @@
///////////////////////////////////////////////////////////////////////////////////////////////
/// \brief
- /// Gets the projection code of this coordinate system
+ /// Gets the projection code of this coordinate system (see MgCoordinateSystemProjectionCode)
///
/// \return
/// The projection code of this coordinate system
@@ -664,7 +664,7 @@
/// Sets the projection code for this coordinate system
///
/// \param prjType (int)
- /// The projection code
+ /// The projection code (see MgCoordinateSystemProjectionCode)
///
virtual void SetProjectionCode(INT32 prjType)=0;
Modified: trunk/MgDev/Common/Geometry/CoordinateSystem/CoordinateSystemMathComparator.h
===================================================================
--- trunk/MgDev/Common/Geometry/CoordinateSystem/CoordinateSystemMathComparator.h 2012-12-08 14:20:55 UTC (rev 7248)
+++ trunk/MgDev/Common/Geometry/CoordinateSystem/CoordinateSystemMathComparator.h 2012-12-08 14:46:22 UTC (rev 7249)
@@ -22,14 +22,71 @@
class MgCoordinateSystemDatum;
class MgCoordinateSystemEllipsoid;
+/////////////////////////////////////////////////////////////
+/// \brief
+/// A mathematical comparator used to detemerine equality between
+/// two different coordinate systems, datums or ellipsoids
+///
class MgCoordinateSystemMathComparator : public MgGuardDisposable
{
DECLARE_CLASSNAME(MgCoordinateSystemMathComparator)
PUBLISHED_API:
+
+ ///////////////////////////////////////////////////////////////////////////////////////////////
+ /// \brief
+ /// Determines if the two given definitions are the same
+ ///
+ /// \param pDefinition1 (MgGuardDisposable)
+ /// The first definition to compare
+ /// \param pDefinition2 (MgGuardDisposable)
+ /// The second definiton to compare
+ ///
+ /// \return
+ /// true if both definitions are the same. false otherwise
+ ///
virtual bool Same(MgGuardDisposable *pDefinition1, MgGuardDisposable *pDefinition2)=0;
+
+ ///////////////////////////////////////////////////////////////////////////////////////////////
+ /// \brief
+ /// Determines if the two given ellipsoids are the same
+ ///
+ /// \param pDefinition1 (MgCoordinateSystemEllipsoid)
+ /// The first definition to compare
+ /// \param pDefinition2 (MgCoordinateSystemEllipsoid)
+ /// The second definiton to compare
+ ///
+ /// \return
+ /// true if both definitions are the same. false otherwise
+ ///
virtual bool SameEllipsoid(MgCoordinateSystemEllipsoid *pDefinition1, MgCoordinateSystemEllipsoid *pDefinition2)=0;
+
+ ///////////////////////////////////////////////////////////////////////////////////////////////
+ /// \brief
+ /// Determines if the two given datums are the same
+ ///
+ /// \param pDefinition1 (MgCoordinateSystemDatum)
+ /// The first definition to compare
+ /// \param pDefinition2 (MgCoordinateSystemDatum)
+ /// The second definiton to compare
+ ///
+ /// \return
+ /// true if both definitions are the same. false otherwise
+ ///
virtual bool SameDatum(MgCoordinateSystemDatum *pDefinition1, MgCoordinateSystemDatum *pDefinition2)=0;
+
+ ///////////////////////////////////////////////////////////////////////////////////////////////
+ /// \brief
+ /// Determines if the two given coordinate system are the same
+ ///
+ /// \param pDefinition1 (MgCoordinateSystem)
+ /// The first definition to compare
+ /// \param pDefinition2 (MgCoordinateSystem)
+ /// The second definiton to compare
+ ///
+ /// \return
+ /// true if both definitions are the same. false otherwise
+ ///
virtual bool SameCoordinateSystem(MgCoordinateSystem *pDefinition1, MgCoordinateSystem *pDefinition2)=0;
/////////////////////////////////////////////////////////////
Modified: trunk/MgDev/Common/Geometry/CoordinateSystem/CoordinateSystemMgrs.h
===================================================================
--- trunk/MgDev/Common/Geometry/CoordinateSystem/CoordinateSystemMgrs.h 2012-12-08 14:20:55 UTC (rev 7248)
+++ trunk/MgDev/Common/Geometry/CoordinateSystem/CoordinateSystemMgrs.h 2012-12-08 14:46:22 UTC (rev 7249)
@@ -23,6 +23,7 @@
/// \{
///////////////////////////////////////////////////////////////////////////////
+/// \brief
/// This object carries most, if not all, intelligence specific to the MGRS
/// (Military Grid Reference System) grid standard. It can be used at two
/// distinct levels, depending upon how it is manufactured.
@@ -44,64 +45,64 @@
PUBLISHED_API:
// section that reads/writes MGRS coordinates
///////////////////////////////////////////////////////////////////////////
- /// /brief
+ /// \brief
/// Converts a geographic coordinate to MGRS string form.
- /// /param dLongitude
+ /// \param dLongitude (double)
/// Longitude of the geographic position to be converted, in degrees
/// relative to Greenwich. Use negative value for west longitude.
- /// /param dLatitude
+ /// \param dLatitude (double)
/// Latitude of the geographic position to be converted, in degrees.
/// Use negative value for south latitude.
- /// /param nPrecision
+ /// \param nPrecision (int)
/// A value between zero and five, indicates the precision of the
/// numeric portion of the returned MGRS designation.
- /// /returns
+ /// \return
/// The MGRs representation for the given point.
virtual STRING ConvertFromLonLat(double dLongitude, double dLatitude, INT32 nPrecision)=0;
///////////////////////////////////////////////////////////////////////////
- /// /brief
+ /// \brief
/// Converts a geographic coordinate to MGRS string form.
- /// /param pLonLat
+ /// \param pLonLat (String/string)
/// The geographic position to be converted. X coordinate is the longitude
/// in degrees relative to Greenwich, negative indicating west longitude.
/// Y coordinate is latitude in degrees, negative indicating south latitude.
- /// /param nPrecision
+ /// \param nPrecision (int)
/// A value between zero and five, indicates the precision of the
/// numeric portion of the returned MGRS designation.
- /// /returns
+ /// \return
/// The MGRs representation for the given point.
virtual STRING ConvertFromLonLat(MgCoordinate* pLonLat, INT32 nPrecision)=0;
///////////////////////////////////////////////////////////////////////////
- /// /brief
+ /// \brief
/// Converts an MGRS string to geographic coordinates.
- /// /param sMgrs
+ /// \param sMgrs (String/string)
/// The MGRS string to be converted.
- /// /returns
+ /// \return
/// The geographic coordinates of the location identified by the provided
/// MGRS string (center of the grid sqaure).
virtual MgCoordinate* ConvertToLonLat(CREFSTRING sMgrs)=0;
///////////////////////////////////////////////////////////////////////////
- /// /brief
+ /// \brief
/// Converts an MGRS string to geographic coordinates.
- /// /param sMgrs
+ /// \param sMgrs (String/string)
/// The MGRS string to be converted.
- /// /param grdSqrPosition
+ /// \param grdSqrPosition (int)
/// A value from the MgCoordinateSystemMgrsGridSquarePosition enumeration
/// which indicates the position within the grid sqaure referenced by
/// the sMgrs argumjent which is to be returned.
- /// /returns
+ /// \return
/// The geographic coordinates of the location identified by the provided
/// MGRS string.
virtual MgCoordinate* ConvertToLonLat(CREFSTRING sMgrs, INT32 grdSqrPosition)=0;
///////////////////////////////////////////////////////////////////////////
- /// /brief
+ /// \brief
/// Returns a value as defined by the MgCoordinateSystemMgrsLetteringScheme
/// object indicating which lettering scheme is currently active.
- /// /returns
+ /// \return
/// Either MgCoordinateSystemMgrsLetteringScheme::Normal or
/// MgCoordinateSystemMgrsLetteringScheme::Alternative
virtual INT8 GetLetteringScheme()=0;
Modified: trunk/MgDev/Common/Geometry/CoordinateSystem/CoordinateSystemMgrsGridLevel.h
===================================================================
--- trunk/MgDev/Common/Geometry/CoordinateSystem/CoordinateSystemMgrsGridLevel.h 2012-12-08 14:20:55 UTC (rev 7248)
+++ trunk/MgDev/Common/Geometry/CoordinateSystem/CoordinateSystemMgrsGridLevel.h 2012-12-08 14:46:22 UTC (rev 7249)
@@ -29,15 +29,55 @@
class MG_GEOMETRY_API MgCoordinateSystemMgrsGridLevel
{
PUBLISHED_API:
+ ///////////////////////////////////////////////////////////////////////////////////////////////
+ /// \brief
+ /// None
+ ///
static const INT32 MgrsNone = 0;
+ ///////////////////////////////////////////////////////////////////////////////////////////////
+ /// \brief
+ /// UTM
+ ///
static const INT32 MgrsUtm = 1;
+ ///////////////////////////////////////////////////////////////////////////////////////////////
+ /// \brief
+ /// UPS
+ ///
static const INT32 MgrsUps = 2;
+ ///////////////////////////////////////////////////////////////////////////////////////////////
+ /// \brief
+ /// 100km
+ ///
static const INT32 Mgrs100Km = 3;
+ ///////////////////////////////////////////////////////////////////////////////////////////////
+ /// \brief
+ /// 10km
+ ///
static const INT32 Mgrs10Km = 4;
+ ///////////////////////////////////////////////////////////////////////////////////////////////
+ /// \brief
+ /// 1km
+ ///
static const INT32 Mgrs1Km = 5;
+ ///////////////////////////////////////////////////////////////////////////////////////////////
+ /// \brief
+ /// 100m
+ ///
static const INT32 Mgrs100m = 6;
+ ///////////////////////////////////////////////////////////////////////////////////////////////
+ /// \brief
+ /// 10m
+ ///
static const INT32 Mgrs10m = 7;
+ ///////////////////////////////////////////////////////////////////////////////////////////////
+ /// \brief
+ /// 1m
+ ///
static const INT32 Mgrs1m = 8;
+ ///////////////////////////////////////////////////////////////////////////////////////////////
+ /// \brief
+ /// Unknown
+ ///
static const INT32 MgrsUnknown = 99;
};
Modified: trunk/MgDev/Common/Geometry/CoordinateSystem/CoordinateSystemMgrsGridSquarePosition.h
===================================================================
--- trunk/MgDev/Common/Geometry/CoordinateSystem/CoordinateSystemMgrsGridSquarePosition.h 2012-12-08 14:20:55 UTC (rev 7248)
+++ trunk/MgDev/Common/Geometry/CoordinateSystem/CoordinateSystemMgrsGridSquarePosition.h 2012-12-08 14:46:22 UTC (rev 7249)
@@ -19,64 +19,63 @@
#define _MGCOORDINATESYSTEMMGRSGRIDSQUAREPOSITION_H_
///////////////////////////////////////////////////////////////////////////////
-///<summary>
+/// \brief
/// MgCoordinateSystemMgrsGridSquarePosition defines enumerated values used to
/// specify the the location desired relative to the subject MGRS grid sqaure
/// when evaluating an MGRS string.
///
/// Note that the values used in this enumeration match those used by the
-// CS-MAP interface.
-///</summary>
+/// CS-MAP interface.
class MG_GEOMETRY_API MgCoordinateSystemMgrsGridSquarePosition
{
// MENTOR_MAINTENANCE --> These enumeration values are assumed to be the
// same as those used by CS-MAP.
PUBLISHED_API:
///////////////////////////////////////////////////////////////////////////
- ///<summary>
+ /// \brief
/// Specifies the grid square position is not set as yet.
- ///</summary>
+ ///
static const INT32 None = 0;
- ///<summary>
+ /// \brief
/// Specifies the center of the grid square; the default previous to this
/// revision (Dec 2009).
- ///</summary>
+ ///
static const INT32 Center = 1;
- ///<summary>
+ /// \brief
/// Specifies the southwest corner of the MGRS grid square.
- ///</summary>
+ ///
static const INT32 SouthWest = 2;
- ///<summary>
+ /// \brief
/// Specifies the midpoint of the western edge of the MGRS grid square.
- ///</summary>
+ ///
static const INT32 West = 3;
- ///<summary>
+ /// \brief
/// Specifies the northwest corner of the MGRS grid square.
- ///</summary>
+ ///
static const INT32 NorthWest = 4;
- ///<summary>
+ /// \brief
/// Specifies the midpoint of the northern edge of the MGRS grid square.
- ///</summary>
+ ///
static const INT32 North = 5;
- ///<summary>
+ /// \brief
/// Specifies the southwest corner of the MGRS grid square.
- ///</summary>
+ ///
static const INT32 NorthEast = 6;
- ///<summary>
+ /// \brief
/// Specifies the midpoint of the eastern edge of the MGRS grid square.
- ///</summary>
+ ///
static const INT32 East = 7;
- ///<summary>
+ /// \brief
/// Specifies the southeast corner of the MGRS grid square.
- ///</summary>
+ ///
static const INT32 SouthEast = 8;
- ///<summary>
+ /// \brief
/// Specifies the midpoint of the southern edge of the MGRS grid square.
- ///</summary>
+ ///
static const INT32 South = 9;
- ///<summary>
+ /// \brief
/// Specifies an error return value, end of table, or other abnormal situation.
- ///</summary>
+ ///
static const INT32 Unknown = 10;
};
Modified: trunk/MgDev/Common/Geometry/CoordinateSystem/CoordinateSystemMgrsLetteringScheme.h
===================================================================
--- trunk/MgDev/Common/Geometry/CoordinateSystem/CoordinateSystemMgrsLetteringScheme.h 2012-12-08 14:20:55 UTC (rev 7248)
+++ trunk/MgDev/Common/Geometry/CoordinateSystem/CoordinateSystemMgrsLetteringScheme.h 2012-12-08 14:46:22 UTC (rev 7249)
@@ -31,13 +31,13 @@
PUBLISHED_API:
///////////////////////////////////////////////////////////////
/// \brief
+ /// Normal
///
- ///
static const INT8 Normal = 0;
///////////////////////////////////////////////////////////////
/// \brief
+ /// Alternative
///
- ///
static const INT8 Alternative = 1;
};
/// \}
Modified: trunk/MgDev/Common/Geometry/CoordinateSystem/CoordinateSystemProjectionCode.h
===================================================================
--- trunk/MgDev/Common/Geometry/CoordinateSystem/CoordinateSystemProjectionCode.h 2012-12-08 14:20:55 UTC (rev 7248)
+++ trunk/MgDev/Common/Geometry/CoordinateSystem/CoordinateSystemProjectionCode.h 2012-12-08 14:46:22 UTC (rev 7249)
@@ -24,82 +24,370 @@
///////////////////////////////////////////////////////////////
/// \brief
+/// Defines coordinate system projection codes
///
-///
class MG_GEOMETRY_API MgCoordinateSystemProjectionCode
{
PUBLISHED_API:
- static const INT32 Alber = 4; // Albers Equal Area Conic Projection
- static const INT32 Azede = 59; // Azimuthal Equi-Distant; Elevated ellipsoid.
- static const INT32 Azmea = 11; // Lambert Azimuthal Equal Area Projection
- static const INT32 Azmed = 7; // Lambert Azimuthal Equidistant Projection
- static const INT32 Bipolar = 31; // Bipolar Oblique Conformal Conic Projection
- static const INT32 Bonne = 24; // Bonne Pseudoconical Projection
- static const INT32 Cassini = 22; // Cassini Projection
- static const INT32 Eckert4 = 25; // Ekert Pseudocylindrical Projection; Number IV
- static const INT32 Eckert6 = 26; // Ekert Pseudocylindrical Projection; Number VI
- static const INT32 Edcnc = 12; // Equidistant Conic Projection; aka Simple Conic
- static const INT32 Edcyl = 20; // Equidistant Cylindrical Projection (Spherical only)
- static const INT32 GaussK = 46; // Gauss-Kruger: Transverse Mercator without scale reduction parameter.
- static const INT32 Gnomonic = 19; // Gnomonic Projection
- static const INT32 Goode = 28; // Goode Homolosine Projection
- static const INT32 Hom1uv = 1281; // Unrectified Hotine Oblique Mercator Projection; Sngl Point Form
- static const INT32 Hom1xy = 1282; // Rectified Hotine Oblique Mercator Projection; Single Point Form
- static const INT32 Hom2uv = 1283; // Unrectified Hotine Oblique Mercator Projection; Two Point Form
- static const INT32 Hom2xy = 1284; // Rectified Hotine Oblique Mercator Projection; Two Point Form
- static const INT32 Krovak = 47; // Czech Krovak; original.
- static const INT32 Krvk95 = 51; // Czech Krovak; includes 1995 adjustment.
- static const INT32 LL = 1; // Null Projection; produces/processes Latitude & Longitude
- static const INT32 Lm1sp = 36; // Single standard parallel variation of the Lambert Conformal Conic.
- static const INT32 Lm2sp = 37; // Double standard parallel variation of the Lambert Conformal Conic.
- static const INT32 Lmblg = 38; // Belgian variation of the Lambert Conformal Conic Projection.
- static const INT32 Lmtan = 8; // Lambert Tangential Conformal Conic Projection
- static const INT32 Miller = 13; // Miller Cylindrical Projection
- static const INT32 Mndotl = 41; // Minnesota DOT variation of the Lambert Conformal Conic.
- static const INT32 Mndott = 42; // Minnesota DOT variation of the Transverse Mercator projection.
- static const INT32 Modpc = 10; // Lallemand IMW Modified Polyconic Projection
- static const INT32 Mollweid = 27; // Mollweide Projection
- static const INT32 Mrcat = 6; // Mercator Cylindrical Projection
- static const INT32 MrcatK = 49; // Standard Mercator with a scale reduction factor instead of a standard parallel.
- static const INT32 Mstero = 15; // Modified Sterographic Projection
- static const INT32 Neacyl = 29; // Normal Aspect; Equal Area Cylindrical Projection
- static const INT32 Nerth = 55; // Non-georeferenced coordinate system. Named Non-Earth by Map Info.
- static const INT32 Nzealand = 16; // New Zealand National Grid
- static const INT32 OblqM = 5; // Oblique Mercator (obsolete)
- static const INT32 Obqcyl = 56; // Oblique Cylindrical; a generalized version of the Swiss projection; specifically for Hungary
- static const INT32 Ortho = 18; // Orthographic Projection
- static const INT32 Ostn02 = 60; // The Transverse Mercator with specific parameters; with the OSTN02 grid shift tacked on. This is a combination of a projection and a datum shift
- static const INT32 Ostn97 = 58; // The Transverse Mercator with specific parameters; with the OSTN97 grid shoft tacked on. This is a combination of a projection and a datum shift
- static const INT32 Ostro = 34; // Oblique Sterographic
- static const INT32 Plycn = 9; // Hassler American Polyconic Projection
- static const INT32 Pstro = 33; // Polar sterographic
- static const INT32 Pstrosl = 53; // Polar sterographic with standard latitude
- static const INT32 Rskew = 1285; // cs_PRJCOD_RSKEW
- static const INT32 Rskewc = 1286; // cs_PRJCOD_RSKEWC
- static const INT32 Rskewo = 1287; // cs_PRJCOD_RSKEWO - Rectified Skew Orthomorphic; Skew Azimuth at Rectified Origin
- static const INT32 Robinson = 23; // Robinson Cylindrical Projection
- static const INT32 Sinus = 17; // Sinusoidal Projection; Optionally Interrupted
- static const INT32 Sotrm = 43; // South Oriented variation of the Transverse Mercator Projection.
- static const INT32 Sstro = 35; // Synder's Oblique Sterographic
- static const INT32 Swiss = 32; // "Swiss" Projection
- static const INT32 Sys34 = 57; // Combination of Transverse Mercator and a polynomial expansion used in Denmark
- static const INT32 Sys34_99 = 61; // Combination of Transverse Mercator and polynomial expansion used in Denmark. Polynominals are of the 1999 vintage.
- static const INT32 Teacyl = 30; // Transverse Aspect; Equal Area Cylindrical Projection
- static const INT32 Tm = 3; // Transverse Mercator or Gauss Kruger Projection
- static const INT32 Trmeraf = 54; // Transverse Mercator with affiine post-processor.
- static const INT32 Trmrkrg = 62; // Transverse Mercator using Kruger Formulation
- static const INT32 Trmrs = 45; // Transverse Mercator per J. P. Snyder.
- static const INT32 Vdgrntn = 21; // Van Der Grinten Projection
- static const INT32 Wccsl = 39; // Wisconsin County Coord System variation; Lambert Conformal Conic
- static const INT32 Wccst = 40; // Wisconsin County Coord System variation; Transverse Mercator projection
- static const INT32 Utm = 44; // The UTM direct variation of the Transverse Mercator projection
- static const INT32 Winkl = 63; // Winkel-Tripel; variable standard latitude
- static const INT32 Nrthsrt = 64; // Nerth with scale and rotation
- static const INT32 Lmbrtaf = 65; // Lambert Conformal Conic with affine post-processor.
- static const INT32 Sys34_01 = 66; // Combination of Transverse Mercator and polynomial expansion used in Denmark. Polynominals are of the 2001 vintage.
- static const INT32 EdcylE = 67; // Equidistant Cylindrical Projection, Ellipsoidal or Spherical
- static const INT32 PlateCarree = 68; // Inplementation of Plate Carree as a variation of the Equidistant Cylindrical
- static const INT32 PvMercator = 69; // Popular Visualization Pseudo Mercator (aka Google Earth)
+ ///////////////////////////////////////////////////////////////////////////////////////////////
+ /// \brief
+ /// Albers Equal Area Conic Projection
+ ///
+ static const INT32 Alber = 4;
+ ///////////////////////////////////////////////////////////////////////////////////////////////
+ /// \brief
+ /// Azimuthal Equi-Distant; Elevated ellipsoid.
+ ///
+ static const INT32 Azede = 59;
+ ///////////////////////////////////////////////////////////////////////////////////////////////
+ /// \brief
+ /// Lambert Azimuthal Equal Area Projection
+ ///
+ static const INT32 Azmea = 11;
+ ///////////////////////////////////////////////////////////////////////////////////////////////
+ /// \brief
+ /// Lambert Azimuthal Equidistant Projection
+ ///
+ static const INT32 Azmed = 7;
+ ///////////////////////////////////////////////////////////////////////////////////////////////
+ /// \brief
+ /// Bipolar Oblique Conformal Conic Projection
+ ///
+ static const INT32 Bipolar = 31;
+ ///////////////////////////////////////////////////////////////////////////////////////////////
+ /// \brief
+ /// Bonne Pseudoconical Projection
+ ///
+ static const INT32 Bonne = 24;
+ ///////////////////////////////////////////////////////////////////////////////////////////////
+ /// \brief
+ /// Cassini Projection
+ ///
+ static const INT32 Cassini = 22;
+ ///////////////////////////////////////////////////////////////////////////////////////////////
+ /// \brief
+ /// Ekert Pseudocylindrical Projection; Number IV
+ ///
+ static const INT32 Eckert4 = 25;
+ ///////////////////////////////////////////////////////////////////////////////////////////////
+ /// \brief
+ /// Ekert Pseudocylindrical Projection; Number VI
+ ///
+ static const INT32 Eckert6 = 26;
+ ///////////////////////////////////////////////////////////////////////////////////////////////
+ /// \brief
+ /// Equidistant Conic Projection; aka Simple Conic
+ ///
+ static const INT32 Edcnc = 12;
+ ///////////////////////////////////////////////////////////////////////////////////////////////
+ /// \brief
+ /// Equidistant Cylindrical Projection (Spherical only)
+ ///
+ static const INT32 Edcyl = 20;
+ ///////////////////////////////////////////////////////////////////////////////////////////////
+ /// \brief
+ /// Gauss-Kruger: Transverse Mercator without scale reduction parameter.
+ ///
+ static const INT32 GaussK = 46;
+ ///////////////////////////////////////////////////////////////////////////////////////////////
+ /// \brief
+ /// Gnomonic Projection
+ ///
+ static const INT32 Gnomonic = 19;
+ ///////////////////////////////////////////////////////////////////////////////////////////////
+ /// \brief
+ /// Goode Homolosine Projection
+ ///
+ static const INT32 Goode = 28;
+ ///////////////////////////////////////////////////////////////////////////////////////////////
+ /// \brief
+ /// Unrectified Hotine Oblique Mercator Projection; Sngl Point Form
+ ///
+ static const INT32 Hom1uv = 1281;
+ ///////////////////////////////////////////////////////////////////////////////////////////////
+ /// \brief
+ /// Rectified Hotine Oblique Mercator Projection; Single Point Form
+ ///
+ static const INT32 Hom1xy = 1282;
+ ///////////////////////////////////////////////////////////////////////////////////////////////
+ /// \brief
+ /// Unrectified Hotine Oblique Mercator Projection; Two Point Form
+ ///
+ static const INT32 Hom2uv = 1283;
+ ///////////////////////////////////////////////////////////////////////////////////////////////
+ /// \brief
+ /// Rectified Hotine Oblique Mercator Projection; Two Point Form
+ ///
+ static const INT32 Hom2xy = 1284;
+ ///////////////////////////////////////////////////////////////////////////////////////////////
+ /// \brief
+ /// Czech Krovak; original.
+ ///
+ static const INT32 Krovak = 47;
+ ///////////////////////////////////////////////////////////////////////////////////////////////
+ /// \brief
+ /// Czech Krovak; includes 1995 adjustment.
+ ///
+ static const INT32 Krvk95 = 51;
+ ///////////////////////////////////////////////////////////////////////////////////////////////
+ /// \brief
+ /// Null Projection; produces/processes Latitude & Longitude
+ ///
+ static const INT32 LL = 1;
+ ///////////////////////////////////////////////////////////////////////////////////////////////
+ /// \brief
+ /// Single standard parallel variation of the Lambert Conformal Conic.
+ ///
+ static const INT32 Lm1sp = 36;
+ ///////////////////////////////////////////////////////////////////////////////////////////////
+ /// \brief
+ /// Double standard parallel variation of the Lambert Conformal Conic.
+ ///
+ static const INT32 Lm2sp = 37;
+ ///////////////////////////////////////////////////////////////////////////////////////////////
+ /// \brief
+ /// Belgian variation of the Lambert Conformal Conic Projection.
+ ///
+ static const INT32 Lmblg = 38;
+ ///////////////////////////////////////////////////////////////////////////////////////////////
+ /// \brief
+ /// Lambert Tangential Conformal Conic Projection
+ ///
+ static const INT32 Lmtan = 8;
+ ///////////////////////////////////////////////////////////////////////////////////////////////
+ /// \brief
+ /// Miller Cylindrical Projection
+ ///
+ static const INT32 Miller = 13;
+ ///////////////////////////////////////////////////////////////////////////////////////////////
+ /// \brief
+ /// Minnesota DOT variation of the Lambert Conformal Conic.
+ ///
+ static const INT32 Mndotl = 41;
+ ///////////////////////////////////////////////////////////////////////////////////////////////
+ /// \brief
+ /// Minnesota DOT variation of the Transverse Mercator projection.
+ ///
+ static const INT32 Mndott = 42;
+ ///////////////////////////////////////////////////////////////////////////////////////////////
+ /// \brief
+ /// Lallemand IMW Modified Polyconic Projection
+ ///
+ static const INT32 Modpc = 10;
+ ///////////////////////////////////////////////////////////////////////////////////////////////
+ /// \brief
+ /// Mollweide Projection
+ ///
+ static const INT32 Mollweid = 27;
+ ///////////////////////////////////////////////////////////////////////////////////////////////
+ /// \brief
+ /// Mercator Cylindrical Projection
+ ///
+ static const INT32 Mrcat = 6;
+ ///////////////////////////////////////////////////////////////////////////////////////////////
+ /// \brief
+ /// Standard Mercator with a scale reduction factor instead of a standard parallel.
+ ///
+ static const INT32 MrcatK = 49;
+ ///////////////////////////////////////////////////////////////////////////////////////////////
+ /// \brief
+ /// Modified Sterographic Projection
+ ///
+ static const INT32 Mstero = 15;
+ ///////////////////////////////////////////////////////////////////////////////////////////////
+ /// \brief
+ /// Normal Aspect; Equal Area Cylindrical Projection
+ ///
+ static const INT32 Neacyl = 29;
+ ///////////////////////////////////////////////////////////////////////////////////////////////
+ /// \brief
+ /// Non-georeferenced coordinate system. Named Non-Earth by Map Info.
+ ///
+ static const INT32 Nerth = 55;
+ ///////////////////////////////////////////////////////////////////////////////////////////////
+ /// \brief
+ /// New Zealand National Grid
+ ///
+ static const INT32 Nzealand = 16;
+ ///////////////////////////////////////////////////////////////////////////////////////////////
+ /// \brief
+ /// Oblique Mercator (obsolete)
+ ///
+ static const INT32 OblqM = 5;
+ ///////////////////////////////////////////////////////////////////////////////////////////////
+ /// \brief
+ /// Oblique Cylindrical; a generalized version of the Swiss projection; specifically for Hungary
+ ///
+ static const INT32 Obqcyl = 56;
+ ///////////////////////////////////////////////////////////////////////////////////////////////
+ /// \brief
+ /// Orthographic Projection
+ ///
+ static const INT32 Ortho = 18;
+ ///////////////////////////////////////////////////////////////////////////////////////////////
+ /// \brief
+ /// The Transverse Mercator with specific parameters; with the OSTN02 grid shift tacked on. This is a combination of a projection and a datum shift
+ ///
+ static const INT32 Ostn02 = 60;
+ ///////////////////////////////////////////////////////////////////////////////////////////////
+ /// \brief
+ /// The Transverse Mercator with specific parameters; with the OSTN97 grid shoft tacked on. This is a combination of a projection and a datum shift
+ ///
+ static const INT32 Ostn97 = 58;
+ ///////////////////////////////////////////////////////////////////////////////////////////////
+ /// \brief
+ /// Oblique Sterographic
+ ///
+ static const INT32 Ostro = 34;
+ ///////////////////////////////////////////////////////////////////////////////////////////////
+ /// \brief
+ /// Hassler American Polyconic Projection
+ ///
+ static const INT32 Plycn = 9;
+ ///////////////////////////////////////////////////////////////////////////////////////////////
+ /// \brief
+ /// Polar sterographic
+ ///
+ static const INT32 Pstro = 33;
+ ///////////////////////////////////////////////////////////////////////////////////////////////
+ /// \brief
+ /// Polar sterographic with standard latitude
+ ///
+ static const INT32 Pstrosl = 53;
+ ///////////////////////////////////////////////////////////////////////////////////////////////
+ /// \brief
+ /// cs_PRJCOD_RSKEW
+ ///
+ static const INT32 Rskew = 1285;
+ ///////////////////////////////////////////////////////////////////////////////////////////////
+ /// \brief
+ /// cs_PRJCOD_RSKEWC
+ ///
+ static const INT32 Rskewc = 1286;
+ ///////////////////////////////////////////////////////////////////////////////////////////////
+ /// \brief
+ /// cs_PRJCOD_RSKEWO - Rectified Skew Orthomorphic; Skew Azimuth at Rectified Origin
+ ///
+ static const INT32 Rskewo = 1287;
+ ///////////////////////////////////////////////////////////////////////////////////////////////
+ /// \brief
+ /// Robinson Cylindrical Projection
+ ///
+ static const INT32 Robinson = 23;
+ ///////////////////////////////////////////////////////////////////////////////////////////////
+ /// \brief
+ /// Sinusoidal Projection; Optionally Interrupted
+ ///
+ static const INT32 Sinus = 17;
+ ///////////////////////////////////////////////////////////////////////////////////////////////
+ /// \brief
+ /// South Oriented variation of the Transverse Mercator Projection.
+ ///
+ static const INT32 Sotrm = 43;
+ ///////////////////////////////////////////////////////////////////////////////////////////////
+ /// \brief
+ /// Synder's Oblique Sterographic
+ ///
+ static const INT32 Sstro = 35;
+ ///////////////////////////////////////////////////////////////////////////////////////////////
+ /// \brief
+ /// "Swiss" Projection
+ ///
+ static const INT32 Swiss = 32;
+ ///////////////////////////////////////////////////////////////////////////////////////////////
+ /// \brief
+ /// Combination of Transverse Mercator and a polynomial expansion used in Denmark
+ ///
+ static const INT32 Sys34 = 57;
+ ///////////////////////////////////////////////////////////////////////////////////////////////
+ /// \brief
+ /// Combination of Transverse Mercator and polynomial expansion used in Denmark. Polynominals are of the 1999 vintage.
+ ///
+ static const INT32 Sys34_99 = 61;
+ ///////////////////////////////////////////////////////////////////////////////////////////////
+ /// \brief
+ /// Transverse Aspect; Equal Area Cylindrical Projection
+ ///
+ static const INT32 Teacyl = 30;
+ ///////////////////////////////////////////////////////////////////////////////////////////////
+ /// \brief
+ /// Transverse Mercator or Gauss Kruger Projection
+ ///
+ static const INT32 Tm = 3;
+ ///////////////////////////////////////////////////////////////////////////////////////////////
+ /// \brief
+ /// Transverse Mercator with affiine post-processor.
+ ///
+ static const INT32 Trmeraf = 54;
+ ///////////////////////////////////////////////////////////////////////////////////////////////
+ /// \brief
+ /// Transverse Mercator using Kruger Formulation
+ ///
+ static const INT32 Trmrkrg = 62;
+ ///////////////////////////////////////////////////////////////////////////////////////////////
+ /// \brief
+ /// Transverse Mercator per J. P. Snyder.
+ ///
+ static const INT32 Trmrs = 45;
+ ///////////////////////////////////////////////////////////////////////////////////////////////
+ /// \brief
+ /// Van Der Grinten Projection
+ ///
+ static const INT32 Vdgrntn = 21;
+ ///////////////////////////////////////////////////////////////////////////////////////////////
+ /// \brief
+ /// Wisconsin County Coord System variation; Lambert Conformal Conic
+ ///
+ static const INT32 Wccsl = 39;
+ ///////////////////////////////////////////////////////////////////////////////////////////////
+ /// \brief
+ /// Wisconsin County Coord System variation; Transverse Mercator projection
+ ///
+ static const INT32 Wccst = 40;
+ ///////////////////////////////////////////////////////////////////////////////////////////////
+ /// \brief
+ /// The UTM direct variation of the Transverse Mercator projection
+ ///
+ static const INT32 Utm = 44;
+ ///////////////////////////////////////////////////////////////////////////////////////////////
+ /// \brief
+ /// Winkel-Tripel; variable standard latitude
+ ///
+ static const INT32 Winkl = 63;
+ ///////////////////////////////////////////////////////////////////////////////////////////////
+ /// \brief
+ /// Nerth with scale and rotation
+ ///
+ static const INT32 Nrthsrt = 64;
+ ///////////////////////////////////////////////////////////////////////////////////////////////
+ /// \brief
+ /// Lambert Conformal Conic with affine post-processor.
+ ///
+ static const INT32 Lmbrtaf = 65;
+ ///////////////////////////////////////////////////////////////////////////////////////////////
+ /// \brief
+ /// Combination of Transverse Mercator and polynomial expansion used in Denmark. Polynominals are of the 2001 vintage.
+ ///
+ static const INT32 Sys34_01 = 66;
+ ///////////////////////////////////////////////////////////////////////////////////////////////
+ /// \brief
+ /// Equidistant Cylindrical Projection, Ellipsoidal or Spherical
+ ///
+ static const INT32 EdcylE = 67;
+ ///////////////////////////////////////////////////////////////////////////////////////////////
+ /// \brief
+ /// Inplementation of Plate Carree as a variation of the Equidistant Cylindrical
+ ///
+ static const INT32 PlateCarree = 68;
+ ///////////////////////////////////////////////////////////////////////////////////////////////
+ /// \brief
+ /// Popular Visualization Pseudo Mercator (aka Google Earth)
+ ///
+ static const INT32 PvMercator = 69;
+ ///////////////////////////////////////////////////////////////////////////////////////////////
+ /// \brief
+ /// Unknown
+ ///
static const INT32 Unknown = 0;
};
/// \}
Modified: trunk/MgDev/Common/Geometry/CoordinateSystem/CoordinateSystemProjectionFormatType.h
===================================================================
--- trunk/MgDev/Common/Geometry/CoordinateSystem/CoordinateSystemProjectionFormatType.h 2012-12-08 14:20:55 UTC (rev 7248)
+++ trunk/MgDev/Common/Geometry/CoordinateSystem/CoordinateSystemProjectionFormatType.h 2012-12-08 14:46:22 UTC (rev 7249)
@@ -24,20 +24,56 @@
///////////////////////////////////////////////////////////////
/// \brief
+/// Defines the type of projection format
///
-///
class MG_GEOMETRY_API MgCoordinateSystemProjectionFormatType
{
PUBLISHED_API:
- static const INT32 None = 0; //none (no formatting)
- static const INT32 Lng = 57509; //longitude(cs_FRMT_LNG), azimuth(cs_FRMT_AZM)
- static const INT32 Lat = 41157; //latitude (cs_FRMT_LAT)
- static const INT32 Angd = 32933; //angular distance (cs_FRMT_ANGD)
- static const INT32 Coef = 13; //coefficient (cs_FRMT_COEF)
- static const INT32 Xxx = 4099; //coefficient (cs_FRMT_XXX)
- static const INT32 Yyy = 4099; //coefficient (cs_FRMT_YYY)
- static const INT32 Scl = 7; //coefficient (cs_FRMT_SCL)
- static const INT32 Rot = 4; //coefficient (cs_FRMT_ROT)
+ ///////////////////////////////////////////////////////////////////////////////////////////////
+ /// \brief
+ /// none (no formatting)
+ ///
+ static const INT32 None = 0;
+ ///////////////////////////////////////////////////////////////////////////////////////////////
+ /// \brief
+ /// longitude(cs_FRMT_LNG), azimuth(cs_FRMT_AZM)
+ ///
+ static const INT32 Lng = 57509;
+ ///////////////////////////////////////////////////////////////////////////////////////////////
+ /// \brief
+ /// latitude (cs_FRMT_LAT)
+ ///
+ static const INT32 Lat = 41157;
+ ///////////////////////////////////////////////////////////////////////////////////////////////
+ /// \brief
+ /// angular distance (cs_FRMT_ANGD)
+ ///
+ static const INT32 Angd = 32933;
+ ///////////////////////////////////////////////////////////////////////////////////////////////
+ /// \brief
+ /// coefficient (cs_FRMT_COEF)
+ ///
+ static const INT32 Coef = 13;
+ ///////////////////////////////////////////////////////////////////////////////////////////////
+ /// \brief
+ /// coefficient (cs_FRMT_XXX)
+ ///
+ static const INT32 Xxx = 4099;
+ ///////////////////////////////////////////////////////////////////////////////////////////////
+ /// \brief
+ /// coefficient (cs_FRMT_YYY)
+ ///
+ static const INT32 Yyy = 4099;
+ ///////////////////////////////////////////////////////////////////////////////////////////////
+ /// \brief
+ /// coefficient (cs_FRMT_SCL)
+ ///
+ static const INT32 Scl = 7;
+ ///////////////////////////////////////////////////////////////////////////////////////////////
+ /// \brief
+ /// coefficient (cs_FRMT_ROT)
+ ///
+ static const INT32 Rot = 4;
};
/// \}
More information about the mapguide-commits
mailing list