assign_to_hexagons(pts, res)

Assign species occurrence or community points to DGGS hexagonal cells at a given resolution using dggridR.

spatialgrid
Args:pts — data.frame with lon/latres=7 — hexagon resolutiontopology='HEXAGON'
assign_to_hexagons <- function(pts, res = 7, topology = "HEXAGON",
                               lon_col = "lon", lat_col = "lat") {
  if (!requireNamespace("dggridR", quietly = TRUE)) install.packages("dggridR")
  library(dggridR)
  
  dggs <- dgconstruct(res = res, metric = FALSE,
                      resround = "down", topology = topology)
  
  pts$cell <- dgGEO_to_SEQNUM(dggs,
                               in_lon_deg = pts[[lon_col]],
                               in_lat_deg = pts[[lat_col]])$seqnum
  pts
}