1
我想要计算坐标列表中所有可能的坐标对之间的距离。然而,我很惊讶地得到一些坐标对的NaN,你应该可以计算出它们之间的距离。distHaversine为什么会为某些坐标对返回NaN?
我的坐标是十进制的经度和纬度。我在R.
这里使用distHaversine函数从geodist包是一对坐标为哪些distHaversine返回NaN的样品。我尝试了许多其他坐标对的代码,并且它能正常工作。
# Create long, lat matrix with two sets of coordinates
coord_list <- matrix(c(2.5, -177.5, 5.5, -5.5), ncol=2)
coord_list
# Create a matrix with the distance between each pair of points (zero on the diagonals)
dist <- apply(coord_list, 1,
FUN=function(X) {
distHaversine(X, coord_list)
})
dist
# [,1] [,2]
#[1,] 0 NaN
#[2,] NaN 0
在情况下,它相关的,我需要这些距离为用于空间加权回归的反距离加权矩阵。然而,我宁愿弄清楚为什么distHaversine偶尔会返回NaN,而不是以不同的方式计算矩阵(我知道该怎么做)。
感谢您的帮助!
最小例如:'distHaversine(C(-177.5,-5.5),C(2.5,5.5))'这些点是对映体(即直接相对地球上的),但这样是'distHaversine(C(-177.5, - 5),c(2.5,5))'并且工作正常。报告软件缺陷? – Spacedman
是啊,看起来像一个浮点精度错误。我通过电子邮件发送了维护人员... – Spacedman
好吧,很高兴知道这不仅仅是我!谢谢! – bsauce