diff --git a/CHANGELOG.md b/CHANGELOG.md index de2521b..feb1a75 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -9,7 +9,8 @@ Le format est basé sur [Keep a Changelog](https://keepachangelog.com/) et ce pr ### Changed - Refonte du CHANGELOG au format [Keep a Changelog](https://keepachangelog.com/) -- Changement des imports de Cache aux imports spécifiques des classes suite à la séparation du fichier Cache dans core-cpp. +- Changement des imports de Cache aux imports spécifiques des classes suite à la séparation du fichier Cache dans core-cpp. +- Changement de la manière de traiter le style dans le getmap permettant d'utiliser des styles sans palette. ### Deprecated ### Removed diff --git a/src/services/wms/getmap.cpp b/src/services/wms/getmap.cpp index b2ddd50..59adb21 100644 --- a/src/services/wms/getmap.cpp +++ b/src/services/wms/getmap.cpp @@ -46,7 +46,7 @@ #include #include -#include +#include #include #include #include @@ -283,12 +283,12 @@ DataStream* WmsService::get_map ( Request* req, Rok4Server* serv ) { throw WmsException::get_error_message("BBOX too big", "InvalidParameterValue", 400); } - image = new PaletteImage(image, style->get_palette()); - + StyledImage* s_image = StyledImage::create(image,style); + image = s_image; images.push_back(image); // Le nombre final de canaux est celui maxiumum parmis les couches, c'est à dire celui de la donnée en prenant en compte le style - bands = std::max(bands, style->get_channels(layers.at(i)->get_pyramid()->get_channels())); + bands = std::max(bands, image->get_channels()); } // On construit la réponse finale, en superposant les couches @@ -371,6 +371,5 @@ DataStream* WmsService::get_map ( Request* req, Rok4Server* serv ) { delete final_image; throw WmsException::get_error_message("Used data format (" + std::to_string(bands) + " band(s) " + SampleFormat::to_string(sample_format) + ") and expected output format (" + format + ") are not consistent", "InvalidParameterValue", 400); } - return NULL; } \ No newline at end of file