4

My colleague just told me about incorrect measure distance tool results in QGIS. For reference we used this pond.

While our local map provider Mapy.cz Mapy.cz measure results

and Google Maps: Google maps

both show about 970 meters distance, QGIS shows me about 1500 meters:

QGIS with offline OSM data

I first though it is OTF reprojection issue so I switched it off. But problem remains. The results are same for various Openlayers map services (OSM, Bing etc.) but also for OSM derived offline data.

I have my data in EPSG:3857 - WGS84 Web Mercator in order to be able to let the beginner users switch between offline and online data without slowing down the map loading and avoiding the need of OTF reprojection.

Is there something wrong with this particular projection? I would not expect such a huge differences for this small area.

  • Just a thought: In the screenshot is a QGIS 2.14.0. Did you try 2.14.5 or 2.16.1 also? – Jochen Schwarze Sep 14 '16 at 9:32
  • I also tried 2.14.3 (linux) on my laptop. – Juhele Sep 14 '16 at 13:28
  • So its not an issue with your DesktopPC ;-) – Jochen Schwarze Sep 14 '16 at 13:36
4

By using the Web Mercator projection the data gets more and more distorted the further you go away from the equator. There is also a ESRI Blogpost where this problem is described.

And this is also the reason why the measurement on the OSM Layer is that much off, because you use EPSG:3857 in the project from your third screenshot. When your reproject it either manually or by OTF (e.g. to EPSG:4326), the measurement should be correct. Google and Mapy.cz probably solve this issue by converting it in the backend before calculating the "real" distance.

  • So you say I can just accept the measure error while keeping the advantage of using both offline or openlayers maps without OTF reprojection or I would probably have to convert my data for Czech republic to EPSG:32633 but after adding a layer from Openlayers QGIS will use reprojection to EPSG:3857 - e.g. slowing down project performance. – Juhele Sep 14 '16 at 13:01
  • 1
    Well, when you require the measurement functionality and use it a lot, then I personally would convert my data (back) to EPSG:32633 and integrate the WMS via otf transformation or use a WMS which provides the data already in EPSG:32633. Otherwise you can of course continue using EPSG:3857 for the project, although I would say, that the performance "loss" from the otf-transformation of one WMS layer is negligible. – tallistroan Sep 15 '16 at 10:19
2

From what I tried, the problem doesn't seem to come from QGIS. I did an OSM data download on this area and I get around 970m in WGS84 (EPSG:4326).

Have a try with my data in a blank project : https://we.tl/a1nldWvcm1

OSM data and lake

Here another screenshot (cp. my comment). Does not seem a projection issue though:

enter image description here

  • Agree on that. Tried this with OSM Mapnik Layer from QuickMapServices plugin which supports otf projection in EPSG:31468 (DeGK4 Zone 3). 975m. cp. screenshot in the answer. – Jochen Schwarze Sep 14 '16 at 9:29
  • Tried to set OTF reprojection to EPSG:32633 and it is OK. So it is problem of the EPSG:3857 :-( I hope I did not "cripple" my data as I did several modifications to it after reprojecting the shapefiles to EPSG:3857 ... – Juhele Sep 14 '16 at 13:19
2

I would recommend not to use OpenLayers plugin, but QuickMapServices Plugin wich is capable of on-the-fly projection. So you can have both advantages of the EPSG you are familiar with AND online maps. Please refer to @AndreJ's Answer to my question QGIS 2.14.3. positioning gap between OpenLayers layer and aerial image

cite: '...Note that EPSG:3857 is not useful if you need to measure lengths or areas.'

0

You probably encountered the same issue as myself, but I am really suprised that the message about meters was still not fixed back when you posted this, because it was reported some time ago and is reported as fixed by 2014.

Anyway, now it is actually possible to measure the correct geodetic distances! Just:

  1. Go to Project properties -> CRS -> check "Enable on the fly CRS transformation"
  2. Project properties -> General -> Measure tool -> Ellipsoid (for distance calculations) - check if there is reasonable value (like WGS 84 for example)
  3. View -> Measure -> Measure line

Now it is working perfectly and I have quite old version! (2.8.2-Wien)

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.