https://github.com/obrl-soil/h3jsr
Access Uber's h3-js library via R and V8 - https://uber.github.io/h3/#/documentation/overview/use-cases
https://github.com/obrl-soil/h3jsr
discrete-global-grids h3 r spatial-indexing
Last synced: 7 months ago
JSON representation
Access Uber's h3-js library via R and V8 - https://uber.github.io/h3/#/documentation/overview/use-cases
- Host: GitHub
- URL: https://github.com/obrl-soil/h3jsr
- Owner: obrl-soil
- License: other
- Created: 2018-07-17T00:29:27.000Z (about 7 years ago)
- Default Branch: master
- Last Pushed: 2024-01-10T02:07:41.000Z (over 1 year ago)
- Last Synced: 2024-04-25T10:41:19.843Z (over 1 year ago)
- Topics: discrete-global-grids, h3, r, spatial-indexing
- Language: R
- Homepage: https://obrl-soil.github.io/h3jsr/
- Size: 13.2 MB
- Stars: 66
- Watchers: 11
- Forks: 5
- Open Issues: 0
-
Metadata Files:
- Readme: README.Rmd
- License: LICENSE.md
Awesome Lists containing this project
README
---
output: github_document
---```{r, echo = FALSE}
knitr::opts_chunk$set(
collapse = TRUE,
comment = "#>",
fig.path = "README-",
warning = FALSE
)
```[](https://github.com/obrl-soil/h3jsr/actions)
[](https://github.com/obrl-soil/h3jsr/actions)
[](https://github.com/obrl-soil/h3jsr/actions)
[](https://codecov.io/github/obrl-soil/h3jsr?branch=master)
[](https://cran.r-project.org/package=h3jsr)
[](https://www.r-pkg.org/pkg/h3jsr)# h3jsr
h3jsr provides access to [Uber's H3 library](https://github.com/uber/h3) via its [javascript transpile](https://github.com/uber/h3-js), using the magical power of [`V8`](https://github.com/jeroen/v8).
H3 is a hexagonal hierarchical geospatial indexing system. Details about its structure and use cases [can be found here](https://h3geo.org/docs/).
## Installation
Install from CRAN with
```{r 'installation1', eval = FALSE}
install.packages('h3jsr')
```Install the development version from GitHub with
```{r 'installation2', eval = FALSE}
remotes::install_github("obrl-soil/h3jsr")
```> :bulb: Version (v1.3.0) contains an API revision, so some functions have new names. See the NEWS.
## Example
```{r example}
library(h3jsr)
library(sf)# where is the Brisbane Town Hall at resolution 15?
bth <- st_sfc(st_point(c(153.023503, -27.468920)), crs = 4326)
point_to_cell(bth, res = 15)# where is it at several resolutions?
point_to_cell(bth, res = seq(10, 15), simple = FALSE)# Where is the center of the hexagon over the Brisbane Town
# Hall at resolution 10?
brisbane_10 <- cell_to_point(h3_address = '8abe8d12acaffff')
brisbane_10# Is that a valid H3 address?
is_valid(h3_address = '8abe8d12acaffff')# is it a pentagon?
is_pentagon(h3_address = '8abe8d12acaffff')# is it Class III?
is_rc3(h3_address = '8abe8d12acaffff')# What is Brisbane Town Hall's base cell number?
get_base_cell(h3_address = '8abe8d12acaffff')# What is the hexagon over the Brisbane Town Hall at resolution 10?
brisbane_hex_10 <- cell_to_polygon(input = '8abe8d12acaffff', simple = FALSE)# if you're feeling fancy,
# point_to_cell(bth, res = seq(10,15)) %>%
# unlist() %>%
# h3_to_polygon(., simple = FALSE) %>%
# mapview::mapview()
```Props to Joel Gombin, who's package [`concaveman`](https://github.com/joelgombin/concaveman) provided me with the implementation inspo.
***