distVincentyEllipsoid() 产生 NA 值(geosphere 包)
distVincentyEllipsoid() yielding NA values (geosphere package)
我正在使用 geosphere 包 中的函数 distVincentyEllipsoid() 来计算世界港口之间的距离。此函数将两个地方的经度和纬度作为输入,并以米为单位给出距离作为输出。它似乎总体上运行良好,但在某些情况下,它无缘无故地给我 NA。我想知道是否有人知道一个错误(我找不到在线文档来解决这个问题),或者可以指出我做错了什么。奇怪的是它似乎只影响特定的对——例如。 f(a,b) 和 f(b,a) 将给出 NA,但 f(a,c) 和 f(b,c) 不会。
例如。
新西兰旺格雷 (Lon:174.35 Lat:-35.76) to Gibraltar, Gibraltar (Lon: -5.35 Lat:36.13):
distVincentyEllipsoid(c(174.35,-35.76),c(-5.35,36.13))
> NA
...但是:
马耳他瓦莱塔 (Lon:14.51 Lat:35.89) to Gibraltar, Gibraltar (Lon: -5.35 Lat:36.13):
distVincentyEllipsoid(c(14.51,35.89),c(-5.35,36.13))
> 1787499
...和:
新西兰旺格雷 (Lon:174.35 Lat:-35.76) 到马耳他瓦莱塔 (Lon:14.51 Lat:35.89):
distVincentyEllipsoid(c(174.35,-35.76),c(14.51,35.89))
> 18207301
(根据 Google 地图,这两个输出都是正确的 - 请注意这些值以米为单位。)
如有任何帮助,我们将不胜感激。
编辑:问题已解决 - Vincenty 的距离方法对近对映点无效。
使用 distGeo 代替 distVincentyEllipsoid。这被添加到
geosphere 版本 1.5,它使用
better algorithm(我的!)比 Vincenty 的。这个returns准确
所有点对的结果。特别是新西兰旺格雷 (Lon:174.35 Lat:-35.76) 到 Gibraltar, Gibraltar (Lon: -5.35 Lat:36.13)
> distGeo(c(174.35,-35.76),c(-5.35,36.13))
[1] 19958627
这个demonstration page显示
Google 地图中显示的近对映测地线示例。
我正在使用 geosphere 包 中的函数 distVincentyEllipsoid() 来计算世界港口之间的距离。此函数将两个地方的经度和纬度作为输入,并以米为单位给出距离作为输出。它似乎总体上运行良好,但在某些情况下,它无缘无故地给我 NA。我想知道是否有人知道一个错误(我找不到在线文档来解决这个问题),或者可以指出我做错了什么。奇怪的是它似乎只影响特定的对——例如。 f(a,b) 和 f(b,a) 将给出 NA,但 f(a,c) 和 f(b,c) 不会。
例如。 新西兰旺格雷 (Lon:174.35 Lat:-35.76) to Gibraltar, Gibraltar (Lon: -5.35 Lat:36.13):
distVincentyEllipsoid(c(174.35,-35.76),c(-5.35,36.13))
> NA
...但是:
马耳他瓦莱塔 (Lon:14.51 Lat:35.89) to Gibraltar, Gibraltar (Lon: -5.35 Lat:36.13):
distVincentyEllipsoid(c(14.51,35.89),c(-5.35,36.13))
> 1787499
...和:
新西兰旺格雷 (Lon:174.35 Lat:-35.76) 到马耳他瓦莱塔 (Lon:14.51 Lat:35.89):
distVincentyEllipsoid(c(174.35,-35.76),c(14.51,35.89))
> 18207301
(根据 Google 地图,这两个输出都是正确的 - 请注意这些值以米为单位。)
如有任何帮助,我们将不胜感激。
编辑:问题已解决 - Vincenty 的距离方法对近对映点无效。
使用 distGeo 代替 distVincentyEllipsoid。这被添加到 geosphere 版本 1.5,它使用 better algorithm(我的!)比 Vincenty 的。这个returns准确 所有点对的结果。特别是新西兰旺格雷 (Lon:174.35 Lat:-35.76) 到 Gibraltar, Gibraltar (Lon: -5.35 Lat:36.13)
> distGeo(c(174.35,-35.76),c(-5.35,36.13))
[1] 19958627
这个demonstration page显示 Google 地图中显示的近对映测地线示例。