0

我找不到解决方案,我的问题是:

我有一个 csv 文件,其中包含来自巴西的点数据和栅格范围。我想生成一个二进制地图,将点合并到栅格中,并在没有任何点的地方赋予值 0,在有的地方赋予值 1。

我目前正在使用此处提供的脚本(https://www.r-bloggers.com/2013/05/creating-a-presence-absence-raster-from-point-data/),但是当我绘制 pts .raster 在 rasterize() 之后,我收到一个空图层。从字面上看,是空的。空无一物。但是输出似乎适用于栅格文件,并且生成了一个栅格范围为 0 值的图层(没有值为 1 的点)。

我担心我的数据有问题,但我无法思考如何处理和发现问题。我的数据在这里(https://drive.google.com/drive/folders/1dzxuAEQDopeLPdAgwC5Fy_4e09dTg5Lg?usp=sharing)我使用的代码是:

r = raster("onlymg84.tif")
pts = read.csv("sampled84.csv")
#specifying the xy columns
pts = pts[4:5]
napts = na.omit(pts) #removing na
coordinates(napts) <- ~longitude+latitude #converting to spatialpoints
proj4string(napts) <- proj4string(r) #same projection
avis <- "Avistamentos"
plot(r)
points(napts) #checking if the points overlap the raster
presence.absence.raster <- function(mask, data, raster.label=""){
mask[!is.na(mask)] <- 0
pts.raster = rasterize(data,mask, field= 1, update= TRUE)
plot(pts.raster)
pts.raster = merge(pts.raster, mask)
names(pts.raster) <- raster.label
return(pts.raster) 
}
pa.raster <- presence.absence.raster(mask= r, data=napts, raster.label=avis)
plot(pa.raster) 

有人可以帮我理解出了什么问题吗?谢谢!

4

0 回答 0