Hello,
I have a fundamental question about distances in GRASS, also in relation to buffers, that I stumbled upon trying to help a student who tried to draw buffers around cities indicating the maximum distance airplanes could fly at different times in history.
To test, I used the World Mercator projection:
+proj=merc
+lon_0=0
+k=1
+x_0=0
+y_0=0
+no_defs
+a=6378137
+rf=298.257223563
+towgs84=0.000,0.000,0.000
+to_meter=1
This projection has obvious deformations the further you get from the equator, and thus distances are seriously distorted[1].
Using GRASS 6.5 to create a buffer of 6000km around Belgium gives a map which shows a circular buffer [2].
Using the distance measuring tool in the wxGUI confirms that the distance from Belgium to the buffer line in all directions is around 6000km.
However, the actual distance is very different, especially towards the North: According to CloudMade's routing website based on OSM data northern tip of Norway is only ~3500km by car from Brussels, so very far from 6000km.
I get exactly the same results using r.grow.distance and r.cost.
For comparison, I used a simple Plate Carree projection:
+proj=eqc
+lat_ts=0
+lat_0=0
+lon_0=0
+x_0=0
+y_0=0
+no_defs
+a=6371007
+b=6371007
+to_meter=1
Distortions are obviously different [3]. And the 6000km buffer is also positioned differently compared to the land masses [4]. Again, measuring the distances with the wxGUI distance tool gives me ~6000km in all directions.
So, my question: which "distance" is used for measurement and for buffer creation ? A distance based buffer in map units should lead to deformed buffers in most projection systems. Is there anyway to achieve such deformed buffers and correct distance measures ?
Moritz
[1] http://164.15.12.207/grass/distances/worldmercator.png
[2] http://164.15.12.207/grass/distances/buffer_worldmercator.png
[3] http://164.15.12.207/grass/distances/platecarree.png
[4] http://164.15.12.207/grass/distances/buffer_platecarree.png