terrainr

terrainr: An R package for creating immersive virtual environments - Published in JOSS (2022)

https://github.com/ropensci/terrainr

Science Score: 98.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
    Found CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
    Found 9 DOI reference(s) in README and JOSS metadata
  • Academic publication links
    Links to: joss.theoj.org
  • Committers with academic emails
  • Institutional organization owner
  • JOSS paper metadata
    Published in Journal of Open Source Software

Keywords

cran datasets dems map map-tiles mapping national-map nhd orthoimagery peer-reviewed progressr r r-package retrieve-data rstats terrainr unity unity-rendering-engine usgs
Last synced: 6 months ago · JSON representation ·

Repository

Get DEMs and orthoimagery from the USGS National Map, georeference your images and merge rasters, and visualize with Unity 3D

Basic Info
Statistics
  • Stars: 73
  • Watchers: 3
  • Forks: 9
  • Open Issues: 4
  • Releases: 17
Topics
cran datasets dems map map-tiles mapping national-map nhd orthoimagery peer-reviewed progressr r r-package retrieve-data rstats terrainr unity unity-rendering-engine usgs
Created over 5 years ago · Last pushed 7 months ago
Metadata Files
Readme Changelog Contributing License Citation Codemeta

README.Rmd

---
output: github_document
---



```{r, include = FALSE}
knitr::opts_chunk$set(
  collapse = TRUE,
  comment = "#>",
  fig.path = "man/figures/README-",
  out.width = "100%"
)
```

# terrainr: Landscape Visualization in R and Unity 


[![DOI](https://joss.theoj.org/papers/10.21105/joss.04060/status.svg)](https://doi.org/10.21105/joss.04060)
[![License: MIT](https://img.shields.io/badge/license-MIT-green)](https://choosealicense.com/licenses/mit/) [![CRAN status](https://www.r-pkg.org/badges/version/terrainr)](https://cran.r-project.org/package=terrainr) [![Lifecycle: maturing](https://img.shields.io/badge/lifecycle-maturing-blue.svg)](https://lifecycle.r-lib.org/articles/stages.html#maturing) [![codecov](https://codecov.io/gh/ropensci/terrainr/branch/main/graph/badge.svg)](https://app.codecov.io/gh/ropensci/terrainr) [![Project Status: Active – The project has reached a stable, usable state and is being actively developed.](https://www.repostatus.org/badges/latest/active.svg)](https://www.repostatus.org/#active) [![R build status](https://github.com/ropensci/terrainr/workflows/R-CMD-check/badge.svg)](https://github.com/ropensci/terrainr/actions) [![rOpenSci Review Status](https://badges.ropensci.org/416_status.svg)](https://github.com/ropensci/software-review/issues/416)



## Overview

terrainr makes it easy to retrieve elevation and base map image tiles for areas 
of interest within the United States from the 
[National Map family of APIs](https://apps.nationalmap.gov/services), and 
then process that data into larger, joined images or crop it into tiles that can 
be imported into the Unity 3D rendering engine.

There are three main utilities provided by terrainr. First, users are able to 
download data from the National Map via the `get_tiles` function, downloading 
data tiles for the area represented by an `sf` or `Raster` object:

```{r eval=FALSE}
library(terrainr)
library(sf)

location_of_interest <- tmaptools::geocode_OSM("Hyampom California")$coords

location_of_interest <- data.frame(
  x = location_of_interest[["x"]],
  y = location_of_interest[["y"]]
)

location_of_interest <- st_as_sf(
  location_of_interest, 
  coords = c("x", "y"), 
  crs = 4326
)

location_of_interest <- set_bbox_side_length(location_of_interest, 8000)

output_tiles <- get_tiles(location_of_interest,
                          services = c("elevation", "ortho"),
                          resolution = 30 # pixel side length in meters
                          )
```

Once downloaded, these images are in standard GeoTIFF or PNG formats and can be 
used as expected with other utilities:

```{r eval=FALSE}
raster::plot(raster::raster(output_tiles[["elevation"]][[1]]))
```

```{r, echo = FALSE}
knitr::include_graphics("man/figures/20210728elevation.jpg")
```

```{r eval=FALSE}
raster::plotRGB(raster::brick(output_tiles[["ortho"]][[1]]), scale = 1)
```

```{r echo=FALSE}
knitr::include_graphics("man/figures/20210728naip.jpg")
```

Finally, terrainr helps you visualize this data, both natively in R via the new
`geom_spatial_rgb` geom:

```{r eval = FALSE}
library(ggplot2)
ggplot() + 
  geom_spatial_rgb(data = output_tiles[["ortho"]],
                   aes(x = x, y = y, r = red, g = green, b = blue)) + 
  coord_sf(crs = 4326) + 
  theme_void()
```

```{r echo = FALSE}
knitr::include_graphics("man/figures/20210728ggplot.jpg")
```

As well as with the Unity 3D rendering engine, allowing you to fly or walk 
through your downloaded data sets in 3D and VR:

```{r, results = FALSE, eval=FALSE}
with_progress( # When not specifying resolution, default is 1m pixels
  output_tiles <- get_tiles(location_of_interest,
                            services = c("elevation", "ortho"))
)

merged_dem <- merge_rasters(output_tiles[["elevation"]], 
                            tempfile(fileext = ".tif"))
merged_ortho <- merge_rasters(output_tiles[["ortho"]], 
                              tempfile(fileext = ".tif"))

make_manifest(output_tiles$elevation,
              output_tiles$ortho)
```

We can then import these tiles to Unity (following the 
[Import Vignette](https://docs.ropensci.org/terrainr/articles/unity_instructions.html))
to create:

```{r echo=FALSE}
knitr::include_graphics("man/figures/20210728unity.jpg")
```

The more time intensive processing steps can all be monitored via the [progressr](https://github.com/futureverse/progressr) package, so you'll be 
more confident that your computer is still churning along and not just stalled 
out. For more information, check out [the introductory vignette](https://docs.ropensci.org/terrainr//articles/overview.html) and 
[the guide to importing your data into Unity!](https://docs.ropensci.org/terrainr//articles/unity_instructions.html)

## Citing terrainr

The United States Geological Survey provides guidelines for citing USGS data products (as
downloaded from `get_tiles`) at 
https://www.usgs.gov/faqs/how-should-i-cite-datasets-and-services-national-map .

To cite terrainr in publications please use:

> Mahoney, M. J., Beier, C. M., and Ackerman, A. C., (2022). terrainr: An R package for creating immersive virtual environments. Journal of Open Source Software, 7(69), 4060, https://doi.org/10.21105/joss.04060

A BibTeX entry for LaTeX users is:

```bibtex
  @Article{,
    year = {2022},
    publisher = {The Open Journal},
    volume = {7},
    number = {69},
    pages = {4060},
    author = {Michael J. Mahoney and Colin M. Beier and Aidan C. Ackerman},
    title = {{terrainr}: An R package for creating immersive virtual environments},
    journal = {Journal of Open Source Software},
    doi = {10.21105/joss.04060},
    url = {https://doi.org/10.21105/joss.04060},
  }
```


## Available Datasets

The following datasets can currently be downloaded using `get_tiles` or `hit_national_map_api`:

-   [3DEPElevation](https://elevation.nationalmap.gov/arcgis/rest/services/3DEPElevation/ImageServer): The USGS 3D Elevation Program (3DEP) Bare Earth DEM.
-   [USGSNAIPPlus](https://imagery.nationalmap.gov/arcgis/rest/services/USGSNAIPPlus/ImageServer/exportImage): National Agriculture Imagery Program (NAIP) and high resolution orthoimagery (HRO).
-   [nhd](https://hydro.nationalmap.gov/arcgis/rest/services/nhd/MapServer): A comprehensive set of digital spatial data that encodes information about naturally occurring and constructed bodies of surface water (lakes, ponds, and reservoirs), paths through which water flows (canals, ditches, streams, and rivers), and related entities such as point features (springs, wells, stream gauges, and dams).
-   [govunits](https://carto.nationalmap.gov/arcgis/rest/services/govunits/MapServer): Major civil areas for the Nation, including States or Territories, counties (or equivalents), Federal and Native American areas, congressional districts, minor civil divisions, incorporated places (such as cities and towns), and unincorporated places.
-   [contours](https://carto.nationalmap.gov/arcgis/rest/services/contours/MapServer): The USGS Elevation Contours service.
-   [geonames](https://carto.nationalmap.gov/arcgis/rest/services/geonames/MapServer): Information about physical and cultural geographic features, geographic areas, and locational entities that are generally recognizable and locatable by name.
-   [NHDPlus\_HR](https://hydro.nationalmap.gov/arcgis/rest/services/NHDPlus_HR/MapServer): A comprehensive set of digital spatial data comprising a nationally seamless network of stream reaches, elevation-based catchment areas, flow surfaces, and value-added attributes.
-   [structures](https://carto.nationalmap.gov/arcgis/rest/services/structures/MapServer): The name, function, location, and other core information and characteristics of selected manmade facilities.
-   [transportation](https://carto.nationalmap.gov/arcgis/rest/services/transportation/MapServer): Roads, railroads, trails, airports, and other features associated with the transport of people or commerce.
-   [wbd](https://hydro.nationalmap.gov/arcgis/rest/services/wbd/MapServer): Hydrologic Unit (HU) polygon boundaries for the United States, Puerto Rico, and the U.S. Virgin Islands.

(All descriptions above taken from the [National Map API descriptions](https://apps.nationalmap.gov/services).)

Note that sometimes these resources go offline, for reasons unrelated to anything in this package. You can see the current status of these resources [at this link](https://stats.uptimerobot.com/gxzRZFARLZ).

## Installation

You can install terrainr from CRAN via:

``` r
install.packages("terrainr")
```

Or, if you want the newest patches and features, you can install the development 
version of terrainr from [GitHub](https://github.com/ropensci/terrainr) with:

``` r
# install.packages("devtools")
devtools::install_github("ropensci/terrainr")
```

Be aware that the development version is not stable, and features that haven't
been published on CRAN may change at any time!

## Code of Conduct

Please note that this package is released with a [Contributor
Code of Conduct](https://ropensci.org/code-of-conduct/). 
By contributing to this project, you agree to abide by its terms.

[![ropensci_footer](https://ropensci.org/public_images/github_footer.png)](https://ropensci.org)

Owner

  • Name: rOpenSci
  • Login: ropensci
  • Kind: organization
  • Email: info@ropensci.org
  • Location: Berkeley, CA

JOSS Publication

terrainr: An R package for creating immersive virtual environments
Published
January 13, 2022
Volume 7, Issue 69, Page 4060
Authors
Michael J. Mahoney ORCID
Graduate Program in Environmental Science, State University of New York College of Environmental Science and Forestry, Syracuse, New York, USA
Colin M. Beier ORCID
Department of Sustainable Resources Management, State University of New York College of Environmental Science and Forestry, Syracuse, New York, USA
Aidan C. Ackerman ORCID
Department of Landscape Architecture, State University of New York College of Environmental Science and Forestry, Syracuse, New York, USA
Editor
Daniel S. Katz ORCID
Tags
R virtual reality GIS

Citation (CITATION.cff)

# -----------------------------------------------------------
# CITATION file created with {cffr} R package, v0.2.1
# See also: https://docs.ropensci.org/cffr/
# -----------------------------------------------------------
 
cff-version: 1.2.0
message: 'To cite package "terrainr" in publications use:'
type: software
license: MIT
title: 'terrainr: Landscape Visualizations in R and ''Unity'''
version: 0.5.1
doi: 10.21105/joss.04060
abstract: Functions for the retrieval, manipulation, and visualization of 'geospatial'
  data, with an aim towards producing '3D' landscape visualizations in the 'Unity'
  '3D' rendering engine. Functions are also provided for retrieving elevation data
  and base map tiles from the 'USGS' National Map <https://apps.nationalmap.gov/services/>.
authors:
- family-names: Mahoney
  given-names: Michael
  email: mike.mahoney.218@gmail.com
  orcid: https://orcid.org/0000-0003-2402-304X
preferred-citation:
  type: article
  title: 'terrainr: An R package for creating immersive virtual environments'
  authors:
  - family-names: Mahoney
    given-names: Michael J.
  - family-names: Beier
    given-names: Colin M.
  - family-names: Ackerman
    given-names: Aidan C.
  year: '2022'
  publisher:
    name: The Open Journal
  volume: '7'
  issue: '69'
  journal: Journal of Open Source Software
  doi: 10.21105/joss.04060
  url: https://doi.org/10.21105/joss.04060
  start: '4060'
repository: https://CRAN.R-project.org/package=terrainr
repository-code: https://github.com/ropensci/terrainr
url: https://docs.ropensci.org/terrainr/
contact:
- family-names: Mahoney
  given-names: Michael
  email: mike.mahoney.218@gmail.com
  orcid: https://orcid.org/0000-0003-2402-304X
keywords:
- cran
- datasets
- dems
- map
- map-tiles
- mapping
- national-map
- nhd
- orthoimagery
- peer-reviewed
- progressr
- r
- r-package
- retrieve-data
- rstats
- terrainr
- unity
- unity-rendering-engine
- usgs
references:
- type: software
  title: base64enc
  abstract: 'base64enc: Tools for base64 encoding'
  notes: Imports
  authors:
  - family-names: Urbanek
    given-names: Simon
    email: Simon.Urbanek@r-project.org
  year: '2022'
  url: https://CRAN.R-project.org/package=base64enc
- type: software
  title: httr
  abstract: 'httr: Tools for Working with URLs and HTTP'
  notes: Imports
  authors:
  - family-names: Wickham
    given-names: Hadley
    email: hadley@rstudio.com
  year: '2022'
  url: https://CRAN.R-project.org/package=httr
- type: software
  title: raster
  abstract: 'raster: Geographic Data Analysis and Modeling'
  notes: Imports
  authors:
  - family-names: Hijmans
    given-names: Robert J.
    email: r.hijmans@gmail.com
    orcid: https://orcid.org/0000-0001-5872-2872
  year: '2022'
  url: https://CRAN.R-project.org/package=raster
- type: software
  title: magick
  abstract: 'magick: Advanced Graphics and Image-Processing in R'
  notes: Imports
  authors:
  - family-names: Ooms
    given-names: Jeroen
    email: jeroen@berkeley.edu
    orcid: https://orcid.org/0000-0002-4035-0289
  year: '2022'
  url: https://CRAN.R-project.org/package=magick
  version: '>= 2.5.0'
- type: software
  title: gdalUtils
  abstract: 'gdalUtils: Wrappers for the Geospatial Data Abstraction Library (GDAL)
    Utilities'
  notes: Imports
  authors:
  - family-names: Greenberg
    given-names: Jonathan Asher
  - family-names: Mattiuzzi
    given-names: Matteo
  year: '2022'
  url: https://CRAN.R-project.org/package=gdalUtils
- type: software
  title: methods
  abstract: 'R: A Language and Environment for Statistical Computing'
  notes: Imports
  authors:
  - name: R Core Team
  location:
    name: Vienna, Austria
  year: '2022'
  url: https://www.R-project.org/
  institution:
    name: R Foundation for Statistical Computing
- type: software
  title: png
  abstract: 'png: Read and write PNG images'
  notes: Imports
  authors:
  - family-names: Urbanek
    given-names: Simon
    email: Simon.Urbanek@r-project.org
  year: '2022'
  url: https://CRAN.R-project.org/package=png
- type: software
  title: sf
  abstract: 'sf: Simple Features for R'
  notes: Imports
  authors:
  - family-names: Pebesma
    given-names: Edzer
    email: edzer.pebesma@uni-muenster.de
    orcid: https://orcid.org/0000-0001-8049-7069
  year: '2022'
  url: https://CRAN.R-project.org/package=sf
  version: '>= 1.0-5'
- type: software
  title: units
  abstract: 'units: Measurement Units for R Vectors'
  notes: Imports
  authors:
  - family-names: Pebesma
    given-names: Edzer
    email: edzer.pebesma@uni-muenster.de
    orcid: https://orcid.org/0000-0001-8049-7069
  - family-names: Mailund
    given-names: Thomas
    email: mailund@birc.au.dk
  - family-names: Kalinowski
    given-names: Tomasz
  - family-names: Ucar
    given-names: Iñaki
    email: iucar@fedoraproject.org
    orcid: https://orcid.org/0000-0001-6403-5550
  year: '2022'
  url: https://CRAN.R-project.org/package=units
- type: software
  title: grDevices
  abstract: 'R: A Language and Environment for Statistical Computing'
  notes: Imports
  authors:
  - name: R Core Team
  location:
    name: Vienna, Austria
  year: '2022'
  url: https://www.R-project.org/
  institution:
    name: R Foundation for Statistical Computing
- type: software
  title: ggplot2
  abstract: 'ggplot2: Create Elegant Data Visualisations Using the Grammar of Graphics'
  notes: Imports
  authors:
  - family-names: Wickham
    given-names: Hadley
    email: hadley@rstudio.com
    orcid: https://orcid.org/0000-0003-4757-117X
  - family-names: Chang
    given-names: Winston
    orcid: https://orcid.org/0000-0002-1576-2126
  - family-names: Henry
    given-names: Lionel
  - family-names: Pedersen
    given-names: Thomas Lin
    email: thomas.pedersen@rstudio.com
    orcid: https://orcid.org/0000-0002-5147-4711
  - family-names: Takahashi
    given-names: Kohske
  - family-names: Wilke
    given-names: Claus
    orcid: https://orcid.org/0000-0002-7470-9261
  - family-names: Woo
    given-names: Kara
    orcid: https://orcid.org/0000-0002-5125-4188
  - family-names: Yutani
    given-names: Hiroaki
    orcid: https://orcid.org/0000-0002-3385-7233
  - family-names: Dunnington
    given-names: Dewey
    orcid: https://orcid.org/0000-0002-9415-4582
  year: '2022'
  url: https://CRAN.R-project.org/package=ggplot2
- type: software
  title: testthat
  abstract: 'testthat: Unit Testing for R'
  notes: Suggests
  authors:
  - family-names: Wickham
    given-names: Hadley
    email: hadley@rstudio.com
  year: '2022'
  url: https://CRAN.R-project.org/package=testthat
- type: software
  title: covr
  abstract: 'covr: Test Coverage for Packages'
  notes: Suggests
  authors:
  - family-names: Hester
    given-names: Jim
    email: james.f.hester@gmail.com
  year: '2022'
  url: https://CRAN.R-project.org/package=covr
- type: software
  title: progressr
  abstract: 'progressr: An Inclusive, Unifying API for Progress Updates'
  notes: Suggests
  authors:
  - family-names: Bengtsson
    given-names: Henrik
    email: henrikb@braju.com
  year: '2022'
  url: https://CRAN.R-project.org/package=progressr
- type: software
  title: knitr
  abstract: 'knitr: A General-Purpose Package for Dynamic Report Generation in R'
  notes: Suggests
  authors:
  - family-names: Xie
    given-names: Yihui
    email: xie@yihui.name
    orcid: https://orcid.org/0000-0003-0645-5666
  year: '2022'
  url: https://CRAN.R-project.org/package=knitr
- type: software
  title: rmarkdown
  abstract: 'rmarkdown: Dynamic Documents for R'
  notes: Suggests
  authors:
  - family-names: Allaire
    given-names: JJ
    email: jj@rstudio.com
  - family-names: Xie
    given-names: Yihui
    email: xie@yihui.name
    orcid: https://orcid.org/0000-0003-0645-5666
  - family-names: McPherson
    given-names: Jonathan
    email: jonathan@rstudio.com
  - family-names: Luraschi
    given-names: Javier
    email: javier@rstudio.com
  - family-names: Ushey
    given-names: Kevin
    email: kevin@rstudio.com
  - family-names: Atkins
    given-names: Aron
    email: aron@rstudio.com
  - family-names: Wickham
    given-names: Hadley
    email: hadley@rstudio.com
  - family-names: Cheng
    given-names: Joe
    email: joe@rstudio.com
  - family-names: Chang
    given-names: Winston
    email: winston@rstudio.com
  - family-names: Iannone
    given-names: Richard
    email: rich@rstudio.com
    orcid: https://orcid.org/0000-0003-3925-190X
  year: '2022'
  url: https://CRAN.R-project.org/package=rmarkdown
- type: software
  title: progress
  abstract: 'progress: Terminal Progress Bars'
  notes: Suggests
  authors:
  - family-names: Csárdi
    given-names: Gábor
  - family-names: FitzJohn
    given-names: Rich
  year: '2022'
  url: https://CRAN.R-project.org/package=progress
- type: software
  title: jpeg
  abstract: 'jpeg: Read and write JPEG images'
  notes: Suggests
  authors:
  - family-names: Urbanek
    given-names: Simon
    email: Simon.Urbanek@r-project.org
  year: '2022'
  url: https://CRAN.R-project.org/package=jpeg
- type: software
  title: tiff
  abstract: 'tiff: Read and Write TIFF Images'
  notes: Suggests
  authors:
  - family-names: Urbanek
    given-names: Simon
    email: Simon.Urbanek@r-project.org
  - family-names: Johnson
    given-names: Kent
    email: kjohnson@akoyabio.com
  year: '2022'
  url: https://CRAN.R-project.org/package=tiff
- type: software
  title: brio
  abstract: 'brio: Basic R Input Output'
  notes: Suggests
  authors:
  - family-names: Hester
    given-names: Jim
    orcid: https://orcid.org/0000-0002-2739-7082
  - family-names: Csárdi
    given-names: Gábor
    email: csardi.gabor@gmail.com
  year: '2022'
  url: https://CRAN.R-project.org/package=brio

CodeMeta (codemeta.json)

{
  "@context": "https://doi.org/10.5063/schema/codemeta-2.0",
  "@type": "SoftwareSourceCode",
  "identifier": "terrainr",
  "description": "Functions for the retrieval, manipulation, and visualization of 'geospatial' data, with an aim towards producing '3D' landscape visualizations in the 'Unity' '3D' rendering engine. Functions are also provided for retrieving elevation data and base map tiles from the 'USGS' National Map <https://apps.nationalmap.gov/services/>.",
  "name": "terrainr: Landscape Visualizations in R and 'Unity'",
  "relatedLink": [
    "https://docs.ropensci.org/terrainr/",
    "https://CRAN.R-project.org/package=terrainr"
  ],
  "codeRepository": "https://github.com/ropensci/terrainr",
  "issueTracker": "https://github.com/ropensci/terrainr/issues",
  "license": "https://spdx.org/licenses/MIT",
  "version": "0.7.0",
  "programmingLanguage": {
    "@type": "ComputerLanguage",
    "name": "R",
    "url": "https://r-project.org"
  },
  "runtimePlatform": "R version 4.2.0 (2022-04-22)",
  "provider": {
    "@id": "https://cran.r-project.org",
    "@type": "Organization",
    "name": "Comprehensive R Archive Network (CRAN)",
    "url": "https://cran.r-project.org"
  },
  "author": [
    {
      "@type": "Person",
      "givenName": "Michael",
      "familyName": "Mahoney",
      "email": "mike.mahoney.218@gmail.com",
      "@id": "https://orcid.org/0000-0003-2402-304X"
    }
  ],
  "maintainer": [
    {
      "@type": "Person",
      "givenName": "Michael",
      "familyName": "Mahoney",
      "email": "mike.mahoney.218@gmail.com",
      "@id": "https://orcid.org/0000-0003-2402-304X"
    }
  ],
  "softwareSuggestions": [
    {
      "@type": "SoftwareApplication",
      "identifier": "brio",
      "name": "brio",
      "provider": {
        "@id": "https://cran.r-project.org",
        "@type": "Organization",
        "name": "Comprehensive R Archive Network (CRAN)",
        "url": "https://cran.r-project.org"
      },
      "sameAs": "https://CRAN.R-project.org/package=brio"
    },
    {
      "@type": "SoftwareApplication",
      "identifier": "covr",
      "name": "covr",
      "provider": {
        "@id": "https://cran.r-project.org",
        "@type": "Organization",
        "name": "Comprehensive R Archive Network (CRAN)",
        "url": "https://cran.r-project.org"
      },
      "sameAs": "https://CRAN.R-project.org/package=covr"
    },
    {
      "@type": "SoftwareApplication",
      "identifier": "jpeg",
      "name": "jpeg",
      "provider": {
        "@id": "https://cran.r-project.org",
        "@type": "Organization",
        "name": "Comprehensive R Archive Network (CRAN)",
        "url": "https://cran.r-project.org"
      },
      "sameAs": "https://CRAN.R-project.org/package=jpeg"
    },
    {
      "@type": "SoftwareApplication",
      "identifier": "knitr",
      "name": "knitr",
      "provider": {
        "@id": "https://cran.r-project.org",
        "@type": "Organization",
        "name": "Comprehensive R Archive Network (CRAN)",
        "url": "https://cran.r-project.org"
      },
      "sameAs": "https://CRAN.R-project.org/package=knitr"
    },
    {
      "@type": "SoftwareApplication",
      "identifier": "progress",
      "name": "progress",
      "provider": {
        "@id": "https://cran.r-project.org",
        "@type": "Organization",
        "name": "Comprehensive R Archive Network (CRAN)",
        "url": "https://cran.r-project.org"
      },
      "sameAs": "https://CRAN.R-project.org/package=progress"
    },
    {
      "@type": "SoftwareApplication",
      "identifier": "progressr",
      "name": "progressr",
      "provider": {
        "@id": "https://cran.r-project.org",
        "@type": "Organization",
        "name": "Comprehensive R Archive Network (CRAN)",
        "url": "https://cran.r-project.org"
      },
      "sameAs": "https://CRAN.R-project.org/package=progressr"
    },
    {
      "@type": "SoftwareApplication",
      "identifier": "raster",
      "name": "raster",
      "provider": {
        "@id": "https://cran.r-project.org",
        "@type": "Organization",
        "name": "Comprehensive R Archive Network (CRAN)",
        "url": "https://cran.r-project.org"
      },
      "sameAs": "https://CRAN.R-project.org/package=raster"
    },
    {
      "@type": "SoftwareApplication",
      "identifier": "rgdal",
      "name": "rgdal",
      "provider": {
        "@id": "https://cran.r-project.org",
        "@type": "Organization",
        "name": "Comprehensive R Archive Network (CRAN)",
        "url": "https://cran.r-project.org"
      },
      "sameAs": "https://CRAN.R-project.org/package=rgdal"
    },
    {
      "@type": "SoftwareApplication",
      "identifier": "rmarkdown",
      "name": "rmarkdown",
      "provider": {
        "@id": "https://cran.r-project.org",
        "@type": "Organization",
        "name": "Comprehensive R Archive Network (CRAN)",
        "url": "https://cran.r-project.org"
      },
      "sameAs": "https://CRAN.R-project.org/package=rmarkdown"
    },
    {
      "@type": "SoftwareApplication",
      "identifier": "testthat",
      "name": "testthat",
      "provider": {
        "@id": "https://cran.r-project.org",
        "@type": "Organization",
        "name": "Comprehensive R Archive Network (CRAN)",
        "url": "https://cran.r-project.org"
      },
      "sameAs": "https://CRAN.R-project.org/package=testthat"
    },
    {
      "@type": "SoftwareApplication",
      "identifier": "tiff",
      "name": "tiff",
      "provider": {
        "@id": "https://cran.r-project.org",
        "@type": "Organization",
        "name": "Comprehensive R Archive Network (CRAN)",
        "url": "https://cran.r-project.org"
      },
      "sameAs": "https://CRAN.R-project.org/package=tiff"
    }
  ],
  "softwareRequirements": {
    "1": {
      "@type": "SoftwareApplication",
      "identifier": "base64enc",
      "name": "base64enc",
      "provider": {
        "@id": "https://cran.r-project.org",
        "@type": "Organization",
        "name": "Comprehensive R Archive Network (CRAN)",
        "url": "https://cran.r-project.org"
      },
      "sameAs": "https://CRAN.R-project.org/package=base64enc"
    },
    "2": {
      "@type": "SoftwareApplication",
      "identifier": "ggplot2",
      "name": "ggplot2",
      "provider": {
        "@id": "https://cran.r-project.org",
        "@type": "Organization",
        "name": "Comprehensive R Archive Network (CRAN)",
        "url": "https://cran.r-project.org"
      },
      "sameAs": "https://CRAN.R-project.org/package=ggplot2"
    },
    "3": {
      "@type": "SoftwareApplication",
      "identifier": "grDevices",
      "name": "grDevices"
    },
    "4": {
      "@type": "SoftwareApplication",
      "identifier": "httr",
      "name": "httr",
      "provider": {
        "@id": "https://cran.r-project.org",
        "@type": "Organization",
        "name": "Comprehensive R Archive Network (CRAN)",
        "url": "https://cran.r-project.org"
      },
      "sameAs": "https://CRAN.R-project.org/package=httr"
    },
    "5": {
      "@type": "SoftwareApplication",
      "identifier": "magick",
      "name": "magick",
      "version": ">= 2.5.0",
      "provider": {
        "@id": "https://cran.r-project.org",
        "@type": "Organization",
        "name": "Comprehensive R Archive Network (CRAN)",
        "url": "https://cran.r-project.org"
      },
      "sameAs": "https://CRAN.R-project.org/package=magick"
    },
    "6": {
      "@type": "SoftwareApplication",
      "identifier": "methods",
      "name": "methods"
    },
    "7": {
      "@type": "SoftwareApplication",
      "identifier": "png",
      "name": "png",
      "provider": {
        "@id": "https://cran.r-project.org",
        "@type": "Organization",
        "name": "Comprehensive R Archive Network (CRAN)",
        "url": "https://cran.r-project.org"
      },
      "sameAs": "https://CRAN.R-project.org/package=png"
    },
    "8": {
      "@type": "SoftwareApplication",
      "identifier": "sf",
      "name": "sf",
      "version": ">= 1.0-5",
      "provider": {
        "@id": "https://cran.r-project.org",
        "@type": "Organization",
        "name": "Comprehensive R Archive Network (CRAN)",
        "url": "https://cran.r-project.org"
      },
      "sameAs": "https://CRAN.R-project.org/package=sf"
    },
    "9": {
      "@type": "SoftwareApplication",
      "identifier": "terra",
      "name": "terra",
      "provider": {
        "@id": "https://cran.r-project.org",
        "@type": "Organization",
        "name": "Comprehensive R Archive Network (CRAN)",
        "url": "https://cran.r-project.org"
      },
      "sameAs": "https://CRAN.R-project.org/package=terra"
    },
    "10": {
      "@type": "SoftwareApplication",
      "identifier": "unifir",
      "name": "unifir",
      "provider": {
        "@id": "https://cran.r-project.org",
        "@type": "Organization",
        "name": "Comprehensive R Archive Network (CRAN)",
        "url": "https://cran.r-project.org"
      },
      "sameAs": "https://CRAN.R-project.org/package=unifir"
    },
    "11": {
      "@type": "SoftwareApplication",
      "identifier": "units",
      "name": "units",
      "provider": {
        "@id": "https://cran.r-project.org",
        "@type": "Organization",
        "name": "Comprehensive R Archive Network (CRAN)",
        "url": "https://cran.r-project.org"
      },
      "sameAs": "https://CRAN.R-project.org/package=units"
    },
    "SystemRequirements": null
  },
  "fileSize": "3978.587KB",
  "citation": [
    {
      "@type": "ScholarlyArticle",
      "datePublished": "2022",
      "author": [
        {
          "@type": "Person",
          "givenName": [
            "Michael",
            "J."
          ],
          "familyName": "Mahoney"
        },
        {
          "@type": "Person",
          "givenName": [
            "Colin",
            "M."
          ],
          "familyName": "Beier"
        },
        {
          "@type": "Person",
          "givenName": [
            "Aidan",
            "C."
          ],
          "familyName": "Ackerman"
        }
      ],
      "name": "{terrainr}: An R package for creating immersive virtual environments",
      "identifier": "10.21105/joss.04060",
      "url": "https://doi.org/10.21105/joss.04060",
      "pagination": "4060",
      "@id": "https://doi.org/10.21105/joss.04060",
      "sameAs": "https://doi.org/10.21105/joss.04060",
      "isPartOf": {
        "@type": "PublicationIssue",
        "issueNumber": "69",
        "datePublished": "2022",
        "isPartOf": {
          "@type": [
            "PublicationVolume",
            "Periodical"
          ],
          "volumeNumber": "7",
          "name": "Journal of Open Source Software"
        }
      }
    }
  ],
  "releaseNotes": "https://github.com/ropensci/terrainr/blob/master/NEWS.md",
  "readme": "https://github.com/ropensci/terrainr/blob/main/README.md",
  "contIntegration": [
    "https://app.codecov.io/gh/ropensci/terrainr",
    "https://github.com/ropensci/terrainr/actions"
  ],
  "developmentStatus": [
    "https://lifecycle.r-lib.org/articles/stages.html#maturing",
    "https://www.repostatus.org/#active"
  ],
  "review": {
    "@type": "Review",
    "url": "https://github.com/ropensci/software-review/issues/416",
    "provider": "https://ropensci.org"
  },
  "keywords": [
    "r",
    "r-package",
    "cran",
    "terrainr",
    "rstats",
    "usgs",
    "map",
    "mapping",
    "national-map",
    "unity-rendering-engine",
    "unity",
    "map-tiles",
    "progressr",
    "peer-reviewed",
    "retrieve-data",
    "orthoimagery",
    "dems",
    "datasets",
    "nhd"
  ]
}

GitHub Events

Total
  • Issues event: 2
  • Watch event: 4
  • Issue comment event: 3
  • Push event: 1
Last Year
  • Issues event: 2
  • Watch event: 4
  • Issue comment event: 3
  • Push event: 1

Committers

Last synced: 7 months ago

All Time
  • Total Commits: 366
  • Total Committers: 3
  • Avg Commits per committer: 122.0
  • Development Distribution Score (DDS): 0.153
Past Year
  • Commits: 2
  • Committers: 1
  • Avg Commits per committer: 2.0
  • Development Distribution Score (DDS): 0.0
Top Committers
Name Email Commits
Mike Mahoney m****8@g****m 310
GitHub Actions a****s@g****m 55
Maëlle Salmon m****n@y****e 1
Committer Domains (Top 20 + Academic)

Issues and Pull Requests

Last synced: 6 months ago

All Time
  • Total issues: 47
  • Total pull requests: 25
  • Average time to close issues: 15 days
  • Average time to close pull requests: about 10 hours
  • Total issue authors: 9
  • Total pull request authors: 2
  • Average comments per issue: 0.85
  • Average comments per pull request: 1.2
  • Merged pull requests: 23
  • Bot issues: 0
  • Bot pull requests: 0
Past Year
  • Issues: 2
  • Pull requests: 0
  • Average time to close issues: about 2 hours
  • Average time to close pull requests: N/A
  • Issue authors: 2
  • Pull request authors: 0
  • Average comments per issue: 1.0
  • Average comments per pull request: 0
  • Merged pull requests: 0
  • Bot issues: 0
  • Bot pull requests: 0
Top Authors
Issue Authors
  • mikemahoney218 (40)
  • alanfarahani (1)
  • fred-watson (1)
  • edwardlavender (1)
  • rsbivand (1)
  • JosiahParry (1)
  • dongyiyi (1)
  • moldach (1)
  • bac3917 (1)
Pull Request Authors
  • mikemahoney218 (25)
  • maelle (2)
Top Labels
Issue Labels
reviewer comment (19) fixed in feature branch (16) wontfix (6) help wanted (1) good first issue (1) duplicate (1)
Pull Request Labels
reviewer comment (1)

Packages

  • Total packages: 1
  • Total downloads:
    • cran 605 last-month
  • Total dependent packages: 1
  • Total dependent repositories: 2
  • Total versions: 14
  • Total maintainers: 1
cran.r-project.org: terrainr

Landscape Visualizations in R and 'Unity'

  • Versions: 14
  • Dependent Packages: 1
  • Dependent Repositories: 2
  • Downloads: 605 Last month
Rankings
Stargazers count: 5.5%
Forks count: 8.0%
Average: 14.5%
Dependent packages count: 18.1%
Dependent repos count: 19.2%
Downloads: 21.6%
Maintainers (1)
Last synced: 6 months ago

Dependencies

DESCRIPTION cran
  • base64enc * imports
  • ggplot2 * imports
  • glue * imports
  • grDevices * imports
  • httr * imports
  • magick >= 2.5.0 imports
  • methods * imports
  • png * imports
  • rlang * imports
  • sf >= 1.0 imports
  • terra * imports
  • unifir * imports
  • units * imports
  • brio * suggests
  • covr * suggests
  • jpeg * suggests
  • knitr * suggests
  • progress * suggests
  • progressr * suggests
  • raster * suggests
  • rgdal * suggests
  • rmarkdown * suggests
  • testthat * suggests
  • tiff * suggests
.github/workflows/check.yaml actions
  • actions/cache v2 composite
  • actions/checkout v2 composite
  • actions/upload-artifact main composite
  • r-lib/actions/setup-pandoc v1 composite
  • r-lib/actions/setup-r v1 composite
.github/workflows/cron-check.yaml actions
  • actions/cache v2 composite
  • actions/checkout v2 composite
  • actions/upload-artifact main composite
  • r-lib/actions/setup-pandoc v1 composite
  • r-lib/actions/setup-r v1 composite
.github/workflows/drat.yml actions
  • mikemahoney218/upload-to-drat-repo v0.2 composite
.github/workflows/pr-commands.yaml actions
  • actions/checkout v2 composite
  • r-lib/actions/pr-fetch v1 composite
  • r-lib/actions/pr-push v1 composite
  • r-lib/actions/setup-r v1 composite
.github/workflows/run-examples.yaml actions
  • actions/cache v2 composite
  • actions/checkout v2 composite
  • actions/upload-artifact main composite
  • r-lib/actions/setup-pandoc v1 composite
  • r-lib/actions/setup-r v1 composite
.github/workflows/test-coverage.yaml actions
  • actions/cache v2 composite
  • actions/checkout v2 composite
  • r-lib/actions/setup-pandoc v1 composite
  • r-lib/actions/setup-r v1 composite