1.0.0 • Published 2 years ago

geolerp v1.0.0

Weekly downloads
-
License
bsd
Repository
-
Last release
2 years ago

geolerp

interpolation for longitude and latitude over a great circle route

based on the "Intermediate points on a great circle" formulas by Ed Williams

example

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

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