gdalraster is an R interface to the Raster API of the Geospatial Data Abstraction Library (GDAL). Calling signatures resemble those of the native C, C++ and Python APIs provided by the GDAL project.
Bindings to GDAL are implemented in the exposed C++ class GDALRaster
along with several stand-alone
functions, supporting:
gdalwarp
wrapper for reprojectionAdditional functionality includes:
RunningStats
calculates mean and variance in one pass, and tracks the min, max, sum,
and count (i.e., summary statistics on a data stream). The input data
values are not stored in memory, so this class can be used to compute
statistics for very large data streams.CmbTable
identifies and counts unique combinations of integer values using a hash
table.combine()
overlays multiple rasters so that a unique ID is assigned to each unique
combination of input values. Pixel counts for each unique combination
are obtained, and combination IDs are optionally written to an output
raster.calc()
evaluates an R expression for each pixel in a raster layer or stack of
layers. Individual pixel coordinates are available as variables in the R
expression, as either x/y in the raster projected coordinate system or
inverse projected longitude/latitude.plot_raster()
displays raster data using base R graphics.gdalraster may be suitable for applications that primarily need low-level raster I/O or prefer a direct GDAL API. The additional functionality is somewhat aimed at thematic data analysis but may have other utility.
Install the released version from CRAN with:
install.packages("gdalraster")
CRAN provides pre-compiled binary packages for Windows and macOS. These do not require any separate installation of external libraries for GDAL and PROJ.
GDAL (>= 2.4.0, built against GEOS), PROJ (>= 4.8.0), and sqlite3 are required.
On Ubuntu, recent versions of geospatial libraries can be installed from the ubuntugis-unstable PPA with the following commands:
sudo add-apt-repository ppa:ubuntugis/ubuntugis-unstable
sudo apt update
sudo apt install libgdal-dev libgeos-dev libproj-dev libsqlite3-dev
The releases in ubuntugis-unstable generally work well and are more up-to-date, but the less recent versions in ubuntugis-stable could be used instead.
Package sf provides helpful instructions for installing the geospatial libraries on other Linux distributions.
With system requirements met, install gdalraster from CRAN:
install.packages("gdalraster")
Or install the development version from GitHub using package remotes:
::install_github("USDAForestService/gdalraster") remotes
RTools is needed to install from source on Windows. RTools since version 4.2 includes GDAL, PROJ and all other dependent libraries that are needed to compile gdalraster. Note that CRAN releases periodic revisions to RTools that often include updates to the libraries as new versions become available. For example, the 5863 revision of RTools 4.3 contains GDAL 3.7.2 and PROJ 9.3.0.
With RTools installed:
# Install the development version from GitHub
::install_github("USDAForestService/gdalraster") remotes
GDAL and PROJ can be installed with Homebrew:
brew install pkg-config gdal proj
Then in R, configure.args
is needed:
# Install the development version from GitHub
::install_github("USDAForestService/gdalraster", configure.args = "--with-proj-lib=$(brew --prefix)/lib/") remotes