# @turf/directional-mean

> Calculates the average angle of a set of lines, measuring the trend of it.

Latest version **7.4.0** (published 2026-08-03) · MIT license · 0 weekly downloads

## Install

```sh
npm install @turf/directional-mean
pnpm add @turf/directional-mean
yarn add @turf/directional-mean
bun add @turf/directional-mean
```

## Health

**Score 80/100 (A)** — status: active.

Positive: has types; esm support; no vulnerabilities; has provenance; recently updated; high maintenance score; high quality score; popular repo.

Warnings: low downloads.

## Facts

| | |
|---|---|
| Version | 7.4.0 |
| Published | 2026-08-03 |
| First published | 2018-04-03 |
| Weekly downloads | 0 |
| License | MIT |
| TypeScript types | bundled |
| Module format | ESM + CommonJS |
| Dependencies | 9 |
| Unpacked size | 48.6 KB |
| Known vulnerabilities | 0 |
| Install scripts | no |
| Provenance | attested (GitHub Actions) |
| GitHub stars | 10491 |
| Author | Turf Authors |
| Maintainers | rowanwins, tmcw, morganherlocker, tcql, mdfedderly, twelch, jamesmilneruk, morgan.herlocker |
| Keywords | turf, directional-mean |

## Links

- npm: https://www.npmjs.com/package/@turf/directional-mean
- Repository: https://github.com/Turfjs/turf
- Issues: https://github.com/Turfjs/turf/issues
- Funding: https://opencollective.com/turf
- npm.io page: https://npm.io/package/@turf/directional-mean

## Dependencies (9)

- [tslib](https://npm.io/package/tslib.md) ^2.8.1
- [@turf/meta](https://npm.io/package/@turf/meta.md) 7.4.0
- [@turf/length](https://npm.io/package/@turf/length.md) 7.4.0
- [@turf/bearing](https://npm.io/package/@turf/bearing.md) 7.4.0
- [@turf/helpers](https://npm.io/package/@turf/helpers.md) 7.4.0
- [@turf/centroid](https://npm.io/package/@turf/centroid.md) 7.4.0
- [@types/geojson](https://npm.io/package/@types/geojson.md) ^7946.0.10
- [@turf/invariant](https://npm.io/package/@turf/invariant.md) 7.4.0
- [@turf/destination](https://npm.io/package/@turf/destination.md) 7.4.0

## Recent versions

- 7.4.0 (latest) — 2026-08-03
- 7.1.0-alpha.70 (prerelease) — 2024-08-09
- 7.3.5 — 2026-04-19
- 7.3.4 — 2026-02-08
- 7.3.3 — 2026-01-28
- 7.3.2 — 2026-01-14
- 7.3.1 — 2025-11-27
- 7.3.0 — 2025-11-17
- 7.2.0 — 2024-12-29
- 7.1.0 — 2024-08-09
- 7.1.0-alpha.7 — 2024-06-25
- 7.0.0 — 2024-06-07
- 7.0.0-alpha.116 — 2024-05-07
- 7.0.0-alpha.115 — 2024-04-23
- 7.0.0-alpha.114 — 2024-03-11
- … 17 more at https://npm.io/package/@turf/directional-mean/versions

## README

# @turf/directional-mean

<!-- Generated by documentation.js. Update this documentation by updating the source code. -->

## DirectionalMeanLine

Type: [Object][1]

### Properties

*   `cartesianAngle` **[number][2]** the mean angle of all lines. (measure from due earth counterclockwise).
*   `bearingAngle` **[number][2]** the mean angle of all lines. (bearing).
*   `circularVariance` **[number][2]** the extent to which features all point in the same direction.
    the value ranges 0-1, the bigger the value, the more variation in directions between lines.
*   `averageX` **[number][2]** the centroid of all lines.
*   `averageY` **[number][2]** the centroid of all line.
*   `averageLength` **[number][2]** the average length of line.
*   `countOfLines` **[number][2]** the count of features.

## directionalMean

This module calculate the average angle of a set of lines, measuring the trend of it.
It can be used in both project coordinate system and geography coordinate system.
It can handle segments of line or the whole line.

### Parameters

*   `lines` **[FeatureCollection][3]<[LineString][4]>**&#x20;
*   `options` **[object][1]**  (optional, default `{}`)

    *   `options.planar` **[boolean][5]** whether the spatial reference system is projected or geographical. (optional, default `true`)
    *   `options.segment` **[boolean][5]** whether treat a LineString as a whole or a set of segments. (optional, default `false`)

### Examples

```javascript
var lines = turf.lineStrings([
  [[110, 45], [120, 50]],
  [[100, 50], [115, 55]],
])
var directionalMeanLine = turf.directionalMean(lines);
// => directionalMeanLine
```

Returns **[DirectionalMeanLine][6]** Directional Mean Line

[1]: https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Object

[2]: https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Number

[3]: https://tools.ietf.org/html/rfc7946#section-3.3

[4]: https://tools.ietf.org/html/rfc7946#section-3.1.4

[5]: https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Boolean

[6]: #directionalmeanline

<!-- This file is automatically generated. Please don't edit it directly. If you find an error, edit the source file of the module in question (likely index.js or index.ts), and re-run "yarn docs" from the root of the turf project. -->

---

This module is part of the [Turfjs project](https://turfjs.org/), an open source module collection dedicated to geographic algorithms. It is maintained in the [Turfjs/turf](https://github.com/Turfjs/turf) repository, where you can create PRs and issues.

### Installation

Install this single module individually:

```sh
$ npm install @turf/directional-mean
```

Or install the all-encompassing @turf/turf module that includes all modules as functions:

```sh
$ npm install @turf/turf
```

---
_Source: https://npm.io/package/@turf/directional-mean · Machine-readable twin of the npm.io package page. Health data is recomputed on every publish._
