Question: In GRASS GIS, can v.buffer use geodesic distance like r.buffer does? If v.buffer can't use geodesic distance, is there a way to do vector geodesic buffering (ideally in GRASS, but I can switch to something else if necessary)

I'm a GIS newbie, and find this really frustrating:

The r.buffer man page clearly states that geodesic distances are used for latitude/longitude coordinates:

r.buffer measures distances from center of cell to center of cell using Euclidean distance measure for planimetric locations (like UTM) and using ellipsoidal geodesic distance measure for latitude/longitude locations.

The v.buffer man page doesn't say this, but it doesn't say the opposite either. In fact, the word "Euclid" appears nowhere in this document.

I've google'd around (maybe using the wrong phrases, and the dot in "v.buffer" and "r.buffer" may confuse search engines), and vaguely remember seeing something that says GRASS GIS v.buffer can not create geodesic buffers regardless of what options you use. However, I'm not sure I saw this and didn't bookmark the page since I was looking for something else at the time.

I tried using "v.extrude" and then "v.buffer" on the resulting geometry, but that didn't work either.

My "goal" is to solve https://earthscience.stackexchange.com/questions/14656/how-to-calculate-boundary-around-all-land-on-earth just for "fun". I'm aware of https://oceancolor.gsfc.nasa.gov/docs/distfromcoast/ but want to see if I can either re-create it or do a "better" job by using a higher resolution coastline from https://www.ngdc.noaa.gov/mgg/shorelines/data/gshhg/latest/gshhg-shp-2.3.7.zip (ie, using the "f" level resolution instead of the "c" level that the previous URL uses).


The v.buffer page says the distances are in map units. Therefore they will be in m for most maps, but in (lon, lat) if you are in EPSG:4326 or other map projections that use those units.

  • So, if I draw a radius 10 circle on the prime meridian, it will extend from longitude -10 to longitude +10 regardless of latitude? If so, is there any way to draw true geodesic circles? I'm guessing you can't change map units to kilometers or something since there's no flat map that preserves all geographical distances? – user1462 Aug 20 '18 at 17:27
  • What about changing your vector to raster and then using r.buffer with the units option? You could also do this a few times in a few different projections each locally minimizing the projection error, then patch. Or you can calculate the projection error with proj tools and use that to correct it... – mankoff Aug 21 '18 at 5:55

Your Answer

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