[mapguide-commits] r5404 - in trunk/MgDev: Common/CoordinateSystem
Common/Geometry Common/Geometry/CoordinateSystem
Web/src/DotNetUnmanagedApi/Geometry Web/src/JavaApi Web/src/PhpApi
svn_mapguide at osgeo.org
svn_mapguide at osgeo.org
Wed Nov 24 09:36:36 EST 2010
Author: baertelchen
Date: 2010-11-24 06:36:36 -0800 (Wed, 24 Nov 2010)
New Revision: 5404
Added:
trunk/MgDev/Common/CoordinateSystem/CoordSysGeodeticStandaloneTransformDefParams.cpp
trunk/MgDev/Common/CoordinateSystem/CoordSysGeodeticStandaloneTransformDefParams.h
trunk/MgDev/Common/Geometry/CoordinateSystem/CoordinateSystemGeodeticStandaloneTransformDefParams.h
trunk/MgDev/Common/Geometry/CoordinateSystem/CoordinateSystemGeodeticStandaloneTransformationMethod.h
Modified:
trunk/MgDev/Common/CoordinateSystem/CoordSysGeodeticTransformDef.cpp
trunk/MgDev/Common/Geometry/CoordinateSystem/CoordinateSystemGeodeticTransformDef.h
trunk/MgDev/Common/Geometry/CoordinateSystem/CoordinateSystemGeodeticTransformDefDictionary.h
trunk/MgDev/Common/Geometry/CoordinateSystem/CoordinateSystemGeodeticTransformDefType.h
trunk/MgDev/Common/Geometry/Geometry.vcproj
trunk/MgDev/Common/Geometry/GeometryClassId.h
trunk/MgDev/Common/Geometry/GeometryCommon.h
trunk/MgDev/Common/Geometry/Makefile.am
trunk/MgDev/Web/src/DotNetUnmanagedApi/Geometry/GeometryApiGen.xml
trunk/MgDev/Web/src/DotNetUnmanagedApi/Geometry/GeometryConstants.xml
trunk/MgDev/Web/src/JavaApi/Makefile.am
trunk/MgDev/Web/src/PhpApi/Makefile.am
Log:
Ticket #1529 Coordinate System API does not allow creating a so called "Standalone" geodetic transformation as supported by CsMap
CsMap has a notion of so called "Standalone" transformations - these cannot be parameterized from outside but have their parameters (if there any at all) built into CsMap directly. Namely, those are the WGS72-to-WGS84 transformation as published by the DMA and the NULL transformation which does nothing. When converting between datums (incl. converting between coordinate systems), the datum shift can be treated a NOOP in some scenarios even though the actual datum (name) changes. This is what the NULL(x) transformation is for.
MapGuide's coordinate system API didn't allow for creating such a Standalone transformation. This submission adds support for that CsMap transformation type. The changes only affect the files/API that had been changed due to RFC94. Namely, I've changed the constants of supported geodetic transformation types in CoordinateSystemGeodeticTransformDefType.h.
Added: trunk/MgDev/Common/CoordinateSystem/CoordSysGeodeticStandaloneTransformDefParams.cpp
===================================================================
--- trunk/MgDev/Common/CoordinateSystem/CoordSysGeodeticStandaloneTransformDefParams.cpp (rev 0)
+++ trunk/MgDev/Common/CoordinateSystem/CoordSysGeodeticStandaloneTransformDefParams.cpp 2010-11-24 14:36:36 UTC (rev 5404)
@@ -0,0 +1,84 @@
+//
+// Copyright (C) 2004-2010 by Autodesk, Inc.
+//
+// This library is free software; you can redistribute it and/or
+// modify it under the terms of version 2.1 of the GNU Lesser
+// General Public License as published by the Free Software Foundation.
+//
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with this library; if not, write to the Free Software
+// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
+//
+
+#include "CoordSysMacro.h"
+
+#include "GeometryCommon.h"
+#include "CoordSysCommon.h"
+
+#include "CoordSysGeodeticTransformDefParams.h"
+#include "CoordSysGeodeticStandaloneTransformDefParams.h"
+
+#include <cs_map.h>
+
+using namespace CSLibrary;
+
+CCoordinateSystemGeodeticStandaloneTransformDefParams::CCoordinateSystemGeodeticStandaloneTransformDefParams(
+ INT32 standaloneMethodCode, bool isProtected)
+ : CCoordinateSystemGeodeticTransformDefParams(isProtected)
+ , m_nStandaloneMethodCode(standaloneMethodCode)
+{
+}
+
+CCoordinateSystemGeodeticStandaloneTransformDefParams::~CCoordinateSystemGeodeticStandaloneTransformDefParams()
+{
+}
+
+void CCoordinateSystemGeodeticStandaloneTransformDefParams::Dispose()
+{
+ delete this;
+}
+
+bool CCoordinateSystemGeodeticStandaloneTransformDefParams::IsValid()
+{
+ return true;
+}
+
+bool CCoordinateSystemGeodeticStandaloneTransformDefParams::IsProtected()
+{
+ return CCoordinateSystemGeodeticTransformDefParams::IsProtected();
+}
+
+void CCoordinateSystemGeodeticStandaloneTransformDefParams::CopyTo(void* target) const
+{
+ ENSURE_NOT_NULL(target, L"CCoordinateSystemGeodeticStandaloneTransformDefParams.CopyTo");
+
+ //wipe out the information - we don't have any parameters to set
+ memset(target, 0, sizeof(cs_GeodeticTransform_::csGeodeticXformParameters::csGeodeticXfromParmsSize_));
+}
+
+INT32 CCoordinateSystemGeodeticStandaloneTransformDefParams::GetTransformationMethod()
+{
+ return this->m_nStandaloneMethodCode;
+}
+
+void CCoordinateSystemGeodeticStandaloneTransformDefParams::SetTransformationMethod(INT32 standaloneMethodCode)
+{
+ VERIFY_NOT_PROTECTED(L"CCoordinateSystemGeodeticStandaloneTransformDefParamsSetTransformationMethod");
+
+ switch(standaloneMethodCode)
+ {
+ case MgCoordinateSystemGeodeticStandaloneTransformationMethod::NullX:
+ case MgCoordinateSystemGeodeticStandaloneTransformationMethod::Wgs72:
+ break;
+
+ default:
+ throw new MgInvalidArgumentException(L"CCoordinateSystemGeodeticStandaloneDefParams.SetTransformationMethod", __LINE__, __WFILE__, NULL, L"", NULL);
+ }
+
+ this->m_nStandaloneMethodCode = standaloneMethodCode;
+}
Property changes on: trunk/MgDev/Common/CoordinateSystem/CoordSysGeodeticStandaloneTransformDefParams.cpp
___________________________________________________________________
Added: svn:eol-style
+ native
Added: trunk/MgDev/Common/CoordinateSystem/CoordSysGeodeticStandaloneTransformDefParams.h
===================================================================
--- trunk/MgDev/Common/CoordinateSystem/CoordSysGeodeticStandaloneTransformDefParams.h (rev 0)
+++ trunk/MgDev/Common/CoordinateSystem/CoordSysGeodeticStandaloneTransformDefParams.h 2010-11-24 14:36:36 UTC (rev 5404)
@@ -0,0 +1,46 @@
+//
+// Copyright (C) 2004-2010 by Autodesk, Inc.
+//
+// This library is free software; you can redistribute it and/or
+// modify it under the terms of version 2.1 of the GNU Lesser
+// General Public License as published by the Free Software Foundation.
+//
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with this library; if not, write to the Free Software
+// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
+//
+
+#ifndef _CCOORDSYSGEODETICSTANDALONETRANSFORMDEFPARAMS_H_
+#define _CCOORDSYSGEODETICSTANDALONETRANSFORMDEFPARAMS_H_
+
+namespace CSLibrary
+{
+ class CCoordinateSystemGeodeticStandaloneTransformDefParams :
+ public MgCoordinateSystemGeodeticStandaloneTransformDefParams,
+ public CCoordinateSystemGeodeticTransformDefParams
+ {
+ public:
+ CCoordinateSystemGeodeticStandaloneTransformDefParams(INT32 standaloneTransformMethod, bool isProtected);
+ virtual ~CCoordinateSystemGeodeticStandaloneTransformDefParams();
+
+ virtual void Dispose();
+ virtual bool IsValid();
+
+ virtual bool IsProtected();
+ virtual void CopyTo(void* target) const;
+
+ virtual INT32 GetTransformationMethod();
+ virtual void SetTransformationMethod(INT32 standaloneMethodCode);
+
+ private:
+ INT32 m_nStandaloneMethodCode;
+ };
+
+} //namespace CSLibrary
+
+#endif //_CCOORDSYSGEODETICSTANDALONETRANSFORMDEFPARAMS_H_
Property changes on: trunk/MgDev/Common/CoordinateSystem/CoordSysGeodeticStandaloneTransformDefParams.h
___________________________________________________________________
Added: svn:eol-style
+ native
Modified: trunk/MgDev/Common/CoordinateSystem/CoordSysGeodeticTransformDef.cpp
===================================================================
--- trunk/MgDev/Common/CoordinateSystem/CoordSysGeodeticTransformDef.cpp 2010-11-24 11:47:03 UTC (rev 5403)
+++ trunk/MgDev/Common/CoordinateSystem/CoordSysGeodeticTransformDef.cpp 2010-11-24 14:36:36 UTC (rev 5404)
@@ -21,6 +21,7 @@
#include "CoordSysGeodeticTransformation.h"
#include "CoordSysGeodeticTransformDefParams.h"
+#include "CoordSysGeodeticStandaloneTransformDefParams.h"
#include "CoordSysGeodeticAnalyticalTransformDefParams.h"
#include "CoordSysGeodeticInterpolationTransformDefParams.h"
#include "CoordSysGeodeticMultipleRegressionTransformDefParams.h"
@@ -70,12 +71,13 @@
INT32 transformationType;
switch(transformationDefType)
{
- case MgCoordinateSystemGeodeticTransformDefType::None:
+ case MgCoordinateSystemGeodeticTransformDefType::Standalone:
case MgCoordinateSystemGeodeticTransformDefType::Analytical:
case MgCoordinateSystemGeodeticTransformDefType::Interpolation:
case MgCoordinateSystemGeodeticTransformDefType::MultipleRegression:
transformationType = transformationDefType;
break;
+
default:
throw new MgInvalidArgumentException(L"CCoordinateSystemGeodeticTransformDef.Reset", __LINE__, __WFILE__, NULL, L"", NULL);
}
@@ -112,10 +114,10 @@
INT32 transformationType;
switch(methodCode)
{
- //standalone methods; see information in cs_geodetic.h
+ //standalone/built-in methods; see information in cs_geodetic.h
case cs_DTCMTH_NULLX:
case cs_DTCMTH_WGS72:
- transformationType = MgCoordinateSystemGeodeticTransformDefType::None;
+ transformationType = MgCoordinateSystemGeodeticTransformDefType::Standalone;
break;
//multiple Regression methods
@@ -223,8 +225,9 @@
switch(this->transformationDefType)
{
- case MgCoordinateSystemGeodeticTransformDefType::None:
- return NULL;
+ case MgCoordinateSystemGeodeticTransformDefType::Standalone:
+ return static_cast<MgCoordinateSystemGeodeticStandaloneTransformDefParams*>(new CCoordinateSystemGeodeticStandaloneTransformDefParams(
+ this->transformDefinition->methodCode, this->IsProtected()));
case MgCoordinateSystemGeodeticTransformDefType::Analytical:
return static_cast<MgCoordinateSystemGeodeticAnalyticalTransformDefParams*>(new CCoordinateSystemGeodeticAnalyticalTransformDefParams(
@@ -266,9 +269,19 @@
CCoordinateSystemGeodeticTransformDefParams* transformDefParams = NULL;
CCoordinateSystemGeodeticMultipleRegressionTransformDefParams* mulRegParams = NULL;
CCoordinateSystemGeodeticAnalyticalTransformDefParams* analyticalParams = NULL;
+ CCoordinateSystemGeodeticStandaloneTransformDefParams* standaloneParams = NULL;
switch(this->transformationDefType)
{
+ case MgCoordinateSystemGeodeticTransformDefType::Standalone:
+ standaloneParams = dynamic_cast<CCoordinateSystemGeodeticStandaloneTransformDefParams*>(parameters);
+ if (NULL != standaloneParams)
+ {
+ paramsMethodCode = standaloneParams->GetTransformationMethod();
+ transformDefParams = standaloneParams;
+ }
+ break;
+
case MgCoordinateSystemGeodeticTransformDefType::Analytical:
analyticalParams = dynamic_cast<CCoordinateSystemGeodeticAnalyticalTransformDefParams*>(parameters);
if (NULL != analyticalParams)
Added: trunk/MgDev/Common/Geometry/CoordinateSystem/CoordinateSystemGeodeticStandaloneTransformDefParams.h
===================================================================
--- trunk/MgDev/Common/Geometry/CoordinateSystem/CoordinateSystemGeodeticStandaloneTransformDefParams.h (rev 0)
+++ trunk/MgDev/Common/Geometry/CoordinateSystem/CoordinateSystemGeodeticStandaloneTransformDefParams.h 2010-11-24 14:36:36 UTC (rev 5404)
@@ -0,0 +1,68 @@
+// Copyright (C) 2004-2010 by Autodesk, Inc.
+//
+// This library is free software; you can redistribute it and/or
+// modify it under the terms of version 2.1 of the GNU Lesser
+// General Public License as published by the Free Software Foundation.
+//
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with this library; if not, write to the Free Software
+// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
+//
+
+#ifndef _MGCOORDINATESYSTEMGEODETICSTANDALONETRANSFORMDEFPARAMS_H_
+#define _MGCOORDINATESYSTEMGEODETICSTANDALONETRANSFORMDEFPARAMS_H_
+
+/// \defgroup MgCoordinateSystemGeodeticStandaloneTransformDefParams MgCoordinateSystemGeodeticStandaloneTransformDefParams
+/// \ingroup Coordinate_System_classes
+/// \{
+
+////////////////////////////////////////////////////////////////
+/// \brief
+/// This class (indirectly) describes the parameters of a geodetic transformation method that's built into the
+/// transformation engine. Hence, it does not allow for setting any parameters. Only the well known code
+/// can be set/get via (Set/Get)TransformationMethod.
+///
+class MG_GEOMETRY_API MgCoordinateSystemGeodeticStandaloneTransformDefParams : public MgCoordinateSystemGeodeticTransformDefParams
+{
+ DECLARE_CLASSNAME(MgCoordinateSystemGeodeticStandaloneTransformDefParams)
+
+PUBLISHED_API:
+
+ ////////////////////////////////////////////////////////////////
+ /// \brief
+ /// Returns the code of the well known geodetic transformation method. Can only
+ /// be one of the constants defined in MgCoordinateSystemGeodeticStandaloneTransformationMethod (except for None).
+ ///
+ /// \return
+ /// Returns the code of the well known geodetic transformation method.
+ virtual INT32 GetTransformationMethod() = 0; /// __get, __set
+
+ ////////////////////////////////////////////////////////////////
+ /// \brief
+ /// Sets the code of the well-known geodetic transformation method. Can only
+ /// be one of the constants defined in MgCoordinateSystemGeodeticStandaloneTransformationMethod (except for None).
+ virtual void SetTransformationMethod(INT32 builtInTransformationMethod) = 0;
+
+protected:
+ /////////////////////////////////////////////////////////////////
+ /// \brief
+ /// Get the class Id
+ ///
+ /// \return
+ /// The integer value
+ ///
+ INT32 GetClassId() { return m_cls_id; };
+
+CLASS_ID:
+ static const INT32 m_cls_id = CoordinateSystem_CoordinateSystemGeodeticStandaloneTransformDefParams;
+
+};
+
+/// \}
+
+#endif //_MGCOORDINATESYSTEMGEODETICSTANDALONETRANSFORMDEFPARAMS_H_
Property changes on: trunk/MgDev/Common/Geometry/CoordinateSystem/CoordinateSystemGeodeticStandaloneTransformDefParams.h
___________________________________________________________________
Added: svn:eol-style
+ native
Added: trunk/MgDev/Common/Geometry/CoordinateSystem/CoordinateSystemGeodeticStandaloneTransformationMethod.h
===================================================================
--- trunk/MgDev/Common/Geometry/CoordinateSystem/CoordinateSystemGeodeticStandaloneTransformationMethod.h (rev 0)
+++ trunk/MgDev/Common/Geometry/CoordinateSystem/CoordinateSystemGeodeticStandaloneTransformationMethod.h 2010-11-24 14:36:36 UTC (rev 5404)
@@ -0,0 +1,58 @@
+//
+// Copyright (C) 2004-2010 by Autodesk, Inc.
+//
+// This library is free software; you can redistribute it and/or
+// modify it under the terms of version 2.1 of the GNU Lesser
+// General Public License as published by the Free Software Foundation.
+//
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with this library; if not, write to the Free Software
+// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
+//
+
+#ifndef _MGCOORDINATESYSTEMGEODETICSTANDALONETRANSFORMATIONMETHOD_H_
+#define _MGCOORDINATESYSTEMGEODETICSTANDALONETRANSFORMATIONMETHOD_H_
+
+/// \defgroup MgCoordinateSystemGeodeticStandaloneTransformationMethod MgCoordinateSystemGeodeticStandaloneTransformationMethod
+/// \ingroup Coordinate_System_classes
+/// \{
+
+///////////////////////////////////////////////////////////////
+/// \brief
+/// This class defines all transformation methods that are built into
+/// the transformation engine. That is, when creating such a geodetic transformation
+/// the API client cannot specify any parameters because they are well known
+/// and are available to the engine already.
+/// The constants defined below are only valid for MgCoordinateSystemGeodeticTransformDef instances
+/// of type MgCoordinateSystemGeodeticTransformDefType.Standalone.
+///
+class MG_GEOMETRY_API MgCoordinateSystemGeodeticStandaloneTransformationMethod
+{
+PUBLISHED_API:
+
+ ////////////////////////////////////////////////////////////////
+ /// \brief
+ /// Default constant available for programming convenience only. No specific
+ /// geodetic transformation can be created from this constant.
+ static const INT32 None = 0;
+
+ ////////////////////////////////////////////////////////////////
+ /// \brief
+ /// Describes a geodetic transformation that is actually a NOOP, i.e.
+ /// the 2 datums to be transformed between are considered equal.
+ static const INT32 NullX = 4097; //cs_DTCMTH_NULLX
+
+ ////////////////////////////////////////////////////////////////
+ /// \brief
+ /// Describes the WGS72 to WGS84 geodetic transformation as published by the DMA (DMA TR 8350.2-B).
+ /// All required parameters are known and built-in.
+ static const INT32 Wgs72 = 4098; //cs_DTCMTH_WGS72
+};
+/// \}
+
+#endif //_MGCOORDINATESYSTEMGEODETICSTANDALONETRANSFORMATIONMETHOD_H_
Property changes on: trunk/MgDev/Common/Geometry/CoordinateSystem/CoordinateSystemGeodeticStandaloneTransformationMethod.h
___________________________________________________________________
Added: svn:eol-style
+ native
Modified: trunk/MgDev/Common/Geometry/CoordinateSystem/CoordinateSystemGeodeticTransformDef.h
===================================================================
--- trunk/MgDev/Common/Geometry/CoordinateSystem/CoordinateSystemGeodeticTransformDef.h 2010-11-24 11:47:03 UTC (rev 5403)
+++ trunk/MgDev/Common/Geometry/CoordinateSystem/CoordinateSystemGeodeticTransformDef.h 2010-11-24 14:36:36 UTC (rev 5404)
@@ -107,6 +107,7 @@
/// \li MgCoordinateSystemGeodeticAnalyticalTransformDefParams if this transformation uses an anylitical transformation method
/// \li MgCoordinateSystemGeodeticInterpolationTransformDefParams if this transformation uses grid files
/// \li MgCoordinateSystemGeodeticMultipleRegressionTransformDefParams if this transformation is a multiple regression transformation type
+ /// \li MgCoordinateSystemGeodeticStandaloneTransformDefParams if this transformation is a standalone (aka built-in) transformation type
///
/// \return
/// Returns the extended parameters (or NULL) object for this transformation object. The
@@ -126,7 +127,9 @@
/// \param parameters
/// The parameters to set for this transformation. The object passed in,
/// has to be of the same type as it has been returned by GetParameters. Otherwise,
- /// an exception will be thrown. This parameter can only be NULL, if this is a NONE transformation.
+ /// an exception will be thrown. This parameter must not be NULL. Creating a transformation that
+ /// is supposed to do nothing except for allowing to switch from one datum to another (that is considered to be equal),
+ /// requires to create standalone transformation of type NullX.
///
/// \remarks
/// The instance passed in has to be disposed by the caller, i.e. this transformation
Modified: trunk/MgDev/Common/Geometry/CoordinateSystem/CoordinateSystemGeodeticTransformDefDictionary.h
===================================================================
--- trunk/MgDev/Common/Geometry/CoordinateSystem/CoordinateSystemGeodeticTransformDefDictionary.h 2010-11-24 11:47:03 UTC (rev 5403)
+++ trunk/MgDev/Common/Geometry/CoordinateSystem/CoordinateSystemGeodeticTransformDefDictionary.h 2010-11-24 14:36:36 UTC (rev 5404)
@@ -39,6 +39,10 @@
/// method does not create a new entry in the dictionary. The caller is responsible
/// for disposing the object being returned.
///
+ /// \param transformationDefType
+ /// The type of the geodetic transformation to create. This must be a constant value as defined
+ /// in MgCoordinateSystemGeodeticTransformDefType (except for None)
+ ///
/// \return
/// Return a new, in-memory geodetic transformation definition object. No content is written to disk
/// when this method executes.
Modified: trunk/MgDev/Common/Geometry/CoordinateSystem/CoordinateSystemGeodeticTransformDefType.h
===================================================================
--- trunk/MgDev/Common/Geometry/CoordinateSystem/CoordinateSystemGeodeticTransformDefType.h 2010-11-24 11:47:03 UTC (rev 5403)
+++ trunk/MgDev/Common/Geometry/CoordinateSystem/CoordinateSystemGeodeticTransformDefType.h 2010-11-24 14:36:36 UTC (rev 5404)
@@ -33,23 +33,30 @@
///////////////////////////////////////////////////////////////
/// \brief
- /// The transformation definition describes the NONE transformation. That is, that
- /// transformation doesn't actually perform a datum shift but is basically a NOOP.
+ /// Default 0 constant available for programming convenience only. It does not
+ /// describe a specific geodetic transformation type.
static const INT32 None = 0;
///////////////////////////////////////////////////////////////
/// \brief
+ /// The transformation definition describes a built-in transformation. That is, that
+ /// transformation is well-known and cannot be parameterized because
+ /// the information is available to the transformation engine.
+ static const INT32 Standalone = 1;
+
+ ///////////////////////////////////////////////////////////////
+ /// \brief
/// The transformation definition describes an analytical transformation where
/// the transformation between the source and the target datum is defined
/// through a formular that's fed with up to 10 parameters.
- static const INT32 Analytical = 1;
+ static const INT32 Analytical = 2;
///////////////////////////////////////////////////////////////
/// \brief
/// The transformation definition describes a transformation that
/// uses grid files to calculate the actual datum shift for a given
/// coordinate by interpolating between given grid points.
- static const INT32 Interpolation = 2;
+ static const INT32 Interpolation = 3;
///////////////////////////////////////////////////////////////
/// \brief
Modified: trunk/MgDev/Common/Geometry/Geometry.vcproj
===================================================================
--- trunk/MgDev/Common/Geometry/Geometry.vcproj 2010-11-24 11:47:03 UTC (rev 5403)
+++ trunk/MgDev/Common/Geometry/Geometry.vcproj 2010-11-24 14:36:36 UTC (rev 5404)
@@ -2671,6 +2671,14 @@
>
</File>
<File
+ RelativePath=".\CoordinateSystem\CoordinateSystemGeodeticStandaloneTransformationMethod.h"
+ >
+ </File>
+ <File
+ RelativePath=".\CoordinateSystem\CoordinateSystemGeodeticStandaloneTransformDefParams.h"
+ >
+ </File>
+ <File
RelativePath=".\CoordinateSystem\CoordinateSystemGeodeticTransformation.h"
>
</File>
@@ -2995,6 +3003,14 @@
>
</File>
<File
+ RelativePath="..\CoordinateSystem\CoordSysGeodeticStandaloneTransformDefParams.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\CoordinateSystem\CoordSysGeodeticStandaloneTransformDefParams.h"
+ >
+ </File>
+ <File
RelativePath="..\CoordinateSystem\CoordSysGeodeticTransformation.cpp"
>
</File>
Modified: trunk/MgDev/Common/Geometry/GeometryClassId.h
===================================================================
--- trunk/MgDev/Common/Geometry/GeometryClassId.h 2010-11-24 11:47:03 UTC (rev 5403)
+++ trunk/MgDev/Common/Geometry/GeometryClassId.h 2010-11-24 14:36:36 UTC (rev 5404)
@@ -127,6 +127,7 @@
#define CoordinateSystem_CoordinateSystemGeodeticInterpolationTransformDefParams GEOMETRY_COORDINATE_SYSTEM_ID+43
#define CoordinateSystem_CoordinateSystemGeodeticMultipleRegressionTransformDefParams GEOMETRY_COORDINATE_SYSTEM_ID+44
#define CoordinateSystem_CoordinateSystemGeodeticTransformGridFile GEOMETRY_COORDINATE_SYSTEM_ID+45
+#define CoordinateSystem_CoordinateSystemGeodeticStandaloneTransformDefParams GEOMETRY_COORDINATE_SYSTEM_ID+46
// Exceptions
#define Geometry_Exception_MgCoordinateSystemComputationFailedException GEOMETRY_EXCEPTION_ID+0
Modified: trunk/MgDev/Common/Geometry/GeometryCommon.h
===================================================================
--- trunk/MgDev/Common/Geometry/GeometryCommon.h 2010-11-24 11:47:03 UTC (rev 5403)
+++ trunk/MgDev/Common/Geometry/GeometryCommon.h 2010-11-24 14:36:36 UTC (rev 5404)
@@ -113,7 +113,9 @@
#include "CoordinateSystem/CoordinateSystemGeodeticInterpolationTransformDefParams.h"
#include "CoordinateSystem/CoordinateSystemGeodeticMultipleRegressionTransformDefParams.h"
#include "CoordinateSystem/CoordinateSystemGeodeticAnalyticalTransformDefParams.h"
+#include "CoordinateSystem/CoordinateSystemGeodeticStandaloneTransformDefParams.h"
#include "CoordinateSystem/CoordinateSystemGeodeticTransformDefType.h"
+#include "CoordinateSystem/CoordinateSystemGeodeticStandaloneTransformationMethod.h"
#include "CoordinateSystem/CoordinateSystemGeodeticAnalyticalTransformationMethod.h"
#include "CoordinateSystem/CoordinateSystemGeodeticMultipleRegressionTransformationMethod.h"
#include "CoordinateSystem/CoordinateSystemGeodeticTransformDef.h"
Modified: trunk/MgDev/Common/Geometry/Makefile.am
===================================================================
--- trunk/MgDev/Common/Geometry/Makefile.am 2010-11-24 11:47:03 UTC (rev 5403)
+++ trunk/MgDev/Common/Geometry/Makefile.am 2010-11-24 14:36:36 UTC (rev 5404)
@@ -23,17 +23,18 @@
../CoordinateSystem/CoordSysEnumDatum.cpp \
../CoordinateSystem/CoordSysEnumEllipsoid.cpp \
../CoordinateSystem/CoordSysFormatConverter.cpp \
- ../CoordinateSystem/CoordSysGeodeticAnalyticalTransformDefParams.cpp\
- ../CoordinateSystem/CoordSysGeodeticInterpolationTransformDefParams.cpp\
- ../CoordinateSystem/CoordSysGeodeticMultipleRegressionTransformDefParams.cpp\
- ../CoordinateSystem/CoordSysGeodeticPath.cpp\
- ../CoordinateSystem/CoordSysGeodeticPathDictionary.cpp\
- ../CoordinateSystem/CoordSysGeodeticPathElement.cpp\
- ../CoordinateSystem/CoordSysGeodeticTransformation.cpp\
- ../CoordinateSystem/CoordSysGeodeticTransformDef.cpp\
- ../CoordinateSystem/CoordSysGeodeticTransformDefDictionary.cpp\
- ../CoordinateSystem/CoordSysGeodeticTransformDefParams.cpp\
- ../CoordinateSystem/CoordSysGeodeticTransformGridFile.cpp\
+ ../CoordinateSystem/CoordSysGeodeticAnalyticalTransformDefParams.cpp \
+ ../CoordinateSystem/CoordSysGeodeticInterpolationTransformDefParams.cpp \
+ ../CoordinateSystem/CoordSysGeodeticMultipleRegressionTransformDefParams.cpp \
+ ../CoordinateSystem/CoordSysGeodeticStandaloneTransformDefParams.cpp \
+ ../CoordinateSystem/CoordSysGeodeticPath.cpp \
+ ../CoordinateSystem/CoordSysGeodeticPathDictionary.cpp \
+ ../CoordinateSystem/CoordSysGeodeticPathElement.cpp \
+ ../CoordinateSystem/CoordSysGeodeticTransformation.cpp \
+ ../CoordinateSystem/CoordSysGeodeticTransformDef.cpp \
+ ../CoordinateSystem/CoordSysGeodeticTransformDefDictionary.cpp \
+ ../CoordinateSystem/CoordSysGeodeticTransformDefParams.cpp \
+ ../CoordinateSystem/CoordSysGeodeticTransformGridFile.cpp \
../CoordinateSystem/CoordSysMeasure.cpp \
../CoordinateSystem/CoordSysTransform.cpp \
../CoordinateSystem/CoordSysDictionaryUtility.cpp \
@@ -175,6 +176,7 @@
../CoordinateSystem/CoordSysGeodeticAnalyticalTransformDefParams.cpp\
../CoordinateSystem/CoordSysGeodeticInterpolationTransformDefParams.cpp\
../CoordinateSystem/CoordSysGeodeticMultipleRegressionTransformDefParams.cpp\
+ ../CoordinateSystem/CoordSysGeodeticStandaloneTransformDefParams.cpp\
../CoordinateSystem/CoordSysGeodeticPath.cpp\
../CoordinateSystem/CoordSysGeodeticPathDictionary.cpp\
../CoordinateSystem/CoordSysGeodeticPathElement.cpp\
@@ -335,6 +337,10 @@
CoordinateSystem/CoordinateSystemFormatConverter.h \
CoordinateSystem/CoordinateSystemGeodeticTransformation.h \
CoordinateSystem/CoordinateSystemGeodeticTransformationMethod.h \
+ CoordinateSystem/CoordinateSystemGeodeticAnalyticalTransformationMethod.h \
+ CoordinateSystem/CoordinateSystemGeodeticMultipleRegressionTransformationMethod.h \
+ CoordinateSystem/CoordinateSystemGeodeticStandaloneTransformationMethod.h \
+ CoordinateSystem/CoordinateSystemGeodeticTransformGridFileFormat.h \
CoordinateSystem/CoordinateSystemMathComparator.h \
CoordinateSystem/CoordinateSystemMeasure.h \
CoordinateSystem/CoordinateSystemProjectionCode.h \
@@ -396,17 +402,18 @@
../CoordinateSystem/CoordSysEnumDatum.h \
../CoordinateSystem/CoordSysEnumEllipsoid.h \
../CoordinateSystem/CoordSysFormatConverter.h \
- ../CoordinateSystem/CoordSysGeodeticAnalyticalTransformDefParams.h\
- ../CoordinateSystem/CoordSysGeodeticInterpolationTransformDefParams.h\
- ../CoordinateSystem/CoordSysGeodeticMultipleRegressionTransformDefParams.h\
- ../CoordinateSystem/CoordSysGeodeticPath.h\
- ../CoordinateSystem/CoordSysGeodeticPathDictionary.h\
- ../CoordinateSystem/CoordSysGeodeticPathElement.h\
- ../CoordinateSystem/CoordSysGeodeticTransformation.h\
- ../CoordinateSystem/CoordSysGeodeticTransformDef.h\
- ../CoordinateSystem/CoordSysGeodeticTransformDefDictionary.h\
- ../CoordinateSystem/CoordSysGeodeticTransformDefParams.h\
- ../CoordinateSystem/CoordSysGeodeticTransformGridFile.h\
+ ../CoordinateSystem/CoordSysGeodeticAnalyticalTransformDefParams.h \
+ ../CoordinateSystem/CoordSysGeodeticInterpolationTransformDefParams.h \
+ ../CoordinateSystem/CoordSysGeodeticMultipleRegressionTransformDefParams.h \
+ ../CoordinateSystem/CoordSysGeodeticStandaloneTransformDefParams.h \
+ ../CoordinateSystem/CoordSysGeodeticPath.h \
+ ../CoordinateSystem/CoordSysGeodeticPathDictionary.h \
+ ../CoordinateSystem/CoordSysGeodeticPathElement.h \
+ ../CoordinateSystem/CoordSysGeodeticTransformation.h \
+ ../CoordinateSystem/CoordSysGeodeticTransformDef.h \
+ ../CoordinateSystem/CoordSysGeodeticTransformDefDictionary.h \
+ ../CoordinateSystem/CoordSysGeodeticTransformDefParams.h \
+ ../CoordinateSystem/CoordSysGeodeticTransformGridFile.h \
../CoordinateSystem/CoordSysMeasure.h \
../CoordinateSystem/CoordSysTransform.h \
../CoordinateSystem/CoordSysType.h \
Modified: trunk/MgDev/Web/src/DotNetUnmanagedApi/Geometry/GeometryApiGen.xml
===================================================================
--- trunk/MgDev/Web/src/DotNetUnmanagedApi/Geometry/GeometryApiGen.xml 2010-11-24 11:47:03 UTC (rev 5403)
+++ trunk/MgDev/Web/src/DotNetUnmanagedApi/Geometry/GeometryApiGen.xml 2010-11-24 14:36:36 UTC (rev 5404)
@@ -147,6 +147,7 @@
<Header path="../../../../Common/Geometry/CoordinateSystem/CoordinateSystemGeodeticAnalyticalTransformDefParams.h" />
<Header path="../../../../Common/Geometry/CoordinateSystem/CoordinateSystemGeodeticInterpolationTransformDefParams.h" />
<Header path="../../../../Common/Geometry/CoordinateSystem/CoordinateSystemGeodeticMultipleRegressionTransformDefParams.h" />
+ <Header path="../../../../Common/Geometry/CoordinateSystem/CoordinateSystemGeodeticStandaloneTransformDefParams.h" />
<Header path="../../../../Common/Geometry/CoordinateSystem/CoordinateSystemGeodeticTransformDefDictionary.h" />
<Header path="../../../../Common/Geometry/CoordinateSystem/CoordinateSystemDictionary.h" />
<Header path="../../../../Common/Geometry/CoordinateSystem/CoordinateSystemDictionaryUtility.h" />
Modified: trunk/MgDev/Web/src/DotNetUnmanagedApi/Geometry/GeometryConstants.xml
===================================================================
--- trunk/MgDev/Web/src/DotNetUnmanagedApi/Geometry/GeometryConstants.xml 2010-11-24 11:47:03 UTC (rev 5403)
+++ trunk/MgDev/Web/src/DotNetUnmanagedApi/Geometry/GeometryConstants.xml 2010-11-24 14:36:36 UTC (rev 5404)
@@ -90,6 +90,7 @@
<Class name="MgCoordinateSystemGeodeticAnalyticalTransformationMethod" />
<Class name="MgCoordinateSystemGeodeticMultipleRegressionTransformationMethod" />
<Class name="MgCoordinateSystemGeodeticTransformGridFileFormat" />
+ <Class name="MgCoordinateSystemGeodeticStandaloneTransformationMethod" />
</Classes>
<!--
@@ -123,6 +124,7 @@
<Header path="../../../../Common/Geometry/CoordinateSystem/CoordinateSystemGeodeticTransformDefType.h" />
<Header path="../../../../Common/Geometry/CoordinateSystem/CoordinateSystemGeodeticAnalyticalTransformationMethod.h" />
<Header path="../../../../Common/Geometry/CoordinateSystem/CoordinateSystemGeodeticMultipleRegressionTransformationMethod.h" />
+ <Header path="../../../../Common/Geometry/CoordinateSystem/CoordinateSystemGeodeticStandaloneTransformationMethod.h" />
<Header path="../../../../Common/Geometry/CoordinateSystem/CoordinateSystemGeodeticTransformGridFileFormat.h" />
</Headers>
Modified: trunk/MgDev/Web/src/JavaApi/Makefile.am
===================================================================
--- trunk/MgDev/Web/src/JavaApi/Makefile.am 2010-11-24 11:47:03 UTC (rev 5403)
+++ trunk/MgDev/Web/src/JavaApi/Makefile.am 2010-11-24 14:36:36 UTC (rev 5404)
@@ -192,6 +192,7 @@
../../../Common/Geometry/CoordinateSystem/CoordinateSystemGeodeticAnalyticalTransformDefParams.h \
../../../Common/Geometry/CoordinateSystem/CoordinateSystemGeodeticInterpolationTransformDefParams.h \
../../../Common/Geometry/CoordinateSystem/CoordinateSystemGeodeticMultipleRegressionTransformDefParams.h \
+ ../../../Common/Geometry/CoordinateSystem/CoordinateSystemGeodeticStandaloneTransformDefParams.h \
../../../Common/Geometry/CoordinateSystem/CoordinateSystemGeodeticTransformDefDictionary.h \
../../../Common/Geometry/CoordinateSystem/CoordinateSystemDictionary.h \
../../../Common/Geometry/CoordinateSystem/CoordinateSystemDictionaryUtility.h \
@@ -245,6 +246,7 @@
../../../Common/Geometry/CoordinateSystem/CoordinateSystemGeodeticTransformDefType.h \
../../../Common/Geometry/CoordinateSystem/CoordinateSystemGeodeticAnalyticalTransformationMethod.h \
../../../Common/Geometry/CoordinateSystem/CoordinateSystemGeodeticMultipleRegressionTransformationMethod.h \
+ ../../../Common/Geometry/CoordinateSystem/CoordinateSystemGeodeticStandaloneTransformationMethod.h \
../../../Common/Geometry/CoordinateSystem/CoordinateSystemGeodeticTransformGridFileFormat.h \
../../../Common/PlatformBase/Data/BlobProperty.h \
../../../Common/PlatformBase/Data/BooleanProperty.h \
Modified: trunk/MgDev/Web/src/PhpApi/Makefile.am
===================================================================
--- trunk/MgDev/Web/src/PhpApi/Makefile.am 2010-11-24 11:47:03 UTC (rev 5403)
+++ trunk/MgDev/Web/src/PhpApi/Makefile.am 2010-11-24 14:36:36 UTC (rev 5404)
@@ -190,6 +190,7 @@
../../../Common/Geometry/CoordinateSystem/CoordinateSystemGeodeticAnalyticalTransformDefParams.h \
../../../Common/Geometry/CoordinateSystem/CoordinateSystemGeodeticInterpolationTransformDefParams.h \
../../../Common/Geometry/CoordinateSystem/CoordinateSystemGeodeticMultipleRegressionTransformDefParams.h \
+ ../../../Common/Geometry/CoordinateSystem/CoordinateSystemGeodeticStandaloneTransformDefParams.h \
../../../Common/Geometry/CoordinateSystem/CoordinateSystemGeodeticTransformDefDictionary.h \
../../../Common/Geometry/CoordinateSystem/CoordinateSystemDictionary.h \
../../../Common/Geometry/CoordinateSystem/CoordinateSystemDictionaryUtility.h \
@@ -243,6 +244,7 @@
../../../Common/Geometry/CoordinateSystem/CoordinateSystemGeodeticTransformDefType.h \
../../../Common/Geometry/CoordinateSystem/CoordinateSystemGeodeticAnalyticalTransformationMethod.h \
../../../Common/Geometry/CoordinateSystem/CoordinateSystemGeodeticMultipleRegressionTransformationMethod.h \
+ ../../../Common/Geometry/CoordinateSystem/CoordinateSystemGeodeticStandaloneTransformationMethod.h \
../../../Common/Geometry/CoordinateSystem/CoordinateSystemGeodeticTransformGridFileFormat.h \
../../../Common/PlatformBase/Data/BlobProperty.h \
../../../Common/PlatformBase/Data/BooleanProperty.h \
More information about the mapguide-commits
mailing list