I am having an issue with buffer. My data is in Geographic coordinate system. I am trying to do a buffer of 600m and i am finding different results for each case, have tried thse so far:

  • Map in web maercator

  • map in UTM zone 12

  • map in geogaphic coordinate

I am missing some data points due to this and wanted to check how I can resolve this issue. I know that UTM is the most accurate projection for distance but I wanted to know if by using WebMercator map if there is a way to get correct buffer results , any ideas? Thanks jay

  • 2
    skip buffering in geographic coordinates (aka decimal degrees) and project your data to a suitable projection, then buffer – user681 Sep 16 '13 at 20:20
  • It seems to me as you want to preserve areas. In this case you should look for an equal-area projection. – multigoodverse Sep 20 '13 at 13:56

Buffers in all three of these coordinate systems will be incorrect (except at a small number of special locations), although the buffers in UTM should not need much correction. Because these are such small buffers (600 m is only 0.0015% of the way around the world), each can be corrected in simple ways and those corrected buffers should closely agree:

  • In Mercator, buffer by 600*cos(latitude) meters.

  • In UTM, follow the instructions [in a related thread].

  • In geographic coordinates, convert meters to degrees (600 meters is 0.00540 degrees) and then expand the widths of the buffers by 1/cos(latitude), keeping their heights (north-south extents) the same. The buffers will look elliptical.

Disagreements may be as great as 0.3% or so of the buffer radius if different datums are used.

These corrections apply, strictly speaking, to buffers of points only. However, such small buffer distances typically are applied only to features of limited extent. Thus, although latitudes may vary throughout a feature, their cosines will likely not vary much: you can use the cosine of a central point to make the corrections. The adjustment in geographic coordinates is sufficiently complicated to carry out, though, that it is best avoided.

| improve this answer | |
  • Thanks for the feedback. For Web Mercator option, 600*cos(49.9070744) gives me only 561m. I am expecting a higher value becuase buffer is small and I need to use a bigger radius to compensate for the missing area. – jay Sep 17 '13 at 22:09
  • Your calculation is incorrect Jay, on two accounts. First, you should be dividing 600 by the cosine. Second, the cosine of 49.91 degrees is 0.644, not 0.936: you passed a value in degrees to a cosine function that expects radians. – whuber Sep 18 '13 at 13:46
  • With this approach, we are finding that there is a differnce of 10m from NS to EW diameter. It seems like the buffer created elliptical. Not sure how to compensate for this. – jay Sep 19 '13 at 20:36
  • 10/600 = 1/60 is too great an error to be explained by the 1/300 flattening of all the ellipsoidal datums. So--although you're close--there's still a mystery here. Can you provide more details about this situation and how you know there is such a large eccentricity in your buffers? – whuber Sep 20 '13 at 1:58

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.