Skip to content

Instantly share code, notes, and snippets.

@Nowosad
Created October 7, 2017 16:38
Show Gist options
  • Save Nowosad/ed6ce13634f73c1a22c1668f02448a54 to your computer and use it in GitHub Desktop.
Save Nowosad/ed6ce13634f73c1a22c1668f02448a54 to your computer and use it in GitHub Desktop.
library(sp)
library(sf)
library(tidyverse)
g = SpatialGrid(GridTopology(c(0, 0), c(1, 1), c(3, 3)))
p = as(g, "SpatialPolygons") %>%
st_as_sf() %>%
mutate(id = row_number()) %>%
as("Spatial")
plot(p)
plot(p[5, ], col = "gray", add = TRUE)
text(coordinates(p), labels=as.character(p$id))
# dim -1
o_m1 = over(p[5, ], p, returnList = TRUE, minDimension = -1)
plot(p)
plot(p[5, ], col = "gray", add = TRUE)
plot(p[o_m1[[1]][, 1], ], border = "red", add = TRUE)
text(coordinates(p), labels=as.character(p$id))
o_m1
# dim 0
o_0 = over(p[5, ], p, returnList = TRUE, minDimension = 0)
plot(p)
plot(p[5, ], col = "gray", add = TRUE)
plot(p[o_0[[1]][, 1], ], border = "red", add = TRUE)
text(coordinates(p), labels=as.character(p$id))
o_0
# dim 1
o_1 = over(p[5, ], p, returnList = TRUE, minDimension = 1)
plot(p)
plot(p[5, ], col = "gray", add = TRUE)
plot(p[o_1[[1]][, 1], ], border = "red", add = TRUE)
text(coordinates(p), labels=as.character(p$id))
o_1
# dim 2
o_2 = over(p[5, ], p, returnList = TRUE, minDimension = 2)
plot(p)
plot(p[5, ], col = "gray", add = TRUE)
plot(p[o_2[[1]][, 1], ], border = "red", add = TRUE)
text(coordinates(p), labels=as.character(p$id))
o_2
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment