DESCRIPTION

v.transects creates equally spaced geometries along input lines. Depending on the selected metric, the distances are measured either as straight distances between the transects or along the line. Straight distance is better when the lines are complicated (shorelines) and using the distance along line would result in big differences in the transect spacing.

The geometries can be lines or quadrilateral areas. Lines and areas are generated to be perpendicular to either the input line (select line for parameter transect_perpendicular), or to the line connecting the transect points (select trend for parameter transect_perpendicular). The latter option is useful for complicated lines, because it follows the trend of the line.

By default the last point of each line is not used because the last transect distance would be typically different from the previous once. To create a transect from the last point, use flag -l.

The following pictures show the effect of different options on a line with simple geometry. In the first picture, the circles show points generated by v.segment in 100 m interval along the line. The green lines were generated with option metric=along, therefore they match with the points. The blue lines were generated with metric=straight.
In the second picture, green lines use transect_perpendicular=line while the blue ones use transect_perpendicular=trend.

NOTES

Input vector lines that are shorter than transect_spacing are ignored.

transect_spacing, dleft, and dright are interpreted to be in horizontal map units (e.g., degrees in the LatLong/WGS84 coordinate system).

v.transects may fail for a network of lines in Windows.

EXAMPLES

In these examples, the Nags Head (19MB) mapset is used to generate a shoreline and shore-perpendicular geometries. To use the mapset, unpack it into the nc_spm_08_grass7 (50MB) location.

Example 1) - Generate line transects along shoreline

Generate 20 cross-shore transects along 2008 shoreline (1m contour)

g.region raster=NH_2008_1m
r.contour input=NH_2008_1m output=NH_2008_1m level=1 cut=100
v.report map=NH_2008_1m option=length
# cat|level|length
# 1|1|1037.86684790028
# 1038m / 20transects = 52m per transect (value for transect_spacing)
v.transects input=NH_2008_1m output=NH_2008_transects transect_spacing=52
v.info NH_2008_transects

Example 2) - Generate line transects specifying the left and right length

Generate longer, more parallel transects by specifying dleft and dright and smoothing the input line

g.region raster=NH_2008_1m
r.contour input=NH_2008_1m output=NH_2008_1m level=1 cut=100
v.generalize input=NH_2008_1m output=NH_2008_1m_smoothed \
  method=sliding_averaging look_ahead=201
v.transects input=NH_2008_1m_smoothed \
  output=NH_2008_transects_long_smoothed transect_spacing=52 \
  dleft=20 dright=300

Example 3) - Generate area transects along shoreline

Generate longer, more parallel transects by specifying dleft and dright and smoothing the input line

g.region raster=NH_2008_1m
r.contour input=NH_2008_1m output=NH_2008_1m level=1 cut=100
v.transects input=NH_2008_1m output=NH_2008_areas \
  transect_spacing=52 dleft=20 dright=300 type=area
v.db.addtable NH_2008_areas
v.db.addcolumn map=NH_2008_areas columns='demStats DOUBLE PRECISION'
v.rast.stats vector=NH_2008_areas raster=NH_2008_1m column_prefix=NH2008
v.db.select NH_2008_areas

SEE ALSO

v.segment
v.generalize
v.transects tutorial

AUTHOR

Eric Hardin, Helena Mitasova, Updates by John Lloyd

Last changed: $Date$