overlay                  package:sp                  R Documentation

_s_p_a_t_i_a_l _o_v_e_r_l_a_y _f_o_r _p_o_i_n_t_s, _g_r_i_d_s _a_n_d _r_i_n_g_s

_D_e_s_c_r_i_p_t_i_o_n:

_U_s_a_g_e:

     overlay(x, y, ...)

_A_r_g_u_m_e_n_t_s:

       x: first layer

       y: second layer, put on top of x

     ...: optional arguments; see example below 

_V_a_l_u_e:

     a numerical array of indices of 'x' on locations of 'y', or a
     data.frame with (possibly aggregate) properties of 'x' in units of
     'y'.

_N_o_t_e:

     points on a ring boundary and points corresponding to a ring
     vertex are considered to be inside the ring

_S_e_e _A_l_s_o:

     overlay-methods, point.in.polygon

_E_x_a_m_p_l_e_s:

     r1 = cbind(c(180114, 180553, 181127, 181477, 181294, 181007, 180409, 
     180162, 180114), c(332349, 332057, 332342, 333250, 333558, 333676, 
     332618, 332413, 332349))
     r2 = cbind(c(180042, 180545, 180553, 180314, 179955, 179142, 179437, 
     179524, 179979, 180042), c(332373, 332026, 331426, 330889, 330683, 
     331133, 331623, 332152, 332357, 332373))
     r3 = cbind(c(179110, 179907, 180433, 180712, 180752, 180329, 179875, 
     179668, 179572, 179269, 178879, 178600, 178544, 179046, 179110),
     c(331086, 330620, 330494, 330265, 330075, 330233, 330336, 330004, 
     329783, 329665, 329720, 329933, 330478, 331062, 331086))

     sr1=Polygons(list(Polygon(r1)),"r1")
     sr2=Polygons(list(Polygon(r2)),"r2")
     sr3=Polygons(list(Polygon(r3)),"r3")
     sr=SpatialPolygons(list(sr1,sr2,sr3))
     srdf=SpatialPolygonsDataFrame(sr, data.frame(cbind(1:3,5:3), row.names=c("r1","r2","r3")))

     data(meuse)
     coordinates(meuse) = ~x+y
     data(meuse.grid)
     coordinates(meuse.grid) = ~x+y
     gridded(meuse.grid) = TRUE

     plot(meuse)
     polygon(r1)
     polygon(r2)
     polygon(r3)

     overlay(srdf, meuse)
     overlay(sr, meuse)

     overlay(meuse, srdf, fn = mean)
     overlay(meuse, srdf)
     overlay(as(meuse, "SpatialPoints"), srdf)
     overlay(as(meuse, "SpatialPoints"), sr)

     # same thing, with grid:
     overlay(srdf, meuse.grid)
     overlay(sr, meuse.grid)

     overlay(meuse.grid, srdf, fn = mean)
     overlay(meuse.grid, srdf)
     overlay(as(meuse.grid, "SpatialPoints"), srdf)
     overlay(as(meuse.grid, "SpatialPoints"), sr)

