[GRASS-user] COGO along a slope

Is there a module (or an easy solution) that will generate line features from along-terrain COGO data and a DEM?
m.cogo will generate [X,Y] values from COGO data, but it assumes that the COGO distance measurements have been projected onto a horizontal surface. The only work around I can think of requires computing slope data (from a DEM for instance) to get at an average cosine of the slope underlying each COGO line segment, then correct the COGO distance to get its projected counterpart. For instance, an along-terrain distance on a 45 degree slope of 100.0 meters should translate to a distance of 70.7 meters on a projected plane. This correction can be tedious if manually computed by hand (especially since multiple iterations may be needed to compute the average slope along a line segment). Any ideas?

Cheers,
Manny

Manuel Gimond wrote:

Is there a module (or an easy solution) that will generate line
features from along-terrain COGO data and a DEM?
m.cogo will generate [X,Y] values from COGO data, but it assumes that
the COGO distance measurements have been projected onto a horizontal
surface. The only work around I can think of requires computing slope
data (from a DEM for instance) to get at an average cosine of the
slope underlying each COGO line segment, then correct the COGO
distance to get its projected counterpart. For instance, an
along-terrain distance on a 45 degree slope of 100.0 meters should
translate to a distance of 70.7 meters on a projected plane. This
correction can be tedious if manually computed by hand (especially
since multiple iterations may be needed to compute the average slope
along a line segment). Any ideas?

r.profile, r.transect might help

r.los output map contains vertical angle to target

r.cost?

Maybe v.distance is 3D aware? (I'm not sure). r.distance? (long shot)

Hamish