如何使用R"简单的功能"进行3D距离计算?库`sf`?

时间:2017-05-22 02:22:48

标签: r 3d distance spatial sf

我刚刚开始使用nice和相对较新的library(sf)。很高兴看到点和线可以有Z坐标。例如:

> st_linestring(rbind(c(0,0,0),c(1,1,1)))
LINESTRINGZ(0 0 0, 1 1 1) 

然而,似乎很清楚,使用具有Z信息的对象的计算将其全部投影到XY平面中:

# I wish this returned POINTZ(0.5 0.5 0.5)...
> st_centroid(st_linestring(rbind(c(0,0,0),c(1,1,1))))
POINT(0.5 0.5)

# I wish this returned 1.0...
> st_distance(st_linestring(rbind(c(0,0,0),c(1,1,1))), 
st_linestring(rbind(c(2,0,2),c(0,2,2))))
     [,1]
[1,]    0

如何在不滚动自己的情况下使用Z坐标进行操作?

(我猜测,由于缺乏理解我或者错过了某些东西,或者图书馆是如此新颖,这些操作还没有实现。)

1 个答案:

答案 0 :(得分:1)

现在你不能不写作(或作为st_distance的参数传递)你自己的距离函数。