From 9561f71cf915ade23c6234012786cae9a4752c19 Mon Sep 17 00:00:00 2001 From: Marco Hugentobler Date: Tue, 29 Nov 2016 14:36:14 +0100 Subject: [PATCH] WMS 1.3.0 compliance: If a layer bounding box is there, it is not allowed to be empty (also if a layer has only one point) --- src/server/qgsconfigparserutils.cpp | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/src/server/qgsconfigparserutils.cpp b/src/server/qgsconfigparserutils.cpp index 4b325f534cf9..9fd629f3ffaa 100644 --- a/src/server/qgsconfigparserutils.cpp +++ b/src/server/qgsconfigparserutils.cpp @@ -80,7 +80,7 @@ void QgsConfigParserUtils::appendCRSElementToLayer( QDomElement& layerElement, c layerElement.insertAfter( crsElement, precedingElement ); } -void QgsConfigParserUtils::appendLayerBoundingBoxes( QDomElement& layerElem, QDomDocument& doc, const QgsRectangle& layerExtent, +void QgsConfigParserUtils::appendLayerBoundingBoxes( QDomElement& layerElem, QDomDocument& doc, const QgsRectangle& lExtent, const QgsCoordinateReferenceSystem& layerCRS, const QStringList &crsList, const QStringList& constrainedCrsList ) { if ( layerElem.isNull() ) @@ -88,6 +88,13 @@ void QgsConfigParserUtils::appendLayerBoundingBoxes( QDomElement& layerElem, QDo return; } + QgsRectangle layerExtent = lExtent; + if ( qgsDoubleNear( layerExtent.xMinimum(), layerExtent.xMaximum() ) || qgsDoubleNear( layerExtent.yMinimum(), layerExtent.yMaximum() ) ) + { + //layer bbox cannot be empty + layerExtent.grow( 0.000001 ); + } + QgsCoordinateReferenceSystem wgs84 = QgsCRSCache::instance()->crsByOgcWmsCrs( GEO_EPSG_CRS_AUTHID ); QString version = doc.documentElement().attribute( "version" );