Learn R Programming

Key information about version 0.99.0 and upcoming versions of elevatr

Several major changes have been made to elevatr in response to the retirement of legacy spatial packages (see https://r-spatial.org/r/2023/05/15/evolution4.html for details). Version 0.99.0 has switched to using sf and terra for all data handling; however, in this version a raster RasterLayer is still returned from get_elev_raster(). Additional changes are planned for version 1+, most notably the return for get_elev_raster() will be a terra SpatRaster. Please plan accordingly for your analyses and/or packages account for this change.

elevatr

An R package for accessing elevation data from various sources

The elevatr package currently provides access to elevation data from AWS Open Data Terrain Tiles and the Open Topography Global datasets API for raster digital elevation models. For point elevation data,the USGS Elevation Point Query Service) may be used or the point elevations may be derived from the AWS Tiles. Additional elevation data sources may be added as they come available.

Currently this package includes just two primary functions to access elevation web services:

  • get_elev_point(): Get point elevations using the USGS Elevation Point Query Service (for the US Only) or using the AWS Terrain Tiles (global). This will accept a data frame of x (long) and y (lat), a Simple Features object, or terra SpatRaster as input. A Simple Features object is returned of the point locations and elevations.
  • get_elev_raster(): Get elevation data as a raster (e.g. a Digital Elevation Model) from the AWS Open Data Terrain Tiles or Open Topography Global datasets. Other sources may be added later. This will accept a data frame of of x (long) and y (lat) or any sf or terra SpatRaster object as input and will return a terra SpatRaster object of the elevation. The extent of the SpatRaster is the full tiles that cover the bounding box of the input spatial data, but may be clipped to the shape or bounding box of the input locations.

Installation

Version 0.99.0 of this package is currently available from CRAN and may be installed by:

install.packages("elevatr")

The development version (this repo) may installed with devtools:

library(devtools)
install_github("jhollist/elevatr")

Contributions and Use Cases

As elevatr is getting more widely used, there have been some great contributions, use cases, and additional packages that have come from the user community. If you have one you’d like to share, let me know and I will gladly add it. Here are some of the ones that I have seen. Thank you all!

Attribution

Mapzen terrain tiles (which supply the AWS source) contain 3DEP, SRTM, and GMTED2010 content courtesy of the U.S. Geological Survey and ETOPO1 content courtesy of U.S. National Oceanic and Atmospheric Administration. The Open Topography API provide access to the SRTM and the ALOS World 3D datasets. See https://opentopography.org/ for details.

Repositories

The source code for this repository is maintained at https://github.com/jhollist/elevatr which is also mirrored at https://github.com/usepa/elevatr

EPA Disclaimer

The United States Environmental Protection Agency (EPA) GitHub project code is provided on an “as is” basis and the user assumes responsibility for its use. EPA has relinquished control of the information and no longer has responsibility to protect the integrity , confidentiality, or availability of the information. Any reference to specific commercial products, processes, or services by service mark, trademark, manufacturer, or otherwise, does not constitute or imply their endorsement, recommendation or favoring by EPA. The EPA seal and logo shall not be used in any manner to imply endorsement of any commercial product or activity by EPA or the United States Government.

Copy Link

Version

Install

install.packages('elevatr')

Monthly Downloads

3,446

Version

0.99.0

License

MIT + file LICENSE

Issues

Pull Requests

Stars

Forks

Last Published

September 12th, 2023

Functions in elevatr (0.99.0)

lake

SpatialPolygonsDataFrame of Lake Sunapee
latlong_to_tilexy

function to convert lat long to xyz tile with decimals rounding to tile occurs in get_tilexy
elevatr

Access elevation data from the web
get_elev_point

Get Point Elevation
get_opentopo

Get a digital elevation model from the Open Topography SRTM Version 3
get_elev_raster

Get Raster Elevation
merge_rasters

Merge Rasters
clip_it

function to clip the DEM
loc_check

function to check input type and projection. All input types convert to a SpatialPointsDataFrame for point elevation and bbx for raster.
get_tilexy

function to get a data.frame of all xyz tiles to download
bbox_to_sf

Assumes geographic projection sf bbox to poly
estimate_raster_size

Estimate download size of DEMs
get_epqs

Get point elevation data from the USGS Elevation Point Query Service
get_aws_points

Get point elevation data from the AWS Terrain Tiles
get_opentopo_key

OpenTopo Key
pt_df

Small data frame of xy locations
get_aws_terrain

Get a digital elevation model from the AWS Terrain Tiles
proj_expand

function to project bounding box and if needed expand it
set_opentopo_key

Store OpenTopography Key
sf_big

A sf POINT dataset of random points