4

我有相关经度和纬度的数据。如何根据点之间的大圆距离获得该数据的变异函数?

这个简单的示例包含赤道上的所有数据:

require(geoR)

long <- seq(-179, 180)
x <- sin(pi * long / 180) + rnorm(length(long))
V <- variog(data=x, coords=cbind(long, 0))
# variog: computing omnidirectional variogram
plot(V)

第一个点和最后一个点实际上仅相隔 1 度,但我天真的尝试导致variog认为它们相隔 359 度。

4

2 回答 2

2

您应该使用nmle 的半变异函数。它允许您指定一个距离矩阵,您可以自己轻松地计算出来。

于 2011-11-09T09:58:45.470 回答
0

从 R-sig-geo 上的一篇文章(专门针对 R 中的空间数据的邮件列表),我似乎记得 R 中没有支持大圆距离的现成函数:

http://r-sig-geo.2731867.n2.nabble.com/Great-Circle-distances-in-Automap-Gstat-td6863940.html

我的建议是投影您的数据,而不是对投影数据执行插值。

于 2011-11-07T13:25:40.993 回答