3

I have two points on a EPSG:4326 layer. Measuring the distance between these two points using the Measure line tool gives me 10'000 meters, which is correct.

I convert the layer with a EPSG:3857 CRS using Save as in the layers panel. I open this new layer and measure the distance between the two points again and the Measure line tool gives me 13'000 meters.

Why? I don't understand. It means that I can not use the buffer tool on my EPSG:3857 layer because it gives me incorrect values and I have to use meters units.

Same issue with geopandas. Here are two screenshots to illustrate the problem.

My two points on Google Map (8,92km)

enter image description here

My two points on my Jupyter notebook, with a buffer equals two the distance displayed on Google Map (8920 meters)

enter image description here

The distances don't match! What am I doing wrong?

2
  • Also had the same problem with EPSG:3857... Measurements are not correct! I have to convert my shapefiles to a local CRS to get appropriate results. Interested in getting explanations on this topic.
    – wiltomap
    Commented Feb 15, 2018 at 10:00
  • 1
    regarding the distance measurements and EPSG:3857 see this thread: gis.stackexchange.com/questions/210604/…
    – Juhele
    Commented Feb 15, 2018 at 11:04

4 Answers 4

2

Projection is flattening the world into a plane, which leads to distortions of angles, distances and area. So be carefull what projection you use.

WGS84 is a geographical coordinate systems, its measures are in degrees of an ellipsoid. Many systems use spherical trigonometry to calculate distances here. This is quite exact. But it is not the best system to do other GIS-calculation, as many of them need projected coordinates.

Quite another cup of tea is to measure distances on a mercator projection, where earth poles lie in the infinite. Only on the equator distances are correct in that case.

So if you use EPSG:4326, you are in WGS84, if you use EPSG:3857 you are in Web-Mercator, googles mercator projection. If you want exact measures in GIS, use a local geodetic system like UTM in the best fitting zone.

2
  • This is a good synthetic answer pinpointing my lack of GIS knowledge. This video helped me to even better understand it youtu.be/xKGlMp__jog. I don’t understand why you separate EPSG:4326 and EPSG:3857 in your explanation though, because both are in WGS84. Commented Feb 16, 2018 at 6:52
  • They were part of the question, so i choosed them. WGS84 is primarily a model of the shape of the earth (an ellipsoid) and a definition of a geographical coordinate system (unprojected). Every projektion uses a geographical system as a basis, so WGS84 is also the base of UTM. By the way, Googles web-mercator uses only WGS84 coordinates, it's earth model is a regular sphere actually. Commented Feb 16, 2018 at 7:19
2

I had to use a local WGS84 projection to be able to use meters unit and preserve the right distances as suggested by @Juhele and explained in this link (Understanding strange measure distance results from QGIS?).

I used the map on this site http://spatialreference.org/ref/epsg/wgs-84-utm-zone-32n/ to get my local projection (EPSG:32632).

I saved my layer using the EPSG:32632 CRS and I have the right distances between my two points and can draw a buffer of n km around them.

Thanks Juhele!

0

The measurement should work if you change some project properties.

  • Open Project -> Project Properties...
  • Switch to tab CRS, enable "Enable 'on the fly' CRS transformation.
  • Choose a system for your project e.g. EPSG:3857.
  • Switch back tab General and choose a ellipsoid under Measurements -> Ellipsoid.In your case WGS84 should by OK.
  • Choose your preferred units.
-1

Using 'save as' does not do any geometry transformation, it only changes the definition of how the geometry is read. Instead use 'Reproject layer' from the toolbox.

5
  • 1
    This does not explain why is the EPSG:3857 returning false measurements, as it is a projection expressed in meters...
    – wiltomap
    Commented Feb 15, 2018 at 11:05
  • 1
    Why don't you use UTM CRS? For France it could be (I did not check your exact location) WGS84 - EPSG:32631 - check spatialreference.org/ref/epsg/32631
    – Juhele
    Commented Feb 15, 2018 at 11:07
  • 1
    In QGIS "Save as" does reproject the layer: gis.stackexchange.com/questions/35590/… Commented Feb 15, 2018 at 11:16
  • I reprojected my layer in epsg3857 using Reproject layer and saved the layer in a new file. I then reopened my layer and measured the distance between the two points. But the distance is still incorrect. If I convert my layer to a local CRS (by saving the layer from the layer panel and not using the Reproject layer tool) as suggested by wiltomap, my measures are correct. Commented Feb 15, 2018 at 11:27
  • But I cannot use meters unit in my local projection (EPSG:21781) so I'm basically stuck at the same point because I'm unable to draw a buffer of n km around my points. Commented Feb 15, 2018 at 11:45

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

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