Sunday, July 29, 2018
R GIS Polygon Intersection with gIntersection rgeos
R GIS Polygon Intersection with gIntersection rgeos
A short tutorial on doing intersections in R GIS. gIntersection{rgeos} will pick the polygons of the first submitted polygon contained within the second poylgon - this is done without cutting the polygons edges which cross the clip source polygon. For the function that I use to download the example data, url_shp_to_spdf() please see HERE.
library(rgeos)
library(dismo)
URLs <- c("http://gis.tirol.gv.at/ogd/umwelt/wasser/wis_gew_pl.zip", # all water bodies in Tyrol
"http://gis.tirol.gv.at/ogd/umwelt/wasser/wis_tseepeicher_pl.zip") # only artificial..
y <- lapply(URLs, url_shp_to_spdf)
z <- unlist(unlist(y))
a <- getData(GADM, country = "AT", level = 2)
b <- a[a$NAME_2=="Innsbruck Land", ] # political districts boundaries
c <- spTransform(b, z[[1]]@proj4string) # (a ring polygon)
z1_c <- gIntersection(z[[1]], c, byid = TRUE)
z2_c <- gIntersection(z[[2]], c, byid = TRUE)
plot(c)
plot(z1_c, lwd = 5, border = "red", add = T)
plot(z2_c, lwd = 5, border = "green", add = T)
plot(z[[1]], border = "blue", add = T) # I plot this on top, so it will be easier to identify
plot(z[[2]], border = "brown", add = T)