gbif.range
An R package to generate species range maps based on ecoregions and a user-friendly GBIF wrapper.
https://github.com/8ginette8/gbif.range
Category: Biosphere
Sub Category: Biodiversity Data Access and Management
Keywords
accepted-names ecoregions environmental-classification filtering flags gbif-api hard-limit iucn-red-list large-scale macroecology r-package range-maps species-distribution species-observations synonyms taxonomy
Keywords from Contributors
occurrence-records iucn
Last synced: about 13 hours ago
JSON representation
Repository metadata
An R package to generate ecologically-informed species range maps from occurrence data with seamless GBIF integration
- Host: GitHub
- URL: https://github.com/8ginette8/gbif.range
- Owner: 8Ginette8
- License: gpl-3.0
- Created: 2022-10-17T16:41:34.000Z (almost 4 years ago)
- Default Branch: main
- Last Pushed: 2026-08-13T07:54:57.000Z (15 days ago)
- Last Synced: 2026-08-16T18:36:17.015Z (12 days ago)
- Topics: accepted-names, ecoregions, environmental-classification, filtering, flags, gbif-api, hard-limit, iucn-red-list, large-scale, macroecology, r-package, range-maps, species-distribution, species-observations, synonyms, taxonomy
- Language: R
- Homepage: https://8ginette8.github.io/gbif.range/
- Size: 285 MB
- Stars: 39
- Watchers: 6
- Forks: 4
- Open Issues: 0
- Releases: 3
-
Metadata Files:
- Readme: README.md
- Changelog: NEWS.md
- License: LICENSE.md
README.md
gbif.range
Mapping species distribution mostly relies on expert ranges (for example, IUCN and EUFORGEN) or predictive modeling. However, expert maps remain unavailable for many rare and regional species, while modelling workflows require advanced technical expertise and highly accurate, spatially continuous occurrence data that often demand intensive error-cleaning. The gbif.range R package overcomes these limitations by providing a user-friendly, integrated workflow to generate ecologically informed range maps from sparse observations using environmental clustering and convex hulls.
To streamline data acquisition, gbif.range handles synonym-aware Global Biodiversity Information Facility (GBIF) downloads and uses dynamic geographic tiling to bypass GBIF's 100,000 record API limit without credentials. The package also automates data curation via 13 custom and configurable CoordinateCleaner filters, and constrains estimated ranges using built-in or custom terrestrial, marine, and freshwater ecoregion layers to prevent over-prediction into non-viable habitats. For large-scale workflows, a dedicated disk-based pipeline processes multi-species exports without memory limits, while built-in cross-validation and evaluation functions enable rigorous map validation against independent datasets, offering a robust, low-barrier alternative to traditional modeling approaches.
For full documentation, workflows, and examples, visit the package website.
Installation
# From CRAN
install.packages("gbif.range")
# From GitHub (development version)
remotes::install_github("8Ginette8/gbif.range", build_vignettes = TRUE)
# Load
library(gbif.range)
Quick example
# Download Panthera tigris occurrences
obs.pt <- get_gbif(sp_name = "Panthera tigris")
# Load terrestrial ecoregions and build range map
eco.terra <- read_ecoreg(ecoreg_name = "eco_terra", save_dir = tempdir())
range.tiger <- get_range(occ_coord = obs.pt,
ecoreg = eco.terra,
ecoreg_name = "ECO_NAME",
degrees_outlier = 5,
clust_pts_outlier = 4,
format = "SpatRaster")
# Plot
countries <- terra::vect(
system.file("extdata", "world_countries.shp", package = "gbif.range")
)
terra::plot(countries, col = "#bcbddc")
terra::plot(range.tiger$rangeOutput, col = "#238b45", add = TRUE, axes = FALSE, legend = FALSE)
Citation
Yohann Chauvier, Oskar Hagen, Stefan Pinkert, Camille Albouy, Fabian Fopp, Philipp Brun, Patrice Descombes, Florian Altermatt, Loic Pellissier, Katalin Csilléry. gbif.range: An R package to generate ecologically-informed species range maps from occurrence data with seamless GBIF integration. Authorea. June 30, 2025.
doi: 10.22541/au.175130858.83083354/v1
Owner metadata
- Name: Yohann Chauvier
- Login: 8Ginette8
- Email:
- Kind: user
- Description:
- Website:
- Location:
- Twitter:
- Company:
- Icon url: https://avatars.githubusercontent.com/u/43674773?v=4
- Repositories: 3
- Last ynced at: 2023-04-28T18:38:49.801Z
- Profile URL: https://github.com/8Ginette8
GitHub Events
Total
- Create event: 2
- Delete event: 12
- Issue comment event: 16
- Issues event: 5
- Pull request event: 5
- Pull request review comment event: 3
- Pull request review event: 4
- Push event: 283
- Watch event: 13
Last Year
- Create event: 2
- Delete event: 11
- Issue comment event: 7
- Issues event: 2
- Pull request event: 2
- Pull request review event: 1
- Push event: 144
- Watch event: 5
Committers metadata
Last synced: 1 day ago
Total Commits: 1,099
Total Committers: 7
Avg Commits per committer: 157.0
Development Distribution Score (DDS): 0.206
Commits in past year: 298
Committers in past year: 5
Avg Commits per committer in past year: 59.6
Development Distribution Score (DDS) in past year: 0.221
| Name | Commits | |
|---|---|---|
| Yohann Chauvier | 4****8 | 873 |
| Oskar Hagen | o****n@o****m | 137 |
| github-actions[bot] | g****] | 39 |
| Yohann Chauvier | y****r@w****h | 31 |
| Stefan Pinkert | S****t@g****e | 12 |
| Lopez Hugo | h****z@g****m | 4 |
| culi | c****f@t****o | 3 |
Committer domains:
Issue and Pull Request metadata
Last synced: 1 day ago
Total issues: 17
Total pull requests: 10
Average time to close issues: 3 months
Average time to close pull requests: 14 days
Total issue authors: 5
Total pull request authors: 4
Average comments per issue: 2.94
Average comments per pull request: 1.0
Merged pull request: 9
Bot issues: 0
Bot pull requests: 0
Past year issues: 1
Past year pull requests: 6
Past year average time to close issues: about 2 months
Past year average time to close pull requests: 5 days
Past year issue authors: 1
Past year pull request authors: 3
Past year average comments per issue: 4.0
Past year average comments per pull request: 0.5
Past year merged pull request: 6
Past year bot issues: 0
Past year bot pull requests: 0
Top Issue Authors
- ohagen (11)
- 8Ginette8 (3)
- hugolpz (1)
- karolazvdo (1)
- tif-calin (1)
Top Pull Request Authors
- hugolpz (3)
- tif-calin (3)
- ohagen (3)
- 8Ginette8 (1)
Top Issue Labels
Top Pull Request Labels
Package metadata
- Total packages: 1
-
Total downloads:
- cran: 282 last-month
- Total dependent packages: 0
- Total dependent repositories: 0
- Total versions: 1
- Total maintainers: 1
cran.r-project.org: gbif.range
Species Range Mapping from GBIF Using Ecoregion Constraints
- Homepage: https://github.com/8Ginette8/gbif.range
- Documentation: http://cran.r-project.org/web/packages/gbif.range/gbif.range.pdf
- Licenses: GPL (≥ 3)
- Latest release: 1.9.1 (published 22 days ago)
- Last Synced: 2026-08-26T23:31:42.936Z (1 day ago)
- Versions: 1
- Dependent Packages: 0
- Dependent Repositories: 0
- Downloads: 282 Last month
-
Rankings:
- Stargazers count: 7.783%
- Forks count: 11.727%
- Dependent packages count: 22.985%
- Dependent repos count: 28.389%
- Average: 31.609%
- Downloads: 87.159%
- Maintainers (1)
Dependencies
- CoordinateCleaner * depends
- R >= 4.0.0 depends
- raster * depends
- rgbif * depends
- terra * depends
- JamesIves/github-pages-deploy-action d92aa235d04922e8f08b40ce78cc5442fcfbfa2f composite
- actions/checkout v6 composite
- r-lib/actions/setup-pandoc v2 composite
- r-lib/actions/setup-r v2 composite
- r-lib/actions/setup-r-dependencies v2 composite
- actions/checkout v4 composite
- r-lib/actions/setup-r v2 composite
- r-lib/actions/setup-r-dependencies v2 composite
- actions/checkout v4 composite
- r-lib/actions/setup-r v2 composite
Score: 11.254918692828197