Dear Developers, i would like to describe a problem using QGIS WMS with defined scale visibility for layers. We already spent quite some time on it and for us it seems to be a wrong scale calculation in QGIS. But since we are not sure we would like to ask, if someone, deeper in the code, can have a look and, if it is the case, can provide a (payed) fix.
To better describe the problem we provide a sample web project under https://gws-dev.gbd-consult.de/project/scales_qgis/@753753,6661615,100000 The "Bank" layer has a scale-dependent representation defined in QGIS between 100000 - 80000, but is not rendered by QGIS at the scale 100000. QGIS server is called with these parameters: http://localhost:4000? layers=Bank%20100000-80000 &map=%2Fdata%2Fshared%2Fpoi_scaled.qgs &transparent=True &bbox=748163.2561805135,6646683.920240255,767707.2561805135,6679247.920240255 &width=698 &height=1163 &srs=EPSG%3A3857 &format=image%2Fpng &request=GetMap &version=1.1.1 &service=WMS &styles= The resolution (meter per pixel) results from bbox and width (767707.2561805135 - 748163.2561805135) / 698 = 28 According to OGC specifications, 1px = 0.28 mm x 0.28 mm, i.e. the scale here must be exactly 100000. But QGIS calculates it differently (excerpt from the debug log): src/core/geometry/qgsrectangle.cpp:152 : (toString) [0ms] Extents : 748163.2561805135337636,6646683.9202402550727129 : 767707.2561805135337636,6679247.9202402550727129 src/core/qgsmapsettings.cpp:222 : (updateDerived) [0ms] 748163.2561805135337636,6646683.9202402550727129 : 767707.2561805135337636,6679247.9202402550727129 src/core/qgsmapsettings.cpp:223 : (updateDerived) [1ms] Adjusted map units per pixel (x,y) : 28, 28 src/core/qgsmapsettings.cpp:224 : (updateDerived) [0ms] Recalced pixmap dimensions (x,y) : 698, 1163 src/core/qgsmapsettings.cpp:225 : (updateDerived) [0ms] Scale (assuming meters as map units) = 1:100314.96052759999292903 The scale (with the same bbox / width) is calculated as "1: 100314", and because that is greater than 100,000, the layer is not rendered by QGIS. We assume that there is a rounding error somewhere. As said we would be happy if a QGIS dev could have a look. The project file and data are in https://gitlab.gbd-consult.de/gws/gws-dev/tree/master/data/shared (poi_scaled.qgs and poi / subfolder). Thanks a lot! Otto -- Geoinformatikbüro Dassau GmbH Rethelstrasse 153 D - 40237 Düsseldorf Tel: +49-211-69937750 Mobil: +49-171-4687540 https://www.gbd-consult.de Registergericht: Amtsgericht Düsseldorf, HR B 74022 Geschäftsführer: Otto Dassau _______________________________________________ QGIS-Developer mailing list QGIS-Developer@lists.osgeo.org List info: https://lists.osgeo.org/mailman/listinfo/qgis-developer Unsubscribe: https://lists.osgeo.org/mailman/listinfo/qgis-developer