library(sp)
library(rgeos)
# Create test polygons
data(meuse)
coordinates(meuse) = ~x+y
meuse_poly <- gBuffer(meuse, width = meuse$elev * 5, byid = TRUE)
meuse_poly$LU <- sample(c("forest","nonforest"), nrow(meuse_poly),
replace=TRUE)
# All polygon proximity index 1000 radius
( pidx <-proximity.index(meuse_poly, min.dist = 1) )
pidx[pidx > 100] <- 100
# Class-level proximity index 1000 radius
( pidx.class <- proximity.index(meuse_poly, y = "LU", min.dist = 1) )
pidx.class[pidx.class > 100] <- 100
# plot index for all polygons
meuse_poly$pidx <- pidx
spplot(meuse_poly, "pidx")
# plot index for class-level polygons
meuse_poly$cpidx <- pidx.class
spplot(meuse_poly, "cpidx")
# plot index for just forest class
forest <- meuse_poly[meuse_poly$LU == "forest",]
spplot(forest, "cpidx")
Run the code above in your browser using DataLab