# calcLength: Calculate the Length of Polylines In PBSmapping: Mapping Fisheries Data and Spatial Analysis Tools

## Description

Calculate the length of polylines found in a PolySet.

## Usage

 `1` ```calcLength (polys, rollup = 3, close = FALSE) ```

## Arguments

 `polys` PolySet to use. `rollup` level of detail in the results; `1` = `PID`s only, summing the lengths of each `SID` within each `PID`, and `3` = no roll-up. Note: rollup `2` has no meaning in this function and, if specified, will be reset to `3`. `close` Boolean value; if `TRUE`, include the distance between each polygon's last and first vertex, if necessary.

## Details

If `rollup` equals `1`, the results contain an entry for each unique `PID` only. Setting it to `3` prevents roll-up, and they contain an entry for each unique (`PID`, `SID`).

If the `projection` attribute equals `"LL"`, this routine uses Great Circle distances to compute the surface length of each polyline. In doing so, the algorithm simplifies Earth to a sphere.

If the `projection` attribute equals `"UTM"` or `1`, this routine uses Pythagoras' Theorem to calculate lengths.

## Value

PolyData with columns `PID`, `SID` (may be missing), and `length`. If `projection` equals `"UTM"` or `"LL"`, lengths are in kilometres. Otherwise, lengths are in the same unit as the input PolySet.

## Author(s)

Nicholas M. Boers, Associate Professor – Computer Science
MacEwan University, Edmonton AB
Last modified `Rd: 2013-04-10`

`calcArea`, `calcCentroid`, `calcMidRange`, `calcSummary`, `locatePolys`.

## Examples

 ```1 2 3 4 5 6 7``` ```local(envir=.PBSmapEnv,expr={ #--- load the data (if using R) if (!is.null(version\$language) && (version\$language=="R")) data(nepacLL,envir=.PBSmapEnv) #--- calculate the perimeter of Vancouver Island print(calcLength(nepacLL[nepacLL\$PID==33, ])) }) ```

### Example output

```sh: 1: cannot create /dev/null: Permission denied

-----------------------------------------------------------

PBS Mapping comes with ABSOLUTELY NO WARRANTY;
for details see the file COPYING.
This is free software, and you are welcome to redistribute
it under certain conditions, as outlined in the above file.

A complete user guide 'PBSmapping-UG.pdf' is located at
/usr/lib/R/site-library/PBSmapping/doc/PBSmapping-UG.pdf

Packaged on 2017-06-28
Pacific Biological Station, Nanaimo

All available PBS packages can be found at
https://github.com/pbs-software

To see demos, type '.PBSfigs()'.
-----------------------------------------------------------

PID   length
1  33 2866.661
```

PBSmapping documentation built on Jan. 15, 2021, 3:41 p.m.