3

我正在尝试使用克里金函数在海洋横断面中创建化学参数的垂直图,但我很难开始。

我的数据如下所示:

horiz=rep(1:5, 5)
depth=runif(25)
value = horiz+runif(25)/5
df <- data.frame(horiz, depth, value)

包中的autoKrige函数automap看起来应该为我完成这项工作,但它需要一个 class 对象SpatialPointsDataFrame。据我所知,spTransform包中的函数rgdal创建了SpatialPointsDataFrame对象,但是有两个问题:

  • CRAN不提供此 OSX 二进制文件,而且我在 OXS 10.7 上运行的 RStudio 副本似乎无法安装它,并且

  • 此功能似乎适用于经纬度数据和地球曲率的正确距离值。由于我正在处理垂直平面(以及短距离,数百米的规模),我不想更正我的距离。

这里有一个关于 R 中克里金法的精彩讨论,但由于上面列出的问题,我不太明白如何将它应用于我的具体问题。

我想要一个矩阵或数据框来描述具有我的化学参数的插值的点网格,然后我可以绘制(理想情况下使用 ggplot2)。我怀疑我的问题的解决方案比我想象的要容易得多。

4

1 回答 1

4

所以有几个问题你想回答:

  1. spTransform函数不创建 SPDF,而是在投影之间进行转换。要创建 SPDF,您可以从简单data.frame开始。要转换df为 SPDF:

    coordinates(df) = c("horiz", "depth")
    
  2. OS X 的二进制文件rgdal可以在http://www.kyngchaos.com找到。但我怀疑你是否需要 rgdal。

  3. spTransform可以对 latlong 数据进行操作,也可以对投影数据进行操作。但我认为您不需要 rgdal,或者spTransform,另请参见第 1 点。

  4. 使用第 1 点创建 SPDF 后,您可以使用您提到的帖子中的信息继续。

于 2012-06-13T15:47:33.323 回答