# geolerp

> interpolate longitude and latitude over a great circle route

Latest version **1.0.0** (published 2021-11-07) · bsd license · 0 weekly downloads

## Install

```sh
npm install geolerp
pnpm add geolerp
yarn add geolerp
bun add geolerp
```

## Health

**Score 15/100 (F)** — status: abandoned.

Positive: no vulnerabilities.

Warnings: low downloads; no types; no esm support.

Negative: abandoned; low maintenance score.

## Facts

| | |
|---|---|
| Version | 1.0.0 |
| Published | 2021-11-07 |
| First published | 2021-11-07 |
| Weekly downloads | 0 |
| License | bsd |
| TypeScript types | none |
| Module format | CommonJS |
| Dependencies | 1 |
| Unpacked size | 6.5 KB |
| Known vulnerabilities | 0 |
| Install scripts | no |
| Maintainers | substack |

## Links

- npm: https://www.npmjs.com/package/geolerp
- npm.io page: https://npm.io/package/geolerp

## Dependencies (1)

- [gl-vec3](https://npm.io/package/gl-vec3.md) ^1.1.3

## Recent versions

- 1.0.0 (latest) — 2021-11-07

## README

# geolerp

interpolation for longitude and latitude over a great circle route

based on the ["Intermediate points on a great circle"](https://www.edwilliams.org/avform147.htm#Intermediate)
formulas by Ed Williams

# example

``` js
var geolerp = require('geolerp')
var A = [-149.90028, +61.21806] // anchorage
var B = [+ 18.06490, +59.33258] // stockholm

var n = 11
for (var i = 0; i < n; i++) {
  var t = i/(n-1)
  var p = geolerp([], A, B, t)
  console.log(t.toFixed(2), p)
}
```

output:

```
0.00 [ -149.90028000000004, 61.218059999999994 ]
0.10 [ -148.02326517042718, 67.07073470324161 ]
0.20 [ -144.95103502175792, 72.88727336181891 ]
0.30 [ -138.88071262672753, 78.61205934240031 ]
0.40 [ -121.62880605578731, 83.97735527020662 ]
0.50 [ -50.62617353252053, 86.44928993941012 ]
0.60 [ -2.5383284052353283, 82.33897460341065 ]
0.70 [ 9.096207391534282, 76.78928143661163 ]
0.80 [ 13.838681211676628, 71.0236549041225 ]
0.90 [ 16.419723094160904, 65.19223668904056 ]
1.00 [ 18.064900000000005, 59.332580000000014 ]
```

# api

``` js
var geolerp = require('geolerp')
```

## geolerp(out, A, B, t)

Interpolate the `[lon,lat]` points `A` and `B` by `t`.

As `t` varies from `0.0` to `1.0`, the output traces the great circle from `A` to `B`.

Sets of points that have the same difference in `t` will have approximately the same haversine
distance (see `example/distance.js`).

# license

bsd

# install

```
npm install geolerp
```

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