From 51e3b64874d8823ac3d1108210b93b4c2f817ebd Mon Sep 17 00:00:00 2001
From: Manuel Grizonnet <manuel.grizonnet@orfeo-toolbox.org>
Date: Thu, 22 Nov 2012 16:03:24 +0100
Subject: [PATCH] ENH: some WV2 products use the keyword MS1

---
 .../otbWorldView2ImageMetadataInterface.cxx   | 19 ++++++++++++++-----
 1 file changed, 14 insertions(+), 5 deletions(-)

diff --git a/Code/IO/otbWorldView2ImageMetadataInterface.cxx b/Code/IO/otbWorldView2ImageMetadataInterface.cxx
index a8c032bf75..0d1d14490e 100644
--- a/Code/IO/otbWorldView2ImageMetadataInterface.cxx
+++ b/Code/IO/otbWorldView2ImageMetadataInterface.cxx
@@ -63,6 +63,7 @@ WorldView2ImageMetadataInterface::GetSolarIrradiance() const
   std::string keywordStringBId = imageKeywordlist.GetMetadataByKey("support_data.band_id");
   std::string panchro("P");
   std::string multi("Multi");
+  std::string ms1("MS1");
 
   if (keywordStringBId == panchro)
     {
@@ -403,12 +404,14 @@ WorldView2ImageMetadataInterface
   std::string keywordStringBId = imageKeywordlist.GetMetadataByKey("support_data.band_id");
   std::string panchro("P");
   std::string multi("Multi");
+  std::string ms1("MS1");
+
   if (keywordStringBId == panchro)
     {
     outputValuesVariableLengthVector.SetSize(1);
     outputValuesVariableLengthVector.Fill(0.0);
     }
-  else if (keywordStringBId == multi)
+  else if (keywordStringBId == multi || keywordStringBId == ms1)
     {
     std::string keywordStringBandNameList = imageKeywordlist.GetMetadataByKey("support_data.band_name_list");
     std::vector<std::string> bandNameList;
@@ -452,7 +455,9 @@ WorldView2ImageMetadataInterface
   std::string keywordStringBId = imageKeywordlist.GetMetadataByKey("support_data.band_id");
   std::string panchro("P");
   std::string multi("Multi");
-  if (keywordStringBId != panchro && keywordStringBId != multi)
+  std::string ms1("MS1");
+
+  if (keywordStringBId != panchro && keywordStringBId != multi && keywordStringBId != ms1)
     {
     itkExceptionMacro(<< "Invalid bandID " << keywordStringBId);
     }
@@ -581,7 +586,9 @@ WorldView2ImageMetadataInterface
   std::string keywordStringBId = imageKeywordlist.GetMetadataByKey("support_data.band_id");
   std::string panchro("P");
   std::string multi("Multi");
-  if (keywordStringBId != panchro && keywordStringBId != multi)
+  std::string ms1("MS1");
+
+  if (keywordStringBId != panchro && keywordStringBId != multi && keywordStringBId != ms1)
     {
     itkExceptionMacro(<< "Invalid bandID " << keywordStringBId);
     }
@@ -665,8 +672,9 @@ WorldView2ImageMetadataInterface
   std::string keywordStringBId = imageKeywordlist.GetMetadataByKey("support_data.band_id");
   std::string panchro("P");
   std::string multi("Multi");
+  std::string ms1("MS1");
 
-  if (keywordStringBId != panchro && keywordStringBId != multi)
+  if (keywordStringBId != panchro && keywordStringBId != multi && keywordStringBId != ms1)
     {
     itkExceptionMacro(<< "Invalid bandID " << keywordStringBId);
     }
@@ -799,8 +807,9 @@ WorldView2ImageMetadataInterface
   std::string keywordStringBId = imageKeywordlist.GetMetadataByKey("support_data.band_id");
   std::string panchro("P");
   std::string multi("Multi");
+  std::string ms1("MS1");
 
-  if (keywordStringBId != panchro && keywordStringBId != multi)
+  if (keywordStringBId != panchro && keywordStringBId != multi && keywordStringBId != ms1)
     {
     itkExceptionMacro(<< "Invalid bandID " << keywordStringBId);
     }
-- 
GitLab