Hi Otto, I would give it a look but credentials are required to download the test data:
> 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). On Wed, Mar 17, 2021 at 6:55 AM Otto Dassau <[email protected]> wrote: > > 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 > [email protected] > List info: https://lists.osgeo.org/mailman/listinfo/qgis-developer > Unsubscribe: https://lists.osgeo.org/mailman/listinfo/qgis-developer -- Alessandro Pasotti QCooperative: www.qcooperative.net ItOpen: www.itopen.it _______________________________________________ QGIS-Developer mailing list [email protected] List info: https://lists.osgeo.org/mailman/listinfo/qgis-developer Unsubscribe: https://lists.osgeo.org/mailman/listinfo/qgis-developer
