如何将data.frame转换为R中的SpatialPixelsDataFrame

时间:2017-12-11 11:45:39

标签: raster sp

我有一个标有纬度(y)和经度(y)的数据集。

x           y           pH      EC      RSC  SAR
644602.7184 3295635.709 7.82    1.069   6.8  2.612316328
644219.281  3293883.389 7.45    2.27    6    2.40812669
644368.6088 3295296.452 7.41    1.17    7.2  1.240347346
646050.5728 3297548.156 7.8     0.971   4.5  1.589470393
644641.7003 3295115.255 7.87    0.708   4.4  0.875069715
644764.8507 3294939.506 8       0.634   4.1  2.154375393
644885.5937 3295445.407 7.83    1.13    7.1  0.951290419

我想将其转换为SpatialPixelsDataFrame。我使用以下代码:

data <- read.csv("Try_data.csv", header = T)
coordinates(data) <- ~x+y
proj4string(data) <- CRS("+proj=utm +zone=43 ellps=WGS84")

grid = spsample(data, type = "regular", cellsize = c(29.11785674, 29.11785674)) 
gridded(grid) = TRUE 
grid2 <- as(grid, "SpatialPixelsDataFrame")

但是在grid2中,data.frame以0 obs开头。 0个变量。我想pH,EC,RSC,SAR参数应该出现在grid2中的data.frame中。怎么做?

1 个答案:

答案 0 :(得分:0)

请提供一些示例数据作为脚本。您似乎想要根据不规则点数据创建常规栅格。您可以使用raster::rasterize之类的函数,也可以使用某种类型的插值。参见例如raster::interpolate以及它使用的包中的方法,例如gstat