- add
as.data.frame()
to easily convert data cubes to data frames - add
predict.cube()
to predict pixel values based on models (lm, glm, caret, tidymodels, and similar) - add
window_space()
to apply (focal) moving window kernels or aggregation functions extract()
now combines extracted values with input geometries and attributes (ifmerge = TRUE
)- add support for imagery with spatial reference from geolocation arrays (including curvilinear grids)
stac_image_collection()
now accepts STACItemCollection objects directly and should be more robust- Windows build uses pkg-config if available
- Improved error reporting for inaccessible imagery
- add native quartile reducers in
reduce_time()
- fix r-devel UCRT win build on CRAN
- fix crashes on Windows UCRT due to unusable std::regex()
- fix parallel data cube processing when nonstandard external package locations are used
stack_cube()
now ignores files if not accessible / invalid instead of stopping all computations- The codebase has been reorganized R package is now maintained under https://github.com/appelmar/gdalcubes, whereas the C++ repo will be archived.
- fix gcc-13 compiler errors on CRAN
- add datetime interval support in STAC collections
- add support of new windows toolchain using Makevars.ucrt
- fix clang-15 compiler warnings on CRAN
- new operation
aggregate_space()
to reduce spatial resolution of data cubes - improved / faster implementation of
plot()
- handle WKT strings as spatial reference systems in STAC responses
- handle special characters in variable / band names
- fix gcc-12 builds on CRAN
- fix automatic reprojection in
extract_geom()
- update GDAL on Windows
- major stability improvements:
- fix unexpected stack overflows due to to GDAL error handler from
sf
callingRf_warning()
- if GDALOpen() fails to read an image, it will now be simply ignored but not stop processing the current chunk
- improved handling and checks for empty chunks in data cube operations
- parallel processing now uses worker processes instead of threads
- fix unexpected stack overflows due to to GDAL error handler from
- new
extract_geom()
function to extract data cube values from spatial or spatiotemporal features and to compute summary statistics - remove functions
query_points()
,query_timeseries()
, andzonal_statistics()
in favor ofextract_geom()
- fix
filter_geom()
issues with larger polygons - fix
filter_geom()
error while checking if polygon is within data cube - use WKT strings or authority codes in image collections instead of proj4 strings
- chunk sizes can now be set as a global package option either as constant sizes or as a function of data cube size
- default chunk sizes consider the number of parallel worker processes
animate()
now can produce mp4 and GIF animationsanimate()
works for larger image sequences using theav
orgifski
packages- remove dependency on
RcppProgress
- fix CRAN vignette issue on Mac due to data download failures
- fix
image_mask()
function for minimum and maximum values
- new operation
aggregate_time()
to reduce temporal resolution of data cubes - new
stack_cube()
function to build data cubes from aligned images without image collection creation - new operations
slice_time()
andslice_space()
to extract single time series or slices - new
crop()
function can be used to crop a data cube by space and/or time - single bands of data cubes can be selected using the
$
operator - fix datetime parser to support strings with fractional seconds
- fix CRAN issues due to obsolete autoconf warnings
- the
[]
operator can now be used for flexible cropping, slicing, and band selection on data cubes
- fix build issues on MacOS
- fixes for Windows build including ucrt support
- new operator
ncdf_cube()
to read data cubes from (intermediate) results - new operator
rename_bands()
to change band names - image collection creation from STAC API queries with
stac_image_collection()
- progress bar can now be disabled with
gdalcubes_options()
- removed
gdalcubes_set_threads()
in favor ofgdalcubes_options()
- removed
gdalcubes_debug_output()
in favor ofgdalcubes_options()
- removed
gdalcubes_set_ncdf_compression()
in favor ofgdalcubes_options()
- removed
gdalcubes_use_cache()
in favor ofgdalcubes_options()
- removed image collection operations
translate_COG()
andtranslate_gtiff()
- fix installation issues on MacOS and GCC11 warnings
- make GEOS dependency optional
- remove CURL dependency from configure
- Compute summary statistics of data cubes over polygons with
zonal_statistics()
- Extracts time series at irregular spatial points with
query_timeseries()
- Time dimension may ow be irregular / labeled after selecting slices with the new
select_time()
function - Filter pixels of a data cube by a spatial polygon with
filter_geom()
- Apply an R function on time series without reduction using
apply_time()
- Batch format conversion of images in a collection with
translate_cog()
andtranslate_gtiff()
- conversion to stars objects with
st_as_stars()
- add support for image collections without collection format in
create_image_collection()
- optional global SRS definition in collection formats
- default chunk size is now (t,y,x) = (1,256,256)
- remove
reduce()
function - remove
cube
argument incube_view
function - new collection format for daily 0.25° AVHRR Optimum Interpolation Sea Surface Temperature
- new collection formats for ESA CCI soil moisture products
- new collection format for daily precipitation observations from GPM / IMERG
- new collection format for MODIS MOD09GA (aqua and terra)
- add
na.color
argument inplot.cube()
- fix CRS metadata in produced netCDF files
- fix multithreading locking issues with GDAL 3
- fixed compiler warnings on CRAN
- temporarily removed
as_stars()
, will be added again in 0.3
- fixed axis order issues with GDAL3 and PROJ6
- fixed compiler warnings with GDAL3
- fixed clang compiler warnings
- fixed MODIS collection formats
- new collection formats MxD14A2 and MxD13A2
- support for GDAL subdatasets in collection format
- MODIS collection formats now use subdatasets automatically
- fixed configure.ac for R-devel
- add
query_points()
to query data cube values at irregular spatiotemporal points
- new collection format for PlanetScope data
- fixed R CMD check warnings on CRAN (caused by compiler warning -Wdeprecated-declarations)
- fixed mean aggregation
- add
animate()
function to create data cube time series animations - apply mask bands on pixel values during the construction of the data cube, see
?image_mask
- add
write_tif()
to export data cubes as (possibly cloud-optimized) GeoTIFF files (one per time slice) - export of data cubes with
write_tif()
andwrite_ncdf()
supports packing data values to smaller integer types - processing cubes is interruptible, though it can still take time to let all threads finish their current chunk
- add
as_array()
function to convert a data cube to a native in-memory R array - new operator
fill_time()
fills NA pixels of data cubes based on time series interpolation - changed image collection database schema, existing collections must be recreated
- new global configuration function
gdalcubes_options()
as a replacement togdalcubes_set_threads()
etc. - new function
add_images()
adds images to an existing image collection
- rename
filter_predicate()
->filter_pixel()
- collection format Sentinel2_L2A now includes WVP, AOT, and SCL bands
- consistent output for printing data cube views and data cubes
- new collection format for Sentinel-2 data on Theia (credits to Xavier Laviron)
- new collection format for MODIS MxD13Q1 vegetation index data
- add
write_json_descr
argument towrite_ncdf()
- new argument
with_VRT
inwrite_ncdf()
to write GDAL VRT datasets for data cube time slices - collection formats can now overwrite scale, offset, and unit for bands
write_ncdf()
can produce netCDF files without bounds variables if desiredwrite_ncdf()
andwrite_tif()
return created files as character vectors.
- fix windows source compilation on CRAN
- bands of multiband files are now read in correct order
- fix package build with PROJ 6.1 (credits to Roger Bivand)
- First release