From c6609e7798183c319bc8f0476fe6c4b6eb1af159 Mon Sep 17 00:00:00 2001 From: Julien Michel <julien.michel@orfeo-toolbox.org> Date: Fri, 5 Jun 2015 17:27:50 +0200 Subject: [PATCH] ENH: Handle writing of no data flags as well --- Modules/IO/IOGDAL/src/otbGDALImageIO.cxx | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/Modules/IO/IOGDAL/src/otbGDALImageIO.cxx b/Modules/IO/IOGDAL/src/otbGDALImageIO.cxx index 45ddb823bd..1085a23c6f 100644 --- a/Modules/IO/IOGDAL/src/otbGDALImageIO.cxx +++ b/Modules/IO/IOGDAL/src/otbGDALImageIO.cxx @@ -1758,8 +1758,22 @@ void GDALImageIO::InternalWriteImageInformation(const void* buffer) otbMsgDevMacro( << "GCP Count: " << dataset->GetGCPCount() ); // Write no-data flags + std::vector<bool> noDataValueAvailable; + bool ret = itk::ExposeMetaData<std::vector<bool> >(dict,MetaDataKey::NoDataValueAvailable,noDataValueAvailable); + std::vector<double> noDataValues; + itk::ExposeMetaData<std::vector<double> >(dict,MetaDataKey::NoDataValue,noDataValues); + if(ret) + { + for (int iBand = 0; iBand < dataset->GetRasterCount(); iBand++) + { + if(noDataValueAvailable[iBand]) + { + dataset->GetRasterBand(iBand+1)->SetNoDataValue(noDataValues[iBand]); + } + } + } } std::string GDALImageIO::FilenameToGdalDriverShortName(const std::string& name) const -- GitLab