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

Otto Dassau dassau at gbd-consult.de
Wed Mar 17 00:29:32 PDT 2021


Hi Alessandro,

sorry, put it also here:
https://nextcloud.gbd-consult.de/s/QRXAiQdABZGKiXK

Regards,
Otto

On Wed, 17 Mar 2021 08:14:02 +0100
Alessandro Pasotti <apasotti at gmail.com> wrote:

> 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


-- 
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


More information about the QGIS-Developer mailing list