使用坐标栅格图转换表

时间:2014-12-03 23:21:15

标签: r reshape raster

我是一个初学者,我认为这是一个相当简单的问题,但我有点被卡住了......

我有一个包含三列的数据表:xyheight值。我导入了csv文件并提取了值:

data <- read.csv("C:/Data/heights.csv")
mydata <- data[, c("x", "y", "height")]

然后我需要将height值放入具有这些坐标的网格中,我将其创建为栅格:

grid <- raster(ncol=2001, nrow=2001, xmn=479975, xmx=500025, ymn=119975, ymx=140025)

2 个答案:

答案 0 :(得分:0)

我认为你很亲密。我建议您阅读光栅包材料,vignettedescription

您必须注意您的数据及其组织方式。按行?柱?栅格单元格值将按行填充。

使用与帮助?raster

中提供的示例相似的内容
library(raster)
vals <- 1:100
r1 <- raster(nrows=10, ncols=10, xmn=479975, xmx=500025, ymn=119975, ymx=140025)
r1[] <- vals
plot(r1)

enter image description here

但是,与空间对象接近的程序可能会有所不同

library(sp)
x <- 1:10
y <- 1:10
df <- data.frame(expand.grid(x=x,y=y), v=1:100)
coordinates(df)=~x+y
gridded(df) = TRUE
r2 <- raster(df)
plot(r2)

raster from a spatial object

我认为这可能是最好的方法,但最好还是了解一下您的数据及其组织方式。

答案 1 :(得分:0)

你可以试试这个:

library(raster)
x <- rasterFromXYZ(mydata)
extent(x) <- c(479975, 500025, 119975, 140025)