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.28274, -75.77292, 33.91394, 36.56509  (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.118     1.601  1946    1946 Madison 37115 3.712e+04       58
#>                0.167     2.709  2099    2099    Hyde 37095  3.71e+04       48
#>                0.143      1.63  1828    1828   Surry 37171 3.717e+04       86
#>  BIR74 SID74 (and 5 more)
#>  <num> <num>             
#>    765     2             
#>    338     0             
#>   3188     5             
#> 
#> $padded
#>  class       : SpatVector 
#>  geometry    : polygons 
#>  dimensions  : 10, 1  (geometries, attributes)
#>  extent      : -1084.283, 924.2271, -966.0861, 1036.565  (xmin, xmax, ymin, ymax)
#>  coord. ref. :  
#>  names       : CGRIDID
#>  type        :   <num>
#>  values      :       1
#>                      2
#>                      3
#>