Skip to contents

This function utilizes anticlust::balanced_clustering() to split the input into equal size subgroups then transform the data to be compatible with the output of par_pad_grid, for which a set of padded grids of the extent of input point subsets (as recorded in the field named "CGRIDID") is generated out of input points.

Usage

par_pad_balanced(points_in = NULL, ngroups, padding)

Arguments

points_in

sf or SpatVector object. Point geometries. Default is NULL.

ngroups

integer(1). The number of groups.

padding

numeric(1). A extrusion factor to make buffer to clip actual datasets. Depending on the length unit of the CRS of input.

Value

A list of two,

  • original: exhaustive and non-overlapping grid polygons in the class of input

  • padded: a square buffer of each polygon in original. Used for computation.

Author

Insang Song

Examples

library(terra)
library(sf)
options(sf_use_s2 = FALSE)

ncpath <- system.file("gpkg/nc.gpkg", package = "sf")
nc <- terra::vect(ncpath)
nc_rp <- terra::spatSample(nc, 1000)

nc_gr <- par_pad_balanced(nc_rp, 10L, 1000)
nc_gr
#> $original
#>  class       : SpatVector 
#>  geometry    : points 
#>  dimensions  : 1000, 15  (geometries, attributes)
#>  extent      : -84.18474, -75.673, 33.92827, 36.58469  (xmin, xmax, ymin, ymax)
#>  coord. ref. : lon/lat NAD27 (EPSG:4267) 
#>  names       :  AREA PERIMETER CNTY_ CNTY_ID     NAME  FIPS    FIPSNO CRESS_ID
#>  type        : <num>     <num> <num>   <num>    <chr> <chr>     <num>    <int>
#>  values      : 0.141     2.316  2013    2013    Swain 37173 3.717e+04       87
#>                0.109     1.325  1841    1841   Person 37145 3.714e+04       73
#>                0.125     2.868  2156    2156 Carteret 37031 3.703e+04       16
#>  BIR74 SID74 (and 5 more)
#>  <num> <num>             
#>    675     3             
#>   1556     4             
#>   2414     5             
#> 
#> $padded
#>  class       : SpatVector 
#>  geometry    : polygons 
#>  dimensions  : 10, 1  (geometries, attributes)
#>  extent      : -1084.185, 924.327, -966.0717, 1036.585  (xmin, xmax, ymin, ymax)
#>  coord. ref. :  
#>  names       : CGRIDID
#>  type        :   <num>
#>  values      :       1
#>                      2
#>                      3
#>