From d74e40b76854c13cf130cc0151dc7f92f7788db2 Mon Sep 17 00:00:00 2001 From: Manuel Grizonnet <manuel.grizonnet@orfeo-toolbox.org> Date: Thu, 22 Nov 2012 13:58:02 +0100 Subject: [PATCH] ENH: update solar irradiance for WV2 using doc found by D.Duro --- .../otbWorldView2ImageMetadataInterface.cxx | 23 +++++++++++-------- 1 file changed, 13 insertions(+), 10 deletions(-) diff --git a/Code/IO/otbWorldView2ImageMetadataInterface.cxx b/Code/IO/otbWorldView2ImageMetadataInterface.cxx index f4ff70fd3d..a8c032bf75 100644 --- a/Code/IO/otbWorldView2ImageMetadataInterface.cxx +++ b/Code/IO/otbWorldView2ImageMetadataInterface.cxx @@ -42,6 +42,9 @@ WorldView2ImageMetadataInterface::CanRead() const WorldView2ImageMetadataInterface::VariableLengthVectorType WorldView2ImageMetadataInterface::GetSolarIrradiance() const { + // Used the solari irradiance provided by DigitalGlobe here: + // http://www.digitalglobe.com/downloads/Radiometric_Use_of_WorldView-2_Imagery.pdf + const MetaDataDictionaryType& dict = this->GetMetaDataDictionary(); if (!this->CanRead()) { @@ -64,7 +67,7 @@ WorldView2ImageMetadataInterface::GetSolarIrradiance() const if (keywordStringBId == panchro) { outputValuesVariableLengthVector.SetSize(1); - outputValuesVariableLengthVector.Fill(1603.40); + outputValuesVariableLengthVector.Fill(1580.8140); } else { @@ -79,35 +82,35 @@ WorldView2ImageMetadataInterface::GetSolarIrradiance() const double SolarIrradianceValue = 0.0; if(bandNameList[i] == "C") { - SolarIrradianceValue = 1777.10; + SolarIrradianceValue = 1758.2229; } else if(bandNameList[i] == "B") { - SolarIrradianceValue = 2015.68; + SolarIrradianceValue = 1974.2416; } else if(bandNameList[i] == "G") { - SolarIrradianceValue = 1829.06; + SolarIrradianceValue = 1856.4104; } else if(bandNameList[i] == "Y") { - SolarIrradianceValue = 1701.80; + SolarIrradianceValue = 1738.4791; } else if(bandNameList[i] == "R") { - SolarIrradianceValue = 1539.54; + SolarIrradianceValue = 1559.4555; } else if(bandNameList[i] == "RE") { - SolarIrradianceValue = 1345.03; + SolarIrradianceValue = 1342.0695; } else if(bandNameList[i] == "N") { - SolarIrradianceValue = 1045.50; + SolarIrradianceValue = 1069.7302; } else if(bandNameList[i] == "N2") { - SolarIrradianceValue = 883.20; + SolarIrradianceValue = 861.2866; } outputValuesVariableLengthVector[i] = SolarIrradianceValue; } @@ -362,7 +365,7 @@ WorldView2ImageMetadataInterface::GetProductionYear() const { itk::ExposeMetaData<ImageKeywordlistType>(dict, MetaDataKey::OSSIMKeywordlistKey, imageKeywordlist); } - + std::string key("support_data.generation_date"); if (!imageKeywordlist.HasKey(key)) { -- GitLab