While the former is by far the stronger effect, the latter works in the opposite direction. Thus, correcting for earth curvature but not for atmospheric refraction leads to a small degree of over-compensation.
Earth's curvature causes objects to "disappear" behind the horizon. Levelled readings of an object's height will be higher than the object actually is. The strength of this effect may be negligible at short distances, but it grows quadratically with distance. Wikipedia lists the following (rough) estimates:
0.8 mm at 100 m 20 mm at 500 m 79 mm at 1000 m 1.96 m at 5000 m 7.9 m at 10,000 mThus, beyond a few kilometers, it will be significant for most applications, and should be corrected for. Without correction, line-of-sight algorithms will over-estimate visibility.
The elevation data will be modified by subtracting a value from each cell that depends on the distance of that cell from the center of the current GRASS working region. The effect of this is that cells which are further apart from each other will differ by a larger value, whereas closer cells will differ by a smaller compensational amount.
Using the output of r.ecurv.comp instead of the original elevation data will ensure that earth curvature and atmospheric refraction (optional) are compensated for, even if the software used has no means of its own to correct for these effects. Any line-of-sight computation that works on the modified surface will be "tricked" into operating on a perfectly planar surface instead of a naturally curved one.
Some GIS tools for visibility analysis already include internal earth curvature correction. However, they may use different correction methods and may lack the refraction compensation.
Using r.ecurv.comp to pre-process the analysis region's elevation raster model, and then performing the visibility analysis on the new elevation model without turning on any built-in correction methods will ensure that the corrections are transparent and the results comparable.
output=map-(d^2*(k/(2*r)))
In addition, the following prerequisites must be observed:
Last changed: Mon May 23 2011