Access Elevation Data from Various APIs

Several web services are available that provide access to elevation data. This package provides access to several of those services and returns elevation data either as a SpatialPointsDataFrame from point elevation services or as a raster object from raster elevation services. Currently, the package supports access to the Mapzen Elevation Service <>, Mapzen Terrain Service <>, Amazon Web Services Terrain Tiles <> and the USGS Elevation Point Query Service <>.

Travis Appveyor CRAN RStudio mirrordownloads CoverageStatus DOI


An R package for accessing elevation data from various sources

The elevatr package currently provides access to elevation data from from Mapzen (Mapzen Tile Service for raster digital elevation models. For point elevation data, either the Mapzen Elevation Service or the USGS Elevation Point Query Service) may be used. Additional elevation data sources may be added.

Current plan for this package includes just two functions to access elevation web services:

  • get_elev_point(): Get point elevations using the Mapzen Elevation Service or the USGS Elevation Point Query Service (for the US Only) . This will accept a data frame of x (long) and y (lat) or a SpatialPoints/SpatialPointsDataFame as input. A SpatialPointsDataFrame is returned.
  • get_elev_raster(): Get elevation data as a raster (e.g. a Digital Elevation Model) from the Mapzen Terrain GeoTIFF Service. Other sources may be added later. This will accept a data frame of of x (long) and y (lat) or any sp or raster object as input and will return a raster object of the elevation tiles that cover the bounding box of the input spatial data.


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


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


API Keys

The elevatr packages will look for API keys stored as environment variables. Currently the only API key required is from Mapzen. Go to and create a new key. Copy this key and add to your .Renviron file. This can be done using the method suggested here. For example:

    file=file.path(normalizePath("~/"), ".Renviron"),

You will need to restart R, but once the key is there you are good to go on that machine. elevatr will access the key via Sys.getenv("mapzen_key")


Mapzen terrain tiles 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 source code for this repository is maintained at which is also mirrored at

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.


Reference manual

It appears you don't have a PDF plugin for this browser. You can click here to download the reference manual.


0.1.4 by Jeffrey Hollister, 4 months ago

Report a bug at

Browse source code at

Authors: Jeffrey Hollister [aut, cre], Tarak Shah [ctb]

Documentation:   PDF Manual  

CC0 license

Imports sp, raster, httr, jsonlite, progress, ratelimitr

Suggests testthat, knitr, rmarkdown, formatR, rgdal

See at CRAN