[QGIS-Developer] Problems with adopting scaled representation from QGIS

Alessandro Pasotti apasotti at gmail.com
Wed Mar 17 00:14:02 PDT 2021


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 <dassau at gbd-consult.de> 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
> QGIS-Developer at lists.osgeo.org
> 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


More information about the QGIS-Developer mailing list