La mejor manera de describir mi problema es que busco una unión interna izquierda para dos objetos espaciales.
Como puede ver a continuación, tengo dos objetos espaciales: (1) Estado de California [en azul] y (2) Polígonos de la cuadrícula [en rojo]. Estoy intentando fusionar ambos objetos pero sólo para los polígonos de la cuadrícula que "tocan" el objeto California. Por ejemplo, mantener los polígonos azules de la cuadrícula y cualquier polígono rojo de la cuadrícula que tenga azul.
Probé con "raster::intersect", pero esto recorta la costa/el límite. Aquí está mi código ....
library(rgdal)
library(raster)
library(rgeos)
# Download US shape information from data.gov
URL <- "http://www2.census.gov/geo/tiger/GENZ2016/shp/cb_2016_us_state_500k.zip"
td <- tempdir()
setwd(td)
temp <- tempfile(fileext = ".zip")
download.file(URL, temp)
unzip(temp)
# Get US shape file and filter states for just California
us_states <- raster::shapefile("cb_2016_us_state_500k.shp")
ca <- subset(us_states, STUSPS == "CA")
# Create a grid
grid <- raster(extent(ca))
res(grid) <- c(1)
proj4string(grid) <- proj4string(ca)
gridpolygon <- rasterToPolygons(grid)
# Merge objects together
merged <- raster::intersect(ca, gridpolygon)
plot(gridpolygon, add=TRUE, col='red')
plot(merged, add=TRUE, col='blue') # This clips the grids