Take the 2-minute tour ×
Geographic Information Systems Stack Exchange is a question and answer site for cartographers, geographers and GIS professionals. It's 100% free, no registration required.

I am trying to make a 500 m buffer for my polyline layer. Unexpectedly, I receive buffer varying from 650 to 670 m, depending on location. As many resources recommend to use UTM before making a buffer, I use UTM projection for zone 31N - EPSG:23031 - ED50 / UTM zone 31N (actually, the layer is already provided in this CRS).

Whole polyline layer is located in Catalunya (SE Spain). Even the buffers placed near in the very SE of Spain, which is right in the middle of the zone 31N (where no distortion should happen), are 650 m!

enter image description here

PS: I did this in QGIS and also in my script in R, receiving exactly the same result in both cases.

EDIT: using QGIS measure line tool (View > Measure > Measure line)

enter image description here

share|improve this question
    
I tried to convert the layer to EPSG:32631 - WGS 84 / UTM zone 31N and do the buffer again, but it didn't help. –  Tomas Jul 19 '13 at 16:24
2  
In what coordinate system are you measuring the buffer? If it's in a system where longitude lines are straight 'up', rather than converging towards a point, distortion is around 1/cos(42) in the Catalonia area. That's 670 versus 500. –  mkennedy Jul 19 '13 at 17:05
    
@mkennedy, the layer CRS is UTM zone 31N, so the buffer units are equivalent to layer CRS? UTM should be in meters, undistorted on the central meridian right? –  Tomas Jul 19 '13 at 17:13
2  
That the ratio 500:650 is approximately the cosine of the latitude is compelling evidence that at some point a calculation is being carried out using Euclidean formulas applied to geographic coordinates. There are really only two possibilities: either the buffers are calculated incorrectly or your evidence of an incorrect calculation is wrong. You seem confident that all computations are being carried out in UTM coordinates, but exactly how have you determined that the buffer has a varying radius? Could you show us a map of your buffer instead of this (useless) generic map of UTM zones? –  whuber Jul 19 '13 at 17:32
2  
I did some rough calculations of planar vs geodesic in the Cap de Creus area. If I calculated north-south lengths based on your buffers in geodesic or planar/2D in UTM 31N, it was around 500m. If I measured a north-south planar distance in "web Mercator", it was around 650 m. –  mkennedy Jul 19 '13 at 20:24
show 4 more comments

4 Answers 4

up vote 2 down vote accepted

The actual distances are correct! See the picture below.

The Measure Line tool is showing wrong distance! It claims to return distance in meters, while it is in the project CRS units. The project CRS is the classic cylindrical projection (web mercator EPSG:3857).

The Measure Line tool is buggy. It has all the information to compute correct geodetic distance in meters, and it confuses the user to do so by claiming meters; while it does in the CRS units instead.

enter image description here

share|improve this answer
add comment

I encountered a similar problem and so have logged a QGIS Application issue #9620 for Measure line tool reports incorrect units.

share|improve this answer
    
super, thank you for this! We have some response from QGIS developers now! Seems fixed in 2.2. –  Tomas Feb 24 at 8:55
add comment

All projections distort either distances, shapes or, more generally, both.

So distance computations using anything but geodetic operations on degree coordinates will always introduce errors. Typically you can find a way to estimate the error and roughly correct the values. Or, in your case, go the other way and figure out how many projection-unit meters will approximate 500 real meters.

Unfortunately, I'm only familiar with the map for correcting Spherical Mercator so I can't help you with your particular UTM.

share|improve this answer
1  
Russell, thanks, but I cannot agree with you. There should be no distortions close to the meridian in the middle of the 31N zone, where the transverse mercator is passing‌​. And the rest of the zone is within 3° from the central meridian, which gives distortion max 1/cos(3°) = 1.0014 only! 500 m -> 650 m cannot happen by distortion! There must be some other problem. –  Tomas Jul 19 '13 at 16:50
1  
Distortion at the central meridian is 0.9996, the scale factor of the zone, but that doesn't explain the difference. –  mkennedy Jul 19 '13 at 17:03
add comment

About the QGIS issue.

In qgis 2.0.1 there was an issue that reported bogus area/length values when reprojection was ON.

This is fixed in qgis 2.2 but anyway there is a difference compared to qgis 1.8: in qgis 1.8 even with OTFR on the measurements/computation where always made on the plane. In QGIS 2.* it depends on what ellipsoid is configured at a project level (default is WGS84). So now with OTFR on and project is in epsg 3857 your line measures 621.09 meters, but you can always set the ellipsoid the "planimetric/none" and then still get 620.34 meters as length, even with OTFR on.

Technically now there is no issue, but it can be confusing for users. There is already a ticket about this issue

http://hub.qgis.org/issues/9060

that probably we have to close in favor of a new one to discuss on how to improve this controls/options.

share|improve this answer
    
Thank you for extended info. "... that probably we have to close" - are you a QGIS developer? –  Tomas Feb 24 at 8:57
    
I contribute to the project in different ways, anyway the "we" in this context was referred to "us", qgis community. –  Giovanni Manghi Feb 28 at 13:56
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

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