Skip to contents

gdalraster 1.10.9200 (dev)

gdalraster 1.10.0

CRAN release: 2024-03-26

System requirements

  • GDAL built against GEOS is now required

GDAL VSI for operations on virtual file systems

Other stand-alone functions

  • add ogrinfo(): wrapper of the ogrinfo command-line utility, retrieve information about a vector data source and potentially edit data with SQL statements (GDAL >= 3.7)
  • add ogr2ogr(): wrapper of the ogr2ogr command-line utility, convert vector data between different formats
  • add g_transform(): apply a coordinate transformation to a WKT geometry
  • add geos_version(): get version information for the GEOS library in use by GDAL
  • add push_error_handler(): wrapper for CPLPushErrorHandler() in the GDAL Common Portability Library
  • add pop_error_handler(): wrapper for CPLPopErrorHandler() in the GDAL Common Portability Library
  • calc(): the argument usePixelLonLat is deprecated as unnecessary, variables pixelLon / pixelLat are now auto-detected if used in the calc expression; small performance improvement from computing pixelY only when needed
  • add optional argument quiet in several functions to configure progress reporting (#237)
  • make the dataset management functions quieter (#282)
  • gdal_formats() now returns a data frame with the supported raster and vector formats, and information about the capabilities of each format driver


  • new(): assign default variable names in the constructor if names are not given


  • src/geos_wkt.cpp, src/transform.cpp, src/wkt_conv.cpp: deallocate some OGR geometry and OSR spatial ref objects to fix memory leaks
  • add more unit tests for geometry operations using GEOS via GDAL headers
  • GDALRaster::getMetadataDomainList(): deallocate the returned string list to avoid memory leak
  • GDALRaster::close(): clear cache if needed, and check the return values of GDALClose() and GDALFlushCache() if GDAL >= 3.7
  • add back proj-include and proj-lib, the latter needed in some cases for source install on macOS; rework for the system requirement of GDAL built against GEOS
  • remove internal has_geos() checks and update the documentation, since GDAL with GEOS is now required
  • add .editorconfig file and bulk reformat code style
  • fix up R code for lintr and add .lintr file
  • mass replace NULL -> nullptr in C++ code
  • format diagnostic messages throughout for consistency and follow guidelines given in “Writing R Extensions”
  • clean up temp files in the examples throughout

gdalraster 1.9.0

CRAN release: 2024-02-25

Behavior change

  • remove OSR_DEFAULT_AXIS_MAPPING_STRATEGY=TRADITIONAL_GIS_ORDER from _gdal_init() (#209), since this could give a different SRS comparison result depending on GDAL version in cases where axis mapping matters and the default options in OSRIsSameEx() are used

GDAL VSI for operations on virtual file systems


  • GDALRaster$new(): add a constructor for passing dataset open options

Stand-alone functions

  • add footprint(): wrapper of the gdal_footprint command-line utility, compute footprint of a raster (GDAL >= 3.8)
  • read_ds(): add as_list argument for option to return multi-band output in list form; attach attribute gis to the output, a list containing bbox, dimension and spatial reference (thanks to input from @mdsumner #185)
  • plot_raster(): accept pixel data in list form (band vectors as list elements), and make use of gis attribute if present (thanks to input from @mdsumner #185)
  • srs_is_same(): add arguments for criterion, ignore_axis_mapping and ignore_coord_epoch



  • add _check_gdal_filename(): minimal filename check and UTF-8
  • add _get_physical_RAM(): wrapper for CPLGetUsablePhysicalRAM() for internal use
  • set test coverage target minimum to 90%, codecov range: 70..90 (previously 80%, 60..80)

gdalraster 1.8.0

CRAN release: 2024-01-27


  • libxml2 is listed in SystemRequirements since it is required by the imported package xml2


  • read_only=TRUE is now an optional default in the class constructor
  • add clearStatistics(): clear statistics on PAM supported datasets (GDAL >= 3.2)

Stand-alone functions


  • example code for calc() using Landsat bands should have applied scale/offset as given in the .json metadata - this has been corrected
  • add AWS_REGION, and a section for SOZip to GDAL Config Quick Ref
  • update documentation and examples throughout for default read_only=TRUE in the constructor for GDALRaster
  • add translate() and warp() in Raster API Tutorial


  • remove parts of PROJ config that were unneeded since gdalraster only uses PROJ via GDAL headers; use autoconf macros for compiler invocations; get the PROJ data directory from pkg-config if possible; add action-if-cross-compiling argument (#190 and #197; thanks to Simon Urbanek for debugging an initial issue and providing helpful feedback)
  • get GDAL libs from pkg-config on Windows when possible (#125 thanks to @kalibera)
  • translate() and warp(): close the output dataset before closing source dataset(s) in case the output is VRT
  • switch to using the R convention for x.x.x.9000 development versioning

gdalraster 1.7.0

CRAN release: 2023-11-29

GDAL API stand-alone functions

  • add polygonize(): create a polygon feature layer from raster data, wrapper for GDALPolygonize in the GDAL Algorithms API.
  • add rasterize(): burn vector geometries (points, lines, or polygons) into a raster, wrapper for the gdal_rasterize command-line utility
  • add buildVRT(): build a GDAL virtual raster mosaic from a list of datasets, wrapper for the gdalbuildvrt command-line utility
  • add translate(): convert raster data between different formats, wrapper for the gdal_translate command-line utility
  • make t_srs optional in warp()
  • the GDAL configuration option TRADITIONAL_GIS_ORDER=OSR_DEFAULT_AXIS_MAPPING_STRATEGY is now set on package load



  • add src/ogr_util.cpp and src/ogr_util.h: OGR utility functions for vector data sources
  • src/gdal_exp.cpp: additional error handling in several wrapper functions, increased test coverage

gdalraster 1.6.0

CRAN release: 2023-10-27


  • GDAL >= 2.4.0 (previously >= 2.3.0)
  • package xml2 is now required (previously in Suggests)
  • package gt has been added to Suggests (required for displayRAT())


  • add methods for Raster Attribute Tables: getDefaultRAT(), setDefaultRAT()
  • add getDefaultHistogram(): fetch default raster histogram for a band
  • add getHistogram(): compute raster histogram for a band
  • add getMinMax(): compute min/max for a raster band
  • add getMetadataDomainList(): get a list of metadata domains for a dataset or raster band
  • fix getMetadataItem() for a specific domain at dataset level (#109)

GDAL API stand-alone functions

  • add buildRAT(): compute for a raster band the set of unique pixel values and their counts, and build a GDAL Raster Attribute Table as data frame
  • add displayRAT(): generate a presentation Raster Attribute Table, showing colors if the table contains RGB columns
  • add gdal_formats(): report the supported raster formats
  • add getCreationOptions(): get the list of creation options of a raster format
  • add copyDatasetFiles(): copy all the files associated with a dataset
  • add deleteDataset(): delete a dataset in a format-specific way
  • add renameDataset(): rename a dataset in a format-specific way
  • add some missing error checks in src/gdal_exp.cpp (#104)


  • argument incr for the count increment in CmbTable::update() can be zero


  • use uint64_t for the count accumulator (previously long long) and make explicit the return cast in get_count() (no user-visible changes)
  • slightly faster update

Other miscellaneous


gdalraster 1.5.0

CRAN release: 2023-09-25


  • add methods for color tables: getColorTable(), getPaletteInterp(), setColorTable()
  • add getRasterColorInterp(), setRasterColorInterp(): get/set color interpretation for raster bands
  • add getDescription(), setDescription(): get/set description for raster band objects
  • add flushCache(): flush all write cached data to disk
  • add getFileList(): returns a list of files forming the dataset
  • add infoAsJSON(): returns output of the gdalinfo command-line utility as a JSON-formatted string
  • new(): add a warning in the class constructor if the raster has an int64 data type (would be handled as double for now)

GDAL API stand-alone functions


  • add updateFromMatrixByRow(): update the hash table from a matrix having integer combinations arranged in rows
  • add asMatrix(): return the combinations table as a numeric matrix (alternative to asDataFrame())

Bug fix

  • warp() caused segfault if proj.db could not be found (#96)

Other miscellaneous

  • plot_raster(): default value of the legend argument has been changed to FALSE; legend can now use a color table for continuous data; add argument maxColorValue (e.g., to use RGB 0:255 instead of 0:1 in col_tbl)
  • bbox_from_wkt(), bbox_to_wkt(): add arguments extend_x, extend_y
  • on Windows, reset GDAL environment variables on package unload if they were previously set on load
  • add inst/extdata/storml_tcc.tif: example dataset of NLCD Tree Canopy Cover
  • update the package vignette for color tables and raster display

gdalraster 1.4.0

CRAN release: 2023-08-29

  • add dem_proc(): wrapper for the gdaldem command-line utility to generate DEM derivatives

  • add the following set methods in class GDALRaster: setMetadataItem(), setUnitType(), setScale(), setOffset()

  • add GDALRaster$buildOverviews(): build raster overviews

  • add GDALRaster$dim(): returns a vector of xsize, ysize, nbands

  • transform_xy() and inv_project(): pts can be a data frame or matrix

  • plot_raster() now accepts a GDALRaster object for the data argument

  • plot_raster(): make the legend narrower and add argument digits to format legend labels when raster data are floating point

  • add test suite and code coverage report

gdalraster 1.3.0

CRAN release: 2023-06-29

  • GDALRaster::read(): data are now read as R integer type when possible for the raster data type (#23)

  • add fillNodata(): wrapper for GDALFillNodata() in the GDAL Algorithms API

  • add read_ds(): convenience wrapper for GDALRaster$read()

  • add plot_raster(): display raster data using base R graphics

  • add get_cache_used(): wrapper for GDALGetCacheUsed64() with return value in MB

  • add GDALRaster$getOverviewCount(): return the number of overview layers available

  • GDALRaster$info(): drop -nomd argument from the internal call

  • bbox_from_wkt(): return NA if creation of the geometry object fails (#27)

  • fix GDALRaster$getMetadata(): requesting band-level metadata for a domain other than the default metadata domain was returning dataset-level metadata instead

  • add vignette containing an R port of the GDAL Raster API tutorial

  • add description of the GDAL_RASTERIO_RESAMPLING configuration option in the documentation for GDALRaster$read()

  • add web article on the GDAL block cache and configuration of GDAL_CACHEMAX

gdalraster 1.2.0

CRAN release: 2023-05-28

  • starting at v. 1.2.0, gdalraster will require R >= 4.2.0

  • fix: check for GEOS availability in bbox geometry functions

  • fix: wrong array dimensions in read() (#5). Starting at v. 1.2.0, read() will return vector instead of matrix which better matches the concept of a native GDAL-like interface (thanks to Michael Sumner).

  • add: has_geos() exported to R

  • add: srs_is_same() - wrapper for OSRIsSame() in the GDAL Spatial Reference System C API

  • documentation - minor edits throughout to improve clarity

gdalraster 1.1.1

CRAN release: 2023-05-24

  • Initial public release.