Skip to content

Commit 902995e

Browse files
author
Stéphane Brunner
committedSep 14, 2013
Fix scale informations in the WMS GetCapabilities
1 parent b775176 commit 902995e

File tree

1 file changed

+8
-5
lines changed

1 file changed

+8
-5
lines changed
 

‎src/mapserver/qgsprojectparser.cpp

Lines changed: 8 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -772,22 +772,25 @@ void QgsProjectParser::addLayers( QDomDocument &doc,
772772
//min/max scale denominatormScaleBasedVisibility
773773
if ( currentLayer->hasScaleBasedVisibility() )
774774
{
775-
QString minScaleString = QString::number( currentLayer->minimumScale() );
776-
QString maxScaleString = QString::number( currentLayer->maximumScale() );
777-
778775
if ( version == "1.1.1" )
779776
{
777+
double OGC_PX_M = 0.00028; // OGC referance pixel size in meter, also used by qgis
778+
double SCALE_TO_SCALEHINT = OGC_PX_M * sqrt( 2 );
779+
780780
QDomElement scaleHintElem = doc.createElement( "ScaleHint" );
781-
scaleHintElem.setAttribute( "min", minScaleString );
782-
scaleHintElem.setAttribute( "max", maxScaleString );
781+
scaleHintElem.setAttribute( "min", QString::number( currentLayer->minimumScale() * SCALE_TO_SCALEHINT ) );
782+
scaleHintElem.setAttribute( "max", QString::number( currentLayer->maximumScale() * SCALE_TO_SCALEHINT ) );
783783
layerElem.appendChild( scaleHintElem );
784784
}
785785
else
786786
{
787+
QString minScaleString = QString::number( currentLayer->minimumScale() );
787788
QDomElement minScaleElem = doc.createElement( "MinScaleDenominator" );
788789
QDomText minScaleText = doc.createTextNode( minScaleString );
789790
minScaleElem.appendChild( minScaleText );
790791
layerElem.appendChild( minScaleElem );
792+
793+
QString maxScaleString = QString::number( currentLayer->maximumScale() );
791794
QDomElement maxScaleElem = doc.createElement( "MaxScaleDenominator" );
792795
QDomText maxScaleText = doc.createTextNode( maxScaleString );
793796
maxScaleElem.appendChild( maxScaleText );

0 commit comments

Comments
 (0)
Please sign in to comment.