光栅:在R中也计数零点

光栅:在R中也计数零点,r,raster,sf,R,Raster,Sf,当我没有点时,我无法成功地按像素计算光栅中的点数。在我的例子中: #Create a raster and some points xmn = 17;xmx = 23;ymn=42;ymx=49 my_ras<-raster(matrix(1:12,3,4), xmx=xmx, xmn=xmn,ymx=ymx,ymn=ymn) my_points<-data.frame(x=runif(10,xmn,xmx), y=runif(10,ymn,ymx)) #Count the poi

当我没有点时,我无法成功地按像素计算光栅中的点数。在我的例子中:

#Create a raster and some points
xmn = 17;xmx = 23;ymn=42;ymx=49
my_ras<-raster(matrix(1:12,3,4), xmx=xmx, xmn=xmn,ymx=ymx,ymn=ymn)
my_points<-data.frame(x=runif(10,xmn,xmx), y=runif(10,ymn,ymx))

#Count the points
pointcount<- rasterize(my_points, my_ras, fun='count')

#Vizualize
plot(my_ras)
points(my_points, pch=16)
d <- data.frame(coordinates(pointcount), count=pointcount[])
summary(d)
#       x               y             count      
# Min.   :17.75   Min.   :43.17   Min.   :1.000  
# 1st Qu.:18.88   1st Qu.:43.17   1st Qu.:1.000  
# Median :20.00   Median :45.50   Median :1.500  
# Mean   :20.00   Mean   :45.50   Mean   :1.667  
# 3rd Qu.:21.12   3rd Qu.:47.83   3rd Qu.:2.000  
# Max.   :22.25   Max.   :47.83   Max.   :3.000  
#                                 NA's   :6 
#创建光栅和一些点
xmn=17;xmx=23;ymn=42;ymx=49
my_ras示例数据

library(raster)
xmn = 17;xmx = 23;ymn=42;ymx=49
ras <-raster(matrix(1:12,3,4), xmx=xmx, xmn=xmn,ymx=ymx,ymn=ymn)
points <-data.frame(x=runif(10,xmn,xmx), y=runif(10,ymn,ymx))
如果现在要排除某些区域,可以使用
raster::mask
。或者,如果您的光栅具有NA和零值,则可以使用
update=TRUE

pointcount<- rasterize(points, ras, fun='count', background=0)