From 0b705222641df4c4af441c257f726e0a1fe255b5 Mon Sep 17 00:00:00 2001
From: Jonathan Guinet <jonathan.guinet@c-s.fr>
Date: Wed, 4 Jul 2012 19:09:10 +0200
Subject: [PATCH] BUG: Transmercator FalseEasting and Northing is not set to
 ossim projection.

---
 .../OssimAdapters/otbMapProjectionAdapter.cxx  | 18 ++++++++++++++++--
 1 file changed, 16 insertions(+), 2 deletions(-)

diff --git a/Code/UtilitiesAdapters/OssimAdapters/otbMapProjectionAdapter.cxx b/Code/UtilitiesAdapters/OssimAdapters/otbMapProjectionAdapter.cxx
index b5763b5682..b5cd6dd33a 100644
--- a/Code/UtilitiesAdapters/OssimAdapters/otbMapProjectionAdapter.cxx
+++ b/Code/UtilitiesAdapters/OssimAdapters/otbMapProjectionAdapter.cxx
@@ -348,12 +348,14 @@ void MapProjectionAdapter::ApplyParametersToProjection()
     if (it != m_ParameterStore.end())
       {
       double value = atof((*it).second.c_str());
+
       projection->setFalseNorthing(value);
       }
     it = m_ParameterStore.find("FalseEasting");
     if (it != m_ParameterStore.end())
       {
       double value = atof((*it).second.c_str());
+
       projection->setFalseEasting(value);
       }
     it = m_ParameterStore.find("StandardParallel1");
@@ -427,16 +429,28 @@ void MapProjectionAdapter::ApplyParametersToProjection()
       }
     }
 
-  // Apply parameters to trasnmercator
+  // Apply parameters to transmercator
   if (projectionName.compare("ossimTransMercatorProjection") == 0)
     {
-    ossimTransMercatorProjection* projection = dynamic_cast<ossimTransMercatorProjection*>(this->GetMapProjection());
+    ossimTransMercatorProjection* projection = dynamic_cast<ossimTransMercatorProjection*> (this->GetMapProjection());
     it = m_ParameterStore.find("ScaleFactor");
     if (it != m_ParameterStore.end())
       {
       double scale = atof((*it).second.c_str());
       projection->setScaleFactor(scale);
       }
+    it = m_ParameterStore.find("FalseNorthing");
+    if (it != m_ParameterStore.end())
+      {
+      double value = atof((*it).second.c_str());
+      projection->setFalseNorthing(value);
+      }
+    it = m_ParameterStore.find("FalseEasting");
+    if (it != m_ParameterStore.end())
+      {
+      double value = atof((*it).second.c_str());
+      projection->setFalseEasting(value);
+      }
     }
 
   // Apply parameters to Utm
-- 
GitLab