Skip to contents

globalhex 0.0.0.9000

  • st_as_sf() now returns polygons that draw correctly on flat longitude/latitude maps: cells crossing the antimeridian are split into MULTIPOLYGONs, cells containing a pole are closed along latitude ±90, and long edges follow their great circles. Spherical areas are unchanged. Use wrap = FALSE for the raw spherical polygons. Unprojected plot() displays use the same geometry, so polar cells no longer smear across the map.
  • Bundled DGGRID 9.03b source, compiled without GDAL at install time, so no separate DGGRID installation is needed. The package is now AGPL-3.0-or-later.
  • cell_cover() clips with DGGRID’s AIGEN format and applies polygon holes in R, keeping cells on islands inside holes.
  • Fixed automatic plot resolution failing (“No source cells are visible”) for wide regional datasets, such as North Atlantic storm tracks.
  • Fixed raster_to_cell() failing for rasters narrower than 60 degrees that do not cross a multiple of 60 degrees longitude.
  • point_to_cell() recognizes a long column for longitude.
  • New README with rendered examples, and three vignettes: getting started, plotting, and rasters and polygons.
  • Added an IGEO7/Z7-first API over DGGRID 9.x.
  • Added ISEA3H/Z3 selection and a partial dggridR compatibility fallback.
  • Added conversion, boundary, neighbor, traversal, hierarchy, sf, and polygon fill helpers with H3-like snake-case names.
  • Reworked cells as vctrs vectors supporting mixed resolutions.
  • Separated grid identity from DGGRID backend configuration.
  • Standardized cell operations on a cell_ grammar and type-stable relation tibbles.
  • Made the legacy dggridR fallback explicit and added classed cli errors.
  • Deduplicated point, sequence-number, relation, and geometry requests before invoking their backends while preserving the original result order.
  • Batched hierarchy and graph traversal work by resolution and search depth, including shared searches for repeated distance origins.
  • Standardized optional-package checks with rlang’s package-checking API.
  • Switched center extraction from GeoJSON to compact DGGRID text output and added bounded internal chunks for large point, center, boundary, and sequence-number requests.
  • Added delayed cli progress for hierarchy, graph traversal, distance, and polygon-cover operations without adding a runtime dependency.
  • Added cell_grid() and fast or backend-confirmed cell_is_valid() helpers.
  • Added regression coverage for all 12 pentagons, seam-crossing antimeridian cells, polar cells, larger graph radii, and forced multi-chunk execution.
  • Added a development-only bench harness excluded from package builds.
  • Added lazy hex_data() tables and a base plot() method that constructs geometry only after hierarchical aggregation.
  • Added cell_aggregate() and viewport/device-aware plot_resolution() with numeric, logical, and categorical aggregation semantics.
  • Made parent lookup a local Z7/Z3 index operation, removing a DGGRID process from parent aggregation and level-of-detail selection.
  • Added center-only viewport selection, antimeridian handling, projection after aggregation, fixed-resolution plotting, and a lod = FALSE escape hatch.
  • Added 100 thousand, 1 million, and 10 million row plotting benchmarks and a naive fine-polygon comparison.
  • Added cell_sample() for fast center-point extraction from SpatRaster layers without cell polygons.
  • Added cell_extract() for exact raster-pixel coverage with area-weighted continuous defaults and categorical mode extraction.
  • Added raster_to_cell() with edge-cell padding, projected-raster support, and 0-to-360 longitude handling; all raster helpers return lazy globalhex_data objects.
  • Made full-longitude raster conversion enumerate the bounded whole DGGS instead of sending globe-spanning polygons through DGGRID’s clipper.
  • Added controllable cell_cover() edge densification and made long DGGRID failures safe and concise while retaining their full diagnostic text.
  • Made raster conversion drop all-missing cells by default and made plotting ignore missing values before LOD selection, avoiding needless downsampling for sparse global rasters.
  • Added render = "auto", "polygon", or "raster" plotting. Automatic mode rasterizes large display layers through optional terra, keeps explicit borders vector-based, and records the renderer on the returned data.