当我基于wrld_simpl(或来自worldclim的任何其他环境层)创建世界土地的栅格时,在陆地上看起来似乎是一些“不可能”的NA。为什么会这样?我需要一个完美的世界面具,以摘录不落入海洋的记录。然而,陆地上有许多记录,仍然被认为是NA。
我的脚本是这样的:
require(raster)
require(maptools)
data(wrld_simpl)
x=read.csv("https://www.dropbox.com/s/ncvu64r2fxgfd4e/NAlocations.csv?dl=0")
r=raster(ncols=360,nrows=(180))
extent(r)=extent(wrld_simpl)
r=rasterize(wrld_simpl,r,wrld_simpl$AREA)
plot(r)
x=x[-which(is.na(extract(r,x$lon,x$lat))),]# This should eliminate all locations on land.
points(x$lon,x$lat, col="red", cex=.3)
怎么可能?它会为世界土地创造一个干净的栅格吗?
来自Dropbox的直接read.csv
对我不起作用。如果我做
z <- extract(r, x)
# NOT z <- extract(r, x[,1], x[,2]) !!!
i <- which(is.na(z))
points(x[i,])
我在莫桑比克海岸的水中看到了一堆点。