我有一些空间跟踪数据,并希望使用基于两点之间指定时间间隔的曲线插值形式(即在精确时间边界处将插值坐标添加到轨道部分)。我正在 R 中寻找一种使用贝塞尔曲线或埃尔米特多项式之类的方法。
我的数据目前大约以 1 小时为间隔,我想使用曲线插值方法插值到 10 分钟的间隔(并设置距离间隔)。示例数据如下(纬度/经度以地理格式和 UTM 投影坐标格式显示):
structure(list(datetime = c("01/06/2012 09:12", "01/06/2012 10:13",
"01/06/2012 11:10", "01/06/2012 12:08", "01/06/2012 13:08", "01/06/2012 14:07",
"01/06/2012 15:08", "01/06/2012 16:07", "01/06/2012 17:06", "01/06/2012 18:09",
"01/06/2012 19:09"), latitude = c(52.535242, 52.503073, 52.500524,
52.483297, 52.473904, 52.465271, 52.456518, 52.456239, 52.455416,
52.459805, 52.454516), longitude = c(3.518238, 3.554792, 3.543656,
3.555478, 3.55516, 3.545761, 3.534289, 3.517849, 3.498159, 3.483334,
3.45681), long_meters = c(535151.3255, 537658.2061, 536904.4563,
537721.688, 537708.1226, 537076.9734, 536304.8134, 535187.9496,
533850.6498, 532840.0096, 531041.5721), lat_meters = c(5820698.249,
5817138.477, 5816849.2, 5814939.133, 5813894.178, 5812929.062,
5811949.637, 5811910.471, 5811809.523, 5812290.872, 5811690.849
)), .Names = c("datetime", "latitude", "longitude", "long_meters",
"lat_meters"), class = "data.frame", row.names = c(NA, -11L))
我想每 10 分钟(或每 n 个距离)得到一个坐标。每个插值坐标必须有一个匹配的日期时间。
虽然对R 中的插值等问题的答案很有帮助,但它们并不能准确地给我想要的东西。我宁愿不使用三次样条,因为可以使用spline()
.
对以下帖子的评论(在 R 中插入路径/曲线)表明 R 中存在可能能够做到这一点的函数。我知道可以在adehabitatLT
包中使用redisltraj()
或在trip
包中以类似的方式执行线性插值,但我还没有找到曲线等价物。
任何建议将不胜感激。