Releases: gcol33/hexify
Releases · gcol33/hexify
v0.7.1: Code quality and documentation
Improvements
- Refactored
rcpp_aperture.cpp: parameterized helpers eliminate copy-paste across apertures - Consolidated input validation: shared
validate_aperture()/validate_resolution() - Optimized
is_pentagon(): direct quad coordinate lookup instead of lon/lat loop - Stricter aperture parsing in
hexify()with informative error - Deduplicated
theme_minimal()calls with.theme_clean()helper
Documentation
- Added "Why Hexagonal Grids?" section to README
- Added "Known Limitations" section to README
Tests
- New
test-edge-cases.Rwith 32 tests: poles, antimeridian, dateline, roundtrip stability, pentagon invariants, neighbor symmetry
Full Changelog: v0.7.0...v0.7.1
v0.7.0: Fix ap7 encoding + neighbors + summarize
Hotfix
- Fixed aperture 7 cell encoding to use Class III substrate quantization.
- Updated
max_cell_id()for aperture 7 bounding box.
New features
get_neighbors()— k-ring neighbor lookup for all ISEA apertures + H3. Supportsk > 1, distance output, vectorized input.hex_summarize()— cell-level aggregation with tidyeval. Groups by cell_id, returns centers/areas/counts.
Check results
0 errors, 0 warnings, 0 notes — all CI platforms passing.
hexify-0.6.5
Full Changelog: v0.6.4...v0.6.5
v0.6.4
Fix CRAN incoming check failures from v0.6.3 submission:
- Removed compiled object files (.o) from source tarball (caused installation ERROR on Debian)
- Wrapped plot_globe() examples in \donttest{} (was 608s on win-builder)
- Reworded vendored to included in DESCRIPTION (spelling flag)
- Strip debug symbols in Makevars to reduce installed library size
All v0.6.3 changes carried forward (antimeridian fix, globe projection fix, snprintf fix).
hexify 0.6.3
Antimeridian fix and auto-wrap dateline. See NEWS.md for details.
hexify 0.6.2
Native H3 backend with zero external dependencies.
- Vendored H3 v4.4.1 C source, replacing the h3o R package dependency
- H3 is now always available — no optional install, no Suggests
- Uses H3 experimental polygon fill for full spatial coverage in hexify()
- New native C++ bindings for all H3 operations
hexify 0.6.1
hexify 0.6.1
Polish H3 integration docs and UX:
- Warn when
apertureis passed withtype = "h3"(ignored parameter) - Expanded H3 resolution guidance in
hex_grid()documentation - Extended H3 vignette resolution table to full range (0-15)
- Added
h3_crosswalk()example to H3 vignette
v0.6.0: ISEA-H3 crosswalk and per-cell area
What's New
ISEA–H3 crosswalk and per-cell area
- New
h3_crosswalk(): bidirectional mapping between ISEA and H3 cell IDs, with automatic resolution matching and per-cell area comparison - New
cell_area(): returns geodesic area (km²) for each cell — constant for ISEA (equal-area), location-dependent for H3, with session-scoped caching - HexData
$cell_area_km2,[["cell_area_km2"]], andas.data.frame()now return per-cell areas for H3 grids instead of the grid-wide average - One-time session message when creating H3 grids to inform users that H3 cells are not exactly equal-area
Install
# From GitHub
remotes::install_github("gcol33/hexify@v0.6.0")Full Changelog: v0.5.0...v0.6.0
hexify 0.5.0
H3 grid support
- Added H3 (Uber) as a first-class grid type:
hex_grid(resolution = 8, type = "h3") - All core functions work with H3 grids:
hexify(),cell_to_sf(),grid_rect(),grid_global(),grid_clip(),get_parent(),get_children() - H3 support requires the
h3opackage (Suggests, not required for ISEA workflows) - New
hexify_compare_resolutions(type = "h3")for H3 resolution table dgearthstat()now accepts HexGridInfo objects directly- New
grid_typeslot on HexGridInfo:"isea"(default) or"h3" - HexData
cell_idslot supports character (H3) and numeric (ISEA) cell IDs - Backward compatible: all existing ISEA workflows unchanged
v0.3.7
Changes
- Removed slow spatial operation tests (grid_global, grid_rect, grid_clip)
- Reduced comprehensive roundtrip test combinations
- Test runtime now ~13 seconds (previously exceeded 10 min limit)
CRAN
This release addresses the test runtime issue from v0.3.6.