[GIS] Understanding strange measure distance results from QGIS

distanceopenstreetmapqgisweb-mercator

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.

Best Answer

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.

Related Question