我有经纬度值的列表,我试图找到它们之间的距离。 使用标准的大圆方法,我需要找到:
acos(sin(lat1)*sin(lat2) + cos(lat1)*cos(lat2) * cos(long2-long1))
和地球半径乘以这个,在我使用的单位。 这是有效的,只要这些值我们采取的ACOS是在范围[-1,1]。 如果他们甚至略有超出此范围的,它会返回NaN
,即使差异是由于四舍五入。
我的问题是,有时,当两个纬度/长值是相同的,这给了我一个NaN
错误。 并非总是如此,即使是相同的数字对,但总是在列表中的相同。 举例来说,我有一个人停在了沙漠的道路上:
Time |lat |long
1:00PM|35.08646|-117.5023
1:01PM|35.08646|-117.5023
1:02PM|35.08646|-117.5023
1:03PM|35.08646|-117.5023
1:04PM|35.08646|-117.5023
当我计算的连续点之间的距离,第三值,例如,将永远是NaN
,即使有些则没有。 这似乎是一个奇怪的错误有R圆角。