A multifunctional R Shiny map and data API download tool. Designed to make NEON API data accessible in RStuduio. This version is meant to be deployed locally, on your own computer or virtual machine. The CyVerse NEON Browser can be used in the CyVerse Discover Environment to download NEON data to your CyVerse Data Store.
The app can be run in RStudio or RStudio-Server (online).
The NEON Shiny Browser is an interactive tool to browse, pull, and manipulate data collected by NEON. This R Shiny app uses leaflet, neonUtilities, and nneo to create a comprehensive tool that allows users to do everything from browsing NEON sites, to finding and downloading and unzipping data products.
First, this app displays relevant features of NEON and their research on a map. Users can view and filter map features such as NEON sites, NEON domains, AOP flightpaths, and TOS locations.
Additionally, this app provides an easy, in-app alternative to NEON's data portal. Users can browse data products, view their details (e.g. description, abstract, availability), and easily download them to their computer.
The goal of this app is to simplify the NEON experience and introduce NEON's services in a simple platform that can be useful for newcomers and experienced users alike. While the NEON website will always be the ultimate destination for information, opportunities, or more advanced requests, this application is a functional tool meant to satisfy basic interactions with NEON services. Specifically, the app's unified platform hopes to simplify the NEON experience by aggregating many of the more advanced features and making them accesible to those without the time or the programming experience. For example, all downloads come stacked, meaning that the data products arrive already unzipped, joined, and grouped by table type. While one could download from the NEON Data Portal, and then use an R package to apply the same process to their downloads, that requires multiple steps and some basic knowledge of programming and R; the CyVerse NEON Browser, on the other hand, does this automatically, saving time and learning for those who want it. Similarly, a visit to the NEON website yields a data browser and interactive map in different locations (and entirely separate domains), making it potentially confusing for a newcomer to grasp the basics of NEON and be able to find all the services that augment NEON data. This tool, conversely, combines basic approximations of the map and data browser, offering similar information and capabilities from one contained platform. Through these measures, the CyVerse NEON Browser hopes to act as a complement to the structure that NEON has already created, increasing its reach and impact in the world of ecology and beyond.
The National Ecological Observatory Network is a "continental-scale ecological observation facility" that provides open data on our ecosystems. The envisioned 30-year project collects environmental data like precipitation, soil temperature, humidity, and pressure across 81 field sites (47 terrestrial and 34 aquatic) to measure the patterns and changes in our environment. With over 180 data products describing the characteristics of a diverse range of ecosystems, their data will be crucial to future studies of biology and climate change over time.
To install the tool, change your working directory, and clone from git:
cd
git clone https://github.com/cyverse-gis/NEON-Shiny-Browser
Open Rstudio or RStudio-Server in your browser.
setwd('~/NEON-Shiny-Browser')
library(shiny)
runApp()
Note: Allow pop-ups in your Browser for the app to open
Download the latest version of R and RStudio for your local or virtual machine.
In addition to shiny itself, a few packages need to be downloaded:
leaflet
andleaflet.extras
: These are responsible for the map and its features.neonUtilities
: Used to download and stack NEON data.shinythemes
,shinyWidgets
,shinyBS
, andshinyjs
: Adds themes, "pimped-up" widgets, boostrap, and JavaScript functions to the app.sf
andgeosphere
: Deal with geometries and coordinates necesary for the interactive map.jsonlite
: Deals with JSON structures.DT
anddplyr
: Help with data table manipulation.crul
: Used for making HTTP requests.
install.packages(c('shiny','leaflet','leaflet.extras','neonUtilities','shinythemes','shinyWidgets','shinyBS','shinyjs','sf','geosphere','jsonlite', 'dplyr', 'DT', 'crul'))
Note: Mac OS X currently requires that gfortran
and clang
be installed in addition to the latest version of R (> v3.5.1 "Feather Spray")
Run Docker locally or on a Virtual Machine
To build the Docker container locally:
git clone https://github.com/cyverse-gis/NEON-Shiny-Browser
cd NEON-Shiny-Browser
sudo docker build -t your-container-name:tag .
To run the Shiny-Server, you must first pull
the container from the Docker Hub
docker pull cyversevice/shiny-geospatial:neon-shiny-browser
docker run -it --rm -p 3838:3838 -e REDIRECT_URL=http://localhost:3838 -v /home/<your-username-here>/Downloads:/home/root/NEON_Downloads cyversevice/shiny-geospatial:neon-shiny-browser
The app will open in your browser at http://localhost:3838
You also need to mount a local volume to the container in order to save the downloaded data when the container expires.
This is a message from the main developer of this app, Daniel Lee. I am an intern at CyVerse. If anyone notices anything they see is wrong or want changed and improved, please create an Issue here. You can also contact my advisor, Tyson L. Swetnam.
And of course, any other feedback or suggestions would be nice. I'd love to hear reactions from anyone who would potentially use the app in the future, as ultimately the app is here to help scientists who want to use it.