inout                package:splancs                R Documentation

_T_e_s_t _p_o_i_n_t_s _f_o_r _i_n_c_l_u_s_i_o_n _i_n _a _p_o_l_y_g_o_n

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

     Test points for inclusion in a polygon.

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

     inout(pts,poly,bound=NULL,quiet=TRUE)

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

     pts: A points data set 

    poly: A polygon data set 

   bound: If points fall exactly on polygon boundaries, the default
          NULL gives arbitrary assignments. If TRUE, then all points
          "on" boundaries are set as within the polygon, if FALSE,
          outside.

   quiet: Do not report which points are on boundary for non-NULL bound

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

     A vector of logical values. 'TRUE' means the point was inside the
     polygon, 'FALSE' means the point was outside. Note that "inside"
     is an arbitrary concept for points "on" the polygon boundary.

_R_e_f_e_r_e_n_c_e_s:

     Rowlingson, B. and Diggle, P. 1993 Splancs: spatial point pattern
     analysis code in S-Plus.  Computers and Geosciences, 19, 627-655;
     the original sources can be accessed at: <URL:
     http://www.maths.lancs.ac.uk/~rowlings/Splancs/>. See also Bivand,
     R. and Gebhardt, A. 2000 Implementing functions for spatial
     statistical analysis using the R language. Journal of Geographical
     Systems, 2, 307-317.

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

     'inpip','pip'

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

     data(uganda)
     suganda <- sbox(uganda$poly)
     ruganda <- csr(suganda, 1000)
     polymap(suganda)
     polymap(uganda$poly, add=TRUE)
     def <- inout(ruganda, uganda$poly, bound=NULL)
     pointmap(as.points(ruganda[def,1], ruganda[def,2]), add=TRUE, col="black")
     pointmap(as.points(ruganda[!def,1], ruganda[!def,2]), add=TRUE, col="red")
     tru <- inout(ruganda, uganda$poly, bound=TRUE, quiet=FALSE)
     which(tru & !def)
     ds1 <- as.points(expand.grid(x=seq(-1.5,1.5,0.5), y=seq(-1.5,1.5,0.5)))
     ds1.poly <- ds1[chull(ds1),]
     ds2 <- as.points(rnorm(300),rnorm(300))
     plot(ds2, type="n", asp=1)
     polymap(ds1.poly, add=TRUE, border="lightblue", col="lightblue", lwd=1)
     points(ds2[inout(ds2,ds1.poly),],  col="green",  pch=20)
     points(ds2[!inout(ds2,ds1.poly),], col="orange", pch=20)
     points(ds1[inout(ds1,ds1.poly),],  col="black",  pch=20)
     points(ds1[!inout(ds1,ds1.poly),], col="red",    pch=20)
     plot(ds2, type="n", asp=1)
     polymap(ds1.poly, add=TRUE, border="lightblue", col="lightblue", lwd=1)
     points(ds2[inout(ds2,ds1.poly,bound=TRUE),],  col="green",  pch=20)
     points(ds2[!inout(ds2,ds1.poly,bound=TRUE),], col="orange", pch=20)
     points(ds1[inout(ds1,ds1.poly,bound=TRUE),],  col="black",  pch=20)
     points(ds1[!inout(ds1,ds1.poly,bound=TRUE),], col="red",    pch=20)
     plot(ds2, type="n", asp=1)
     polymap(ds1.poly, add=TRUE, border="lightblue", col="lightblue", lwd=1)
     points(ds2[inout(ds2,ds1.poly,bound=FALSE),],  col="green",  pch=20)
     points(ds2[!inout(ds2,ds1.poly,bound=FALSE),], col="orange", pch=20)
     points(ds1[inout(ds1,ds1.poly,bound=FALSE),],  col="black",  pch=20)
     points(ds1[!inout(ds1,ds1.poly,bound=FALSE),], col="red",    pch=20)

