Changelog
Source:NEWS.md
gdalraster 1.10.9130 (dev)
add
_has_spatialite()
for internal use (2024-04-29)ogr2ogr()
: add argumentopen_options
to support options on the source dataset (2024-04-28)(internal) improve the check for
"-json"
as acl_arg
toogrinfo()
(2024-04-23)vsi_rmdir()
: add argumentrecursive
,TRUE
to delete the directory and its content (2024-04-21)vsi_mkdir()
: add argumentrecursive
,TRUE
to create the directory and its ancestors (2024-04-21)fix
vsi_mkdir()
: the file mode was set incorrectly becausemode
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 settingreadByteAsRaw
as a field in classGDALRaster
; add argumentas_raw
inread_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 toGDALRaster::getProjectionRef()
(consistent withosgeo.gdal.Dataset.getProjection()
/osgeo.gdal.Dataset.getProjectionRef()
in the GDAL Python API) (2024-04-14)buildRAT()
: if the input raster is an object of classGDALRaster
, use it by reference rather than instantiating anotherGDALRaster
object internally (2024-04-09)add
GDALRaster::setFilename()
: set the filename of an unitializedGDALRaster
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 withvsi_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 usesOGR_GeomTransformer_Create()
andOGR_GeomTransformer_Transform()
in the GDAL API, enhanced version ofOGR_G_Transform()
; add argumentswrap_date_line
anddate_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
GDAL VSI for operations on virtual file systems
- add
vsi_get_fs_prefixes()
: get the list of prefixes for virtual file system handlers currently registered - add
vsi_get_fs_options()
: get the list of options associated with a virtual file system handler (for setting withset_config_option()
) - add
vsi_supports_rnd_write()
andvsi_supports_seq_write()
: test whether the filesystem supports random write or sequential write, conditional on whether a local temp file is allowed before uploading to the target location - add
vsi_get_disk_free_space()
: return the free disk space available on the filesystem - fixed misspelled argument in
vsi_copy_file()
andvsi_sync()
(#233)
Other stand-alone functions
- add
ogrinfo()
: wrapper of theogrinfo
command-line utility, retrieve information about a vector data source and potentially edit data with SQL statements (GDAL >= 3.7) - add
ogr2ogr()
: wrapper of theogr2ogr
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 forCPLPushErrorHandler()
in the GDAL Common Portability Library - add
pop_error_handler()
: wrapper forCPLPopErrorHandler()
in the GDAL Common Portability Library -
calc()
: the argumentusePixelLonLat
is deprecated as unnecessary, variablespixelLon
/pixelLat
are now auto-detected if used in the calc expression; small performance improvement from computingpixelY
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
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 ofGDALClose()
andGDALFlushCache()
if GDAL >= 3.7 -
configure.ac
: add backproj-include
andproj-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 inOSRIsSameEx()
are used
GDAL VSI for operations on virtual file systems
- add
vsi_copy_file()
: wrapper forVSICopyFile()
- add
vsi_curl_clear_cache()
: wrapper forVSICurlClearCache()
andVSICurlPartialClearCache()
- add
vsi_mkdir()
: wrapper forVSIMkdir()
- add
vsi_read_dir()
: wrapper forVSIReadDirEx()
- add
vsi_rename()
: wrapper forVSIRename()
- add
vsi_rmdir()
: wrapper forVSIRmdir()
- add
vsi_stat()
: wrapper forVSIStatExL()
- add
vsi_sync()
: wrapper forVSISync()
- add
vsi_unlink()
: wrapper forVSIUnlink()
- add
vsi_unlink_batch()
: wrapper forVSIUnlinkBatch()
Stand-alone functions
- add
footprint()
: wrapper of thegdal_footprint
command-line utility, compute footprint of a raster (GDAL >= 3.8) -
read_ds()
: addas_list
argument for option to return multi-band output in list form; attach attributegis
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 ofgis
attribute if present (thanks to input from @mdsumner #185) -
srs_is_same()
: add arguments forcriterion
,ignore_axis_mapping
andignore_coord_epoch
Documentation
- organize the website reference index
- add Microsoft Azure information in GDAL Config Quick Reference
- update DESCRIPTION
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
- add
addFilesInZip()
: create/append to Seek-Optimized ZIP files (GDAL >= 3.7) -
plot_raster()
: now uses georeferenced coordinates by default instead of pixel/line (#184 thanks to @mdsumner)
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 forGDALRaster
- add
translate()
andwarp()
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 frompkg-config
if possible; addaction-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()
andwarp()
: 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 forGDALPolygonize
in the GDAL Algorithms API. - add
rasterize()
: burn vector geometries (points, lines, or polygons) into a raster, wrapper for thegdal_rasterize
command-line utility - add
buildVRT()
: build a GDAL virtual raster mosaic from a list of datasets, wrapper for thegdalbuildvrt
command-line utility - add
translate()
: convert raster data between different formats, wrapper for thegdal_translate
command-line utility - make
t_srs
optional inwarp()
- the GDAL configuration option
TRADITIONAL_GIS_ORDER=OSR_DEFAULT_AXIS_MAPPING_STRATEGY
is now set on package load
Documentation
- add GDAL Config Quick Reference to vignettes
-
warp()
has additional documentation covering several processing options - add the
COMPRESS_OVERVIEW
configuration option to the documentation forGDALRaster::buildOverviews()
- add
str()
of theGDALRaster
object in the Raster API Tutorial - add display of the EVT raster itself along with its attribute table in Raster Attribute Tables
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)
RunningStats-class
- use
uint64_t
for the count accumulator (previouslylong long
) and make explicit the return cast inget_count()
(no user-visible changes) - slightly faster update
Other miscellaneous
-
plot_raster()
: normalize legend correctly forminmax_def
andminmax_pct_cut
(#131)
Documentation
- add vignette Raster Attribute Tables
- add notes for
RunningStats-class
- update vignette Raster API Tutorial with
gdal_formats()
andgetCreationOptions()
- update installation instructions in README
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 thegdalinfo
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
bandCopyWholeRaster()
: wrapper forGDALRasterBandCopyWholeRaster()
, efficiently copy a whole raster band - add
createColorRamp()
: wrapper forGDALCreateColorRamp()
, automatically create a ramp from one color to another - add
sieveFilter()
: wrapper forGDALSieveFilter()
in the Algorithms API, remove small raster polygons - add PROJ utility functions:
proj_version()
,proj_search_paths()
,proj_networking()
(via GDAL headers) - add
g_buffer()
: compute buffer of a WKT geometry (GEOS convenience function via GDAL headers)
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 toasDataFrame()
)
Other miscellaneous
-
plot_raster()
: default value of thelegend
argument has been changed toFALSE
; legend can now use a color table for continuous data; add argumentmaxColorValue
(e.g., to use RGB 0:255 instead of 0:1 incol_tbl
) -
bbox_from_wkt()
,bbox_to_wkt()
: add argumentsextend_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 thegdaldem
command-line utility to generate DEM derivativesadd the following set methods in class
GDALRaster
:setMetadataItem()
,setUnitType()
,setScale()
,setOffset()
add
GDALRaster$buildOverviews()
: build raster overviewsadd
GDALRaster$dim()
: returns a vector of xsize, ysize, nbandstransform_xy()
andinv_project()
:pts
can be a data frame or matrixplot_raster()
now accepts aGDALRaster
object for thedata
argumentplot_raster()
: make the legend narrower and add argumentdigits
to format legend labels when raster data are floating pointadd test suite and code coverage report
gdalraster 1.3.0
CRAN release: 2023-06-29
GDALRaster::read()
: data are now read as Rinteger
type when possible for the raster data type (#23)add
fillNodata()
: wrapper forGDALFillNodata()
in the GDAL Algorithms APIadd
read_ds()
: convenience wrapper forGDALRaster$read()
add
plot_raster()
: display raster data using base R graphicsadd
get_cache_used()
: wrapper forGDALGetCacheUsed64()
with return value in MBadd
GDALRaster$getOverviewCount()
: return the number of overview layers availableGDALRaster$info()
: drop-nomd
argument from the internal callbbox_from_wkt()
: returnNA
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 insteadadd vignette containing an R port of the GDAL Raster API tutorial
add description of the
GDAL_RASTERIO_RESAMPLING
configuration option in the documentation forGDALRaster$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 Radd:
srs_is_same()
- wrapper for OSRIsSame() in the GDAL Spatial Reference System C APIdocumentation - minor edits throughout to improve clarity