如何在R中创建SpatialPixelsDataFrame对象(与AdeHabitation包兼容)
我的问题很简单。我在R中找到了一个名为adehabitat的非常好的软件包。要使用它,我需要将我的数据转换为特定结构的对象,其中包含光栅地图数据和动物坐标。要查看,请键入:如何在R中创建SpatialPixelsDataFrame对象(与AdeHabitation包兼容),r,raster,R,Raster,我的问题很简单。我在R中找到了一个名为adehabitat的非常好的软件包。要使用它,我需要将我的数据转换为特定结构的对象,其中包含光栅地图数据和动物坐标。要查看,请键入: # example data in adahabitat package data(bauges) bauges str(bauges) 如何将我的数据(如下)转换成这样的结构我知道如何将$LOC转换为空间点,但我不知道如何转换地图(在我的示例中,是个别栖息地类型的光栅值分类代码,即非连续变量) #我的示例数据: 图书馆(
# example data in adahabitat package
data(bauges)
bauges
str(bauges)
如何将我的数据(如下)转换成这样的结构我知道如何将$LOC
转换为空间点,但我不知道如何转换地图(在我的示例中,是个别栖息地类型的光栅值分类代码,即非连续变量)
#我的示例数据:
图书馆(光栅)
图书馆(阿德斯)
#地图
habitat_type_temp您可以将位置放在某个地方以生成SpatialPixelsDataFrame,我认为这大致是爱荷华州:
x <- 93+rep(1:8,each=10)/100
y <- rep(seq(42.01,42.1,by=0.01), 8)
z <- c(1,1,1,1,1,1,1,1,2,2,
1,1,2,2,1,1,1,2,2,2,
1,2,2,2,3,3,3,2,2,2,
2,2,2,1,1,1,3,2,2,1,
2,2,1,1,1,1,3,2,1,1,
2,1,1,1,1,1,3,3,1,1,
2,1,1,1,1,3,3,3,3,1,
1,1,1,1,1,1,1,3,3,3)
xy.df <- data.frame(x,y)
xy.coords <- SpatialPixels(SpatialPoints(xy.df))
llCRS <- CRS("+proj=utm +zone=15 +ellps=WGS84")
xy.sp <- SpatialPoints(xy.coords, proj4string = llCRS)
xyz <- as.data.frame(cbind(x,y,z))
xyz.spdf <- SpatialPixelsDataFrame(xy.coords, xyz)
plot(xyz.spdf)
x您可以将位置放在某个地方以生成SpatialPixelsDataFrame,我认为这大致是:
x <- 93+rep(1:8,each=10)/100
y <- rep(seq(42.01,42.1,by=0.01), 8)
z <- c(1,1,1,1,1,1,1,1,2,2,
1,1,2,2,1,1,1,2,2,2,
1,2,2,2,3,3,3,2,2,2,
2,2,2,1,1,1,3,2,2,1,
2,2,1,1,1,1,3,2,1,1,
2,1,1,1,1,1,3,3,1,1,
2,1,1,1,1,3,3,3,3,1,
1,1,1,1,1,1,1,3,3,3)
xy.df <- data.frame(x,y)
xy.coords <- SpatialPixels(SpatialPoints(xy.df))
llCRS <- CRS("+proj=utm +zone=15 +ellps=WGS84")
xy.sp <- SpatialPoints(xy.coords, proj4string = llCRS)
xyz <- as.data.frame(cbind(x,y,z))
xyz.spdf <- SpatialPixelsDataFrame(xy.coords, xyz)
plot(xyz.spdf)
x非常感谢@tom.purucker提供模板。它工作得很好!非常感谢@tom.purucker提供模板。它工作得很好!