From db98708bb9625b5560537738c39bbb94d4b70bf0 Mon Sep 17 00:00:00 2001 From: Theo Satabin Date: Mon, 17 Feb 2025 16:49:22 +0100 Subject: [PATCH] =?UTF-8?q?Corrections=20de=20la=20diffusion=20des=20tuile?= =?UTF-8?q?s=20bil=20compress=C3=A9es=20et=20GeoTIFF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit ### [Fixed] * `WMS` * Correction de l'attribution dans les capacités : contenu du logo et ordre des balises * Correction du géoréférencement dans les réponses GeoTIFF * `TMS` * Correction de l'attribution dans les capacités : contenu du logo * Ajout du header `Content-Encoding: defalte` pour les tuiles bil compressées * `WMTS` * Correction des balises de métadonnées dans les capacités * Ajout du header `Content-Encoding: defalte` pour les tuiles bil compressées --- CHANGELOG.md | 16 ++++++++++++++++ src/configurations/Attribution.h | 9 +++++---- src/configurations/Metadata.h | 7 ++----- src/services/Router.cpp | 6 +++++- src/services/wms/getmap.cpp | 1 + 5 files changed, 29 insertions(+), 10 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index c1080f9..e379ad6 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,19 @@ +## 6.1.4 + +### [Fixed] + +* `WMS` + * Correction de l'attribution dans les capacités : contenu du logo et ordre des balises + * Correction du géoréférencement dans les réponses GeoTIFF + +* `TMS` + * Correction de l'attribution dans les capacités : contenu du logo + * Ajout du header `Content-Encoding: defalte` pour les tuiles bil compressées + +* `WMTS` + * Correction des balises de métadonnées dans les capacités + * Ajout du header `Content-Encoding: defalte` pour les tuiles bil compressées + ## 6.1.3 ### [Fixed] diff --git a/src/configurations/Attribution.h b/src/configurations/Attribution.h index 40c748d..f3bb389 100644 --- a/src/configurations/Attribution.h +++ b/src/configurations/Attribution.h @@ -137,13 +137,14 @@ class Attribution : public ResourceLocator { */ void add_node_tms(ptree& parent) { ptree& node = parent.add("Attribution", ""); + node.add(".href", href); node.add("Title", title); if (logo != NULL) { node.add("Logo..width", width); node.add("Logo..height", height); - node.add("Logo..href", href); - node.add("Logo..mime-type", format); + node.add("Logo..href", logo->get_href()); + node.add("Logo..mime-type", logo->get_format()); } } @@ -162,9 +163,9 @@ class Attribution : public ResourceLocator { if (logo != NULL) { node.add("LogoURL..width", width); node.add("LogoURL..height", height); - node.add("LogoURL.OnlineResource..xlink:href", href); + node.add("LogoURL.Format", logo->get_format()); + node.add("LogoURL.OnlineResource..xlink:href", logo->get_href()); node.add("LogoURL.OnlineResource..xlink:type", "simple"); - node.add("LogoURL.Format", format); } } diff --git a/src/configurations/Metadata.h b/src/configurations/Metadata.h index d4b863b..41ae377 100644 --- a/src/configurations/Metadata.h +++ b/src/configurations/Metadata.h @@ -204,11 +204,8 @@ class Metadata : public ResourceLocator { * \param[in] parent Node to whom add the metadata node */ void add_node_wmts(ptree& parent) { - ptree& node = parent.add("MetadataURL", ""); - node.add(".type", type); - node.add("Format", format); - node.add("OnlineResource..xlink:href", href); - node.add("OnlineResource..xlink:type", "simple"); + ptree& node = parent.add("ows:Metadata", ""); + node.add(".xlink:href", href); } json11::Json to_json_tiles(std::string title, std::string rel) const { diff --git a/src/services/Router.cpp b/src/services/Router.cpp index 28b96c0..ff7f116 100644 --- a/src/services/Router.cpp +++ b/src/services/Router.cpp @@ -174,6 +174,7 @@ void print_fcgi_error ( int error ) { */ int sendresponse ( DataStream* stream, Request* request ) { + // Creation de l'en-tete std::string statusHeader= get_status_header ( stream->get_http_status() ); FCGX_PutStr ( statusHeader.data(),statusHeader.size(),request->fcgx_request->out ); @@ -182,7 +183,10 @@ int sendresponse ( DataStream* stream, Request* request ) { FCGX_PutStr ( "Content-Type: ",14,request->fcgx_request->out ); FCGX_PutStr ( stream->get_type().c_str(), strlen ( stream->get_type().c_str() ),request->fcgx_request->out ); } - + if (stream->get_encoding() != "" ){ + FCGX_PutStr ( "\r\nContent-Encoding: ",20,request->fcgx_request->out ); + FCGX_PutStr ( stream->get_encoding().c_str(), strlen ( stream->get_encoding().c_str() ),request->fcgx_request->out ); + } if ( stream->get_length() != 0 ) { std::stringstream ss; ss << stream->get_length(); diff --git a/src/services/wms/getmap.cpp b/src/services/wms/getmap.cpp index 04afd0a..c8b81b8 100644 --- a/src/services/wms/getmap.cpp +++ b/src/services/wms/getmap.cpp @@ -300,6 +300,7 @@ DataStream* WmsService::get_map ( Request* req, Rok4Server* serv ) { final_image = images.at(0); } + final_image->set_bbox(bbox); final_image->set_crs(crs); if (format == "image/png" && sample_format == SampleFormat::UINT8) {