Skip to content

Weirdtransectshapes

David Lawrence Miller edited this page Aug 8, 2013 · 1 revision

Justification

Sometimes you have transects that are funny shapes, when they are segmented you end up with segments which are not square so the usual 2*width*segment.length formula will not give a good approximation to the segment area. In this situation dsm will let you calculate the segment size in advance (for example in GIS) and then simply use this.

What you need

A column in the segment data with areas or a vector of areas, one per segment.

How to do it

Simply supply the segment.area argument to dsm. This can be the name of the column or a vector with the same length as the number of rows in segment.data.

For example if the segment data.frame looks like this:

> head(segments)
  transect.id segment.id   area  length   x      y
1       0001         1.1  325.8  26.52   117.3  129.9
2       0001         2.1  293.9  24.18   116.9  129.9
3       0001         3.1  352.5  28.02   116.4  129.1
4       0001         4.1  308.7  25.64   115.0  129.3
5       0001         5.1  336.0  27.98   115.6  130.4
6       0001         6.1  334.5  26.85   115.5  130.1

then one can specify the model as either:

model <- dsm(N~s(x,y),ddf.obj,segments,obs.data,segment.area="area")

or

model <- dsm(N~s(x,y),ddf.obj,segments,obs.data,segment.area=segments$area)

When you have one-sided transects

One can use the above method if you have one-sided transects, or simply dividing the length of each segment (the Effort column) by two will yield the same results.