Skip to contents

gdalraster 1.10.9130 (dev)

  • add _has_spatialite() for internal use (2024-04-29)

  • ogr2ogr(): add argument open_options to support options on the source dataset (2024-04-28)

  • (internal) improve the check for "-json" as a cl_arg to ogrinfo() (2024-04-23)

  • support multiband output in calc() (#319) (2024-04-23)

  • vsi_rmdir(): add argument recursive, TRUE to delete the directory and its content (2024-04-21)

  • vsi_mkdir(): add argument recursive, TRUE to create the directory and its ancestors (2024-04-21)

  • fix vsi_mkdir(): the file mode was set incorrectly because mode was not passed correctly as octal literal. mode is now passed as a character string containing the file mode as octal (2024-04-21)

  • support I/O of Byte raster as R raw type; add the setting readByteAsRaw as a field in class GDALRaster; add argument as_raw in read_ds() (#314, thanks to @mdsumner) (2024-04-19)

  • add GDALRaster::getActualBlockSize(): retrieve the actual block size for a given block offset (2024-04-19)

  • add GDALRaster::getProjection(): equivalent to GDALRaster::getProjectionRef() (consistent with osgeo.gdal.Dataset.getProjection() / osgeo.gdal.Dataset.getProjectionRef() in the GDAL Python API) (2024-04-14)

  • buildRAT(): if the input raster is an object of class GDALRaster, use it by reference rather than instantiating another GDALRaster object internally (2024-04-09)

  • add GDALRaster::setFilename(): set the filename of an unitialized GDALRaster object, currently undocumented (2024-04-08)

  • add GDALRaster::_getGDALDatasetH(): get the GDAL dataset handle for internal use (2024-04-08)

  • add vsi_set_path_option(): set a path specific option for a given path prefix, e.g., credential setting for a virtual file system (GDAL >= 3.6) (2024-04-08)

  • add vsi_clear_path_options(): clear path specific configuration options previously set with vsi_set_path_option() (GDAL >= 3.6) (2024-04-08)

  • new additional geometry functions operating on WKT (GEOS via GDAL headers): g_is_empty(), g_is_valid(), g_intersects(), g_equals(), g_disjoint(), g_touches(), g_contains(), g_within(), g_crosses(),g_overlaps(), g_intersection(), g_union(), g_difference(), g_sym_difference(), g_distance(), g_length(), g_area(), g_centroid() (2024-03-30)

  • add bbox_transform(): transform a bounding box to a different projection (2024-03-30)

  • g_transform(): now uses OGR_GeomTransformer_Create() and OGR_GeomTransformer_Transform() in the GDAL API, enhanced version of OGR_G_Transform(); add arguments wrap_date_line and date_line_offset (2024-03-30)

  • GDAL >= 3.1.0 is now required (previously >= 2.4.0) (2024-03-30)

  • add g_name(): extract the geometry type name from a WKT geometry (2024-03-28)

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

CmbTable-class

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

Internal

  • 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
  • configure.ac: 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-class

  • 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

Documentation

Internal

  • 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

Dependencies

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

GDALRaster-class

  • 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

Documentation

  • 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

Internal

  • configure.ac: 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

Documentation

Internal

  • 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

Dependencies

  • 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())

GDALRaster-class

  • 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)

CmbTable-class

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

RunningStats-class

  • 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

Documentation

gdalraster 1.5.0

CRAN release: 2023-09-25

GDALRaster-class

  • 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

CmbTable-class

  • 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.