diff --git a/Modules/Core/Metadata/src/otbRadarsat2ImageMetadataInterface.cxx b/Modules/Core/Metadata/src/otbRadarsat2ImageMetadataInterface.cxx index d2ebebf4dcd9acdda788f40ae949d4b4c3cbb406..47d4a5e7c541e30fdc1f453796354a6cc6af6ca5 100644 --- a/Modules/Core/Metadata/src/otbRadarsat2ImageMetadataInterface.cxx +++ b/Modules/Core/Metadata/src/otbRadarsat2ImageMetadataInterface.cxx @@ -119,7 +119,7 @@ Radarsat2ImageMetadataInterface } const std::string date_time_str = imageKeywordlist.GetMetadataByKey(key); - Utils::ConvertStringToVector(date_time_str, dateFields, " T:-."); + Utils::ConvertStringToVector(date_time_str, dateFields, " T:.Z" "T:.Z"); } } @@ -130,11 +130,7 @@ Radarsat2ImageMetadataInterface::GetYear() const ParseDateTime("support_data.image_date", m_AcquisitionDateFields); if(m_AcquisitionDateFields.size() > 0 ) { - value = boost::lexical_cast<int>( m_AcquisitionDateFields[0] ); - } - else - { - itkExceptionMacro( << "Invalid year" ); + value = Utils::LexicalCast<int>( m_AcquisitionDateFields[0], "support_data.image_date(year)" ); } return value; } @@ -146,11 +142,7 @@ Radarsat2ImageMetadataInterface::GetMonth() const ParseDateTime("support_data.image_date", m_AcquisitionDateFields); if(m_AcquisitionDateFields.size() > 1 ) { - value = boost::lexical_cast<int>( m_AcquisitionDateFields[1] ); - } - else - { - itkExceptionMacro( << "Invalid month" ); + value = Utils::LexicalCast<int>( m_AcquisitionDateFields[1], "support_data.image_date(month)" ); } return value; } @@ -162,11 +154,7 @@ Radarsat2ImageMetadataInterface::GetDay() const ParseDateTime("support_data.image_date", m_AcquisitionDateFields); if(m_AcquisitionDateFields.size() > 2 ) { - value = boost::lexical_cast<int>( m_AcquisitionDateFields[2] ); - } - else - { - itkExceptionMacro( << "Invalid day" ); + value = Utils::LexicalCast<int>( m_AcquisitionDateFields[2], "support_data.image_date(day)" ); } return value; } @@ -178,11 +166,7 @@ Radarsat2ImageMetadataInterface::GetHour() const ParseDateTime("support_data.image_date", m_AcquisitionDateFields); if(m_AcquisitionDateFields.size() > 3 ) { - value = boost::lexical_cast<int>( m_AcquisitionDateFields[3] ); - } - else - { - itkExceptionMacro( << "Invalid hour" ); + value = Utils::LexicalCast<int>( m_AcquisitionDateFields[3], "support_data.image_date(hour)" ); } return value; } @@ -194,11 +178,7 @@ Radarsat2ImageMetadataInterface::GetMinute() const ParseDateTime("support_data.image_date", m_AcquisitionDateFields); if(m_AcquisitionDateFields.size() > 4 ) { - value = boost::lexical_cast<int>( m_AcquisitionDateFields[4] ); - } - else - { - itkExceptionMacro( << "Invalid minute" ); + value = Utils::LexicalCast<int>( m_AcquisitionDateFields[4], "support_data.image_date(minute)" ); } return value; } @@ -210,11 +190,7 @@ Radarsat2ImageMetadataInterface::GetProductionYear() const ParseDateTime("support_data.date", m_ProductionDateFields); if(m_ProductionDateFields.size() > 0 ) { - value = boost::lexical_cast<int>( m_ProductionDateFields[0] ); - } - else - { - itkExceptionMacro( << "Invalid production year" ); + value = Utils::LexicalCast<int>( m_ProductionDateFields[0], "support_data.image_date(year)" ); } return value; @@ -227,11 +203,7 @@ Radarsat2ImageMetadataInterface::GetProductionMonth() const ParseDateTime("support_data.date", m_ProductionDateFields); if(m_ProductionDateFields.size() > 1 ) { - value = boost::lexical_cast<int>( m_ProductionDateFields[1] ); - } - else - { - itkExceptionMacro( << "Invalid production month" ); + value = Utils::LexicalCast<int>( m_ProductionDateFields[1], "support_data.image_date(production month)" ); } return value; } @@ -243,11 +215,7 @@ Radarsat2ImageMetadataInterface::GetProductionDay() const ParseDateTime("support_data.date", m_ProductionDateFields); if(m_ProductionDateFields.size() > 2 ) { - value = boost::lexical_cast<int>( m_ProductionDateFields[2] ); - } - else - { - itkExceptionMacro( << "Invalid production day" ); + value = Utils::LexicalCast<int>( m_ProductionDateFields[2], "support_data.image_date(production day)" ); } return value; }