[mapguide-commits] r4223 - in trunk/MgDev/Common: CoordinateSystem Geometry/CoordinateSystem

svn_mapguide at osgeo.org svn_mapguide at osgeo.org
Tue Sep 15 16:27:31 EDT 2009


Author: NormOlsen
Date: 2009-09-15 16:27:30 -0400 (Tue, 15 Sep 2009)
New Revision: 4223

Modified:
   trunk/MgDev/Common/CoordinateSystem/CoordSysProjectionInformation.cpp
   trunk/MgDev/Common/CoordinateSystem/MentorUtil.cpp
   trunk/MgDev/Common/Geometry/CoordinateSystem/CoordinateSystemProjectionCode.h
Log:
RE: MapGuide Trac #1090.  This submission updates the CoordinateSystem API to include the three new projection variations recently submitted to CsMap (Trac # 42 and revision #1619).  The three new projection variations are:

1> Popular Visualization Pseudo Mercator (ala Google Maps and Microsoft Virtual Earth)
2> Ellipsoidal form of the Equidistant Cylindrical
3> Direct implementation of the PLate Carree.


Modified: trunk/MgDev/Common/CoordinateSystem/CoordSysProjectionInformation.cpp
===================================================================
--- trunk/MgDev/Common/CoordinateSystem/CoordSysProjectionInformation.cpp	2009-09-15 08:42:22 UTC (rev 4222)
+++ trunk/MgDev/Common/CoordinateSystem/CoordSysProjectionInformation.cpp	2009-09-15 20:27:30 UTC (rev 4223)
@@ -32,7 +32,7 @@
 //MENTOR_MAINTENANCE:  The following constant is the number of
 //different projections supported by the Mentor library.  It
 //will need to be adjusted if Mentor adds additional projections.
-const long klNumProjections = 67;
+const long klNumProjections = 71;
 
 
 //MENTOR_MAINTENANCE:  This is a list of all projections that
@@ -105,7 +105,11 @@
     MgCoordinateSystemProjectionCode::Teacyl,
     MgCoordinateSystemProjectionCode::Trmrkrg,
     MgCoordinateSystemProjectionCode::Winkl,
-    MgCoordinateSystemProjectionCode::Vdgrntn
+    MgCoordinateSystemProjectionCode::Vdgrntn,
+    MgCoordinateSystemProjectionCode::Sys34_01,
+    MgCoordinateSystemProjectionCode::EdcylE,
+    MgCoordinateSystemProjectionCode::PlateCarree,
+    MgCoordinateSystemProjectionCode::PvMercator
 };
 
 

Modified: trunk/MgDev/Common/CoordinateSystem/MentorUtil.cpp
===================================================================
--- trunk/MgDev/Common/CoordinateSystem/MentorUtil.cpp	2009-09-15 08:42:22 UTC (rev 4222)
+++ trunk/MgDev/Common/CoordinateSystem/MentorUtil.cpp	2009-09-15 20:27:30 UTC (rev 4223)
@@ -111,7 +111,7 @@
 };
 
 static const CCsPrjAdditionalInfo s_prjInfo[] = {
-//      projtype            org_lng    org_lat    scl_red    quad    offset
+//      projtype                                      org_lng  org_lat  scl_red   quad     offset
     { MgCoordinateSystemProjectionCode::Alber,        true,    true,    false,    true,    true },
     { MgCoordinateSystemProjectionCode::Azede,        true,    true,    false,    true,    true},
     { MgCoordinateSystemProjectionCode::Azmea,        true,    true,    false,    true,    true },
@@ -179,6 +179,10 @@
     { MgCoordinateSystemProjectionCode::Winkl,        true,    false,   false,    true,    true},
     { MgCoordinateSystemProjectionCode::Nrthsrt,      false,   false,   false,    true,    true},
     { MgCoordinateSystemProjectionCode::Lmbrtaf,      true,    true,    false,    true,    true},
+    { MgCoordinateSystemProjectionCode::Sys34_01,     false,   false,   false,    true,    false },
+    { MgCoordinateSystemProjectionCode::EdcylE,       true,    true,    false,    true,    true },
+    { MgCoordinateSystemProjectionCode::PlateCarree,  true,    true,    false,    true,    true },
+    { MgCoordinateSystemProjectionCode::PvMercator,   false,   true,    false,    true,    true },
     { MgCoordinateSystemProjectionCode::Unknown,      false,   false,   false,    false,   false }
 };
 

Modified: trunk/MgDev/Common/Geometry/CoordinateSystem/CoordinateSystemProjectionCode.h
===================================================================
--- trunk/MgDev/Common/Geometry/CoordinateSystem/CoordinateSystemProjectionCode.h	2009-09-15 08:42:22 UTC (rev 4222)
+++ trunk/MgDev/Common/Geometry/CoordinateSystem/CoordinateSystemProjectionCode.h	2009-09-15 20:27:30 UTC (rev 4223)
@@ -39,7 +39,7 @@
     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
+    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
@@ -96,6 +96,10 @@
     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)
     static const INT32 Unknown = 0;
 };
 /// \}



More information about the mapguide-commits mailing list