-
Ops.stars()
(math ops) now also recycle arrays in the first argument; #718 -
c.stars()
verifies semantic equivalence of objects' CRS; #703 -
initial support for
read_mdim()
to work withproxy = TRUE
; #659
-
skip
cubble
tests for cubble version 0.3.1; huizezhang-sherry/cubble#30 -
st_transform.stars
transforms geometries in array elements -
mutate.stars
(and others) handle attribute names with spaces in them; #689 -
st_crop()
gains an argumentnormalize
; when set toTRUE
st_normalize()
is called on the returned value; #685, #686 -
constrain reading full GEOLOCATION arrays to the case where they are 2-D; #678
-
fix
st_as_stars.Spatial()
forSpatial
gridded objects with non-square grid cells, see r-spatial/gstat#123 -
add
prcomp()
methods forstars
andstars_proxy
objects, working on attributes or last dimension -
st_rasterize()
withalign=TRUE
returnsNA
values where there are no data; #668 -
read_mdim()
reads tables with composity type, returning adata.frame
in that case; #659 -
st_rotate()
transforms a rotated grid back to a curvilinear grid in unrotated coordinates. -
aggregate.stars()
deals with functions that return more than one number, putting these in a new dimension likest_apply()
does -
st_as_stars.data.frame()
andst_as_stars.sf()
better handle non-raster data cubes -
plot.stars()
only resets layout when needed (more than one sub-plot, or key present) -
fixed
st_as_stars.im()
; #648 -
st_crs<-.stars()
is less critical on existing CRS being of classcrs
-
c.stars()
with a single (valid) argument andalong
specified adds a dimension; #646 -
st_join.stars()
keeps attributes fromx
complete; #643 -
st_as_stars.list()
requires a named list, and will set names of array dimensions if not present
-
plot.stars()
has afill
argument that shifts unused plotting space between sub-maps to the bottom or right side of the plotting area -
in
plot.stars()
, thekey.width
default is sensitive topar("ps")
, the pointsize graphics parameter -
plot.stars()
andimage.stars()
are sensitive tocex.axis
, for axes and key (requires sf >= 1.0-14); #642 -
move
lwgeom
dependency to Suggests; usingst_transform_proj()
on vector data cubes requires loadinglwgeom
first
-
st_downsample()
has argumentoffset
to pixel-shift downsampled images -
st_downsample()
has argumentFUN
to compute sub-tile aggregates; #604 -
st_as_stars.bbox()
retainsfactor
values; #640 -
fix CRAN error in test script
-
st_crop()
works (and warns) for the case when the crop area does not overlap with the area of the object; #638
-
split.stars()
acceptsstars
objects with multiple attributes; #635 -
[.stars()
supportsNA
values in dimension ranges for vector geometry (sfc
) dimensions, resulting in empty geometries -
st_extract()
supports extracting points values from curvilinear grids (when not proxy); #632 -
read_mdim()
reads curvilinear rasters (geolocation arrays), so far only at full extent/resolution -
st_as_stars.stars()
accepts curvilinear argument with lon/lat array names present in.x
-
consistently use
OGC:CRS84
instead ofEPSG:4326
-
setting
values = NULL
inst_set_dimensions()
removes dimension values -
more gracefully handle plotting of global coverage curvilinear grids; #632
-
image.stars()
plots images (e.g. of cross sections) when x and/or y are singular or absent; #628 -
st_as_stars.cubble_df()
adds conversion from cubble;cubble::as_cubble()
methods converts back -
[<-.stars()
accepts fori
an indicator (numeric length character) to the array to be replaced; #626 -
plot.stars()
gains an argumentkey.lab
to set the legend key label (requires sf >= 1.0-13)
-
remove
rgdal
dependency -
read_stars()
fixes combining bands with different block sizes; #623 -
st_warp()
gets (proper) default value forthreshold
; #618 -
read_mdim()
reads "raster" with single pixel (as a point) -
[.stars()
, as inr[x]
allowsx
to be a logical stars object -
[<-.stars_proxy()
clones environment, so that afterr[r > 100] = NA
we don't get infinite recursion when realizingr
-
read_stars()
avoids reading a raster twice to determine how to chooseproxy
;proxy
can now be set as (and defaults to) the number of cells (bands * rows * columns) above which data will not be read in memory but returned asstars_proxy
object; #609 -
fix using
RasterIO
inread_stars()
whenproxy=TRUE
; #608 -
plot.stars()
hook function can handle argumentsrow
,col
,nrow
,ncol
,nr
,value
andbbox
; #600 -
fix handling of categorical rasters with colors but without category labels; #595, fallout of #565
-
fix subsetting of proxy objects over a time range; #596
-
write_stars()
writes scaled and/or shifted values when using argumentscale_offset
; #589 -
aggregate.stars_proxy()
implements aggregation with non-spatialby
objects (lazily) -
fix
[.stars_proxy()
when selecting dimension 3 and higher; #561 -
in
plot.stars()
,col
can also be a palette function -
st_res()
returns spatial resolutions, and optionally all dimension resolutions; #557 thanks to Krzysztof Dyba -
read_stars()
shortens band or array names that contain a common start or ending, unless names would become empty orshorten=FALSE
was set; e.g.shorten="B"
puts aB
before shortened array names -
printing
stars
dimension tables omits fields with onlyNULL
orNA
values, unlessprint(..., all = TRUE)
is given -
improve reading categorical rasters, which now avoids calling
factor()
; #565 thanks to Krzysztof Dyba -
read_mdim()
will read bounds arrays for coordinates using thebounds
attribute, and accepts abounds
argument to specify them when that attribute is missing -
time()
returns time stamps of a time dimension -
st_cells()
returns the cell index for a set of point coordinates, provided assf
orsfc
object; #558 -
reading & writing vector data cubes:
read_mdim()
reads CF compliant vector geometries, and reconstructs them into ansfc
dimension;write_mdim()
writes them. -
write_mdim()
uses GDAL multidimensional array API; -
read_mdim()
uses argumentsoffset
,count
andstep
to read sub-arrays or strided arrays (requires sf >= 1.0-9)
-
export
read_mdim()
, a reader using GDAL's multidimensional array API (for sf <= 1.0-8) -
remove
tos_O1_2001-2002.nc
from packaged datasets to keep source package size below 5 Mb -
as.POSIXct.stars()
convertsPCICt
dimensions toPOSIXct
values. -
improve handling of
PCICt
360 or 365 day calendars; read them inread_mdim
(requires sf >= 1.0-9) -
read_stars()
reads factor levels better from attribute table; #484 thanks to @ailich -
read_stars()
puts band names fromband_meta
DESCRIPTION= tags intovalues
; -
improve handling of categorical rasters, and their exchange with
terra
; #484 -
plot()
handles auto colors better for factor arrays -
read_ncdf()
handles units more formally in setting crs; #533 -
print message that dimensions of proxy objects do not reflect unevaluated operations; #530
-
passing
na.action = na.omit
togeom_stars()
removesNA
values; #532 -
read_stars()
detects curvilinear grids automatically; #513 -
st_warp()
warps curvilinear grids (using Euclidean distances only on coordinates); #513 -
Ops.stars()
errors when (common) dimension are not identical; #506 -
guess_raster()
accepts empty rows/columns and sparse grids; #509 -
speed up
rgb
plotting; #503 -
Added a new helper function
st_tile()
to specify the block parameters (nXOff
,nYOff
,nXsize
,nYSize
) required byRasterIO
argument inread_stars()
; #492 thanks to Krzysztof Dyba
-
st_as_stars.bbox()
creates an empy raster file ifproxy = TRUE
; #489 -
st_rasterize()
has optionalign = TRUE
to use a template for aligning the new raster to; #489 -
adrop.stars()
with missing dimensions no longer drops x/y raster dimensions; #485 -
aggregate.stars()
propagates units of arrays; #477
-
c.stars()
fails if it tries to merge arrays with different units; #475 -
For NetCDF files,
read_stars()
uses thelong_name
as array name; #475 -
add
rename()
method; #470 -
refresh CRS of packaged
L7_ETMs.tif
; #466 -
as.data.frame.stars()
works for mixed regular and rectilinear dimension; #458 -
plot.stars()
plots curvilinear rasters with color table, or without table butcol
argument passed; #456 -
st_extract()
accepts a matrix with points asat
argument, for when performance is important; see e.g. rspatial/terra#341 -
fix bug in
st_crop()
when cropping area is larger than grid; #455 -
export
st_downsample()
, e.g. to be used bytmap
; r-tmap/tmap#597 -
argument
downsample
inplot.stars()
andst_as_stars.stars_proxy()
andst_downsample()
has the same effect (removed a one-offset between them). -
st_redimension()
works for curvilinear grids; #441 -
downsample
is propagated to subexpressions liker[r < 50] = NA
-
predict.stars()
obtains an argumentdrop_dimensions
that, ifTRUE
, drops dimensions from the predictiondata.frame
; #362 -
extend options in
st_rgb()
, #432, by Gabo Gaona -
allow subsetting with
[
by using labels, e.g. of band names.
-
read_stars()
accepts a function (or list with functions) as first argument, allowing for savingstars
objects that read from package directories resolving platform-dependent paths at run-time -
handle categorical rasters starting at value 0 (by adding 1, and warning); #428
-
add
%in%
method; #424 -
read_stars()
gains an argumenttolerance
to control tolerance in dimension value comparisons; #414 -
binary Ops (like
+
,-
,*
etc.) work forstars_proxy
objects; #390 -
st_rasterize()
rasterizes multiple attributes, and handles factors (when sf >= 0.9-9) -
write_stars()
deals better withstars_proxy
objects; #404 -
fix regression in reading some
stars_proxy
objects; #379 -
add
[<-
(partially) andis.na
methods forstars_proxy
objects; #402 -
add
replace_na()
methods; #402
-
read and write factor levels as GDAL category names; write color table; #392
-
handle
normalize_path
for choosing toproxy
; #391 -
ignore units when there are different units across bands of a subdataset
-
speed up
st_rgb()
using fasterst_apply()
approach; #315, #390 -
improve handling of crs in Spatial objects (avoid loss of wkt comments)
-
correctly write band subsets for smaller proxy objects; #291
-
write arbitrarily cropped proxy objects; #291
-
speed up
st_apply()
when a function is provided that works on chunks at a time; #390 -
warn when breaks = "quantile" results in a single class; #388
-
fix
[
bug selecting bands in proxy objects; #388 -
for
stars_proxy
objects,write_stars()
writes all objects into a multi-layer file; #385 -
multi-file proxy objects can be
st_warp()
ed withuse_gdal = TRUE
; #385
-
fix weird GDAL-related bug in stars2 vignette
-
read_ncdf()
does not take time as mid-points of regular intervals, but as starting points; #378
-
fix handling of rasters with color tables; #375
-
st_apply()
and other methods forstars_proxy
objects handle ... ; #374 -
add
st_bbox()
,st_crs()
methods for terra'sSpatVector
objects; r-tmap/tmap#536 -
add
st_bbox()
,st_crs()
andst_as_stars()
methods for terra'sSpatRaster
objects; r-tmap/tmap#536 -
allow for multi-resolution attributes in
stars_proxy
objects (e.g., all gray scale sentinel-2 bands); see vignettes 2 and 7 for examples. -
plot()
defaults to a categorical color scale when plotting a factor variable; r-tmap/tmap#526 -
st_extract()
extracts space-time points iftime_column
is specified, and handles time intervals; #352 -
add
[[<-.stars
method, which is now called by$<-.stars
, so that array names can be set programmatically -
add
transmute()
methods -
plot.stars()
callsdroplevels
if a factor array has anyNA
levels; #339 -
read_stars()
readsNaN
s asNA
; #333 -
improve
st_extract()
method for bothstars
andstars_proxy
objects; interpolation options are reduced to bilinear; #322, #279, #290 -
better handle categorical rasters that do not start at value 1; #329
-
plot layout can be controlled with
mfrow = c(nr, nc)
argument -
stars_proxy
objects have a normalized path; #331 -
cropping or selecting with
bbox
treats cells always as small polygons; #330 -
add faster
st_extract()
method forstars
objects; #322 -
added vignette: "How
raster
functions map tostars
functions", by Sebastien Rochette; #122, #325 -
fix bug in dimension
values
field when downsampling; #324 -
write_stars()
also writes out band names; #323 -
add
rgdal
to Suggests: -
each
call_list
entry of astars_proxy
object carries its proper calling environment; #309 -
st_as_sf.stars()
copes with zero attribute (empty) stars objects -
add
st_set_bbox()
generic, to set raster extent, motivated by #315 -
set up tic, with great help from @pat-s, #313
-
get rid of more
proj4string
s for representing coordinate reference systems; #312 -
as(x, "Spatial") correctly handles
from
dimension values different from one -
read_stars()
now sets theBANDNAME
GDAL metadata item, or else the band's GetDescription() as the band's dimension values -
st_as_stars.data.frame()
reads simple tables (non-raster data) ifdims
has length less than 2 -
band descriptions are in the band dimension values
-
dimension tables are simpler, and are shown properly in Rstudio
-
st_rgb()
gains aprobs
argument, to cut off and stretch based on quantiles -
as(x, "Raster")
merges multiple attributes before converting to raster brick
-
fix bug in
st_as_stars.Raster
; set crs to the one assigned by raster; r-tmap/tmap#471 -
add
s2
to Suggests: -
new function
st_rgb()
collapses (reduces) a dimension to rgb hex value; #302
-
aggregate.stars()
handles arrays with NA values now correctly; brought up in #299 by Thorsten Simon -
aggregate.stars()
gains an argumentexact
which, ifTRUE
, callsexactextractr
for polygonal aggregation; #289 -
read_stars()
reads all subdatasets with dimensions equal to first, and warns when ignoring others; #296 -
make copying over of dimensions somewhat easier; #295
-
st_as_stars.Raster()
tries to read from file if the raster object is not an in-memory object. -
write_stars()
normalizes path, asread_stars
already did; #293 -
merge()
for proxy objects acts, and is no longer lazy; #290 -
st_as_stars.Raster()
returns a proxy object if the raster layer is on disk -
add
st_extract()
to extract e.g. time series from grids at point locations; #279; #290 -
read_stars()
chooses a value forproxy
that depends on the data dimensions; #281 -
x/y range subsetting of
stars_proxy
objects now only reads that range, similar to how crop already did this. -
st_warp()
preserves levels and colors; r-tmap/tmap#429 -
st_crop()
works with bounding boxes larger than the downsampled bounding box; #276 -
st_crop()
has a non-zero default forepsilon
(bounding box shrinkage) to exclude cells touching the crop bounding box; #275 -
image.stars()
(and henceplot.stars
) gains anextent
argument for setting the extent of a plot; r-spatial/sf#1193
-
st_warp()
(stars native) flips longitudes a full cycle; #256, #264, #269 -
handle axis order in
st_transform
(requires sf >= 0.9-1) -
depend on sf 0.9-0
-
adapt to cubelyr split-off from dplyr; add cubelyr to Suggests:; hadley/cubelyr#2
-
add
droplevels()
method -
handle color tables, category tables and raster attribute tables read through GDAL; #128, #245; r-spatial/mapview#208
-
handle dimension
crs
specially, for proxy objects now. -
handle new-style
crs
objects from upcoming sf, moving away from proj4strings -
handle full
crs
objects asrefsys
element in a spatial dimensions, rather than proj4string only -
st_raster_type(x)
reveals the raster type ofx
; #248, r-tmap/tmap#368 -
add
st_as_stars.OpenStreetMap()
method; #241 by @mtennekes -
add
st_flip()
to flip arrays along one or more dimensions without changing dimension properties -
add
as.owin()
method to convert (2D raster) stars objects to spatstatowin
; r-spatial/sf#1233 -
for temporal aggregation,
aggregate.stars
now also takesby
arguments like "week", "month", or "5 days" -
add
st_as_stars()
method forxts
objects; improveas.xts
forstars
objects -
skip some tests on solaris
-
plot()
now uses all data to figure out breaks, in order to also find extremes; #216 -
st_mosaic()
creates mosaics from spatially disjoint rasters; #210 -
#205 large refactoring of
read_ncdf
, by David Blodgett and Mike Sumner, affecting #199, #89, #30, #86, #175 -
allow for funny units like
m s**-1
; #201 -
add
contour()
method forstars
objects; #196 -
plot uses
rasterImage
by default if available; #194 -
the
x
andy
raster dimensions can be set and unset withxy
argument inst_set_dimensions
; #190 -
retain
factor
levels with dimension values when set inst_set_dimensions
; #188 -
add conversion from
stars_proxy
toRaster
: #193 -
make plotting of multiple curvilinear grids work
-
plot by default no cell borders in case of curvilinear, rotated or sheared grids
-
robustify handling of units
-
allow
read_ncdf()
to ignore bounds -
scale was applied wrongly on multi-band images; #189, this requires sf >= 0.7-5
-
.nc
is now recognized correctly bywrite_stars
and will write a NetCDF file; #186 -
[
subset now works correctly with negative or logical indices; #184, #185 -
NA
values for float32 grids are now correctly detected; #182, this requires sf >= 0.7-5 -
cropping of a
stars_proxy
object now works; #179 -
st_apply()
can now loop over Raster layers; examples in #176
-
st_as_stars.bbox
now has anncells
andpretty
argument, to better choose default raster dimensions -
geom_stars
now works withstars_proxy
objects, but needsdownsample
to be set; #21 -
NA
values in Float32 rasters are now read correctly withread_stars
; #182 -
handle bounds, when given, in
read_ncdf
-
provide time parsing (POSIXct, PCICt) for
read_ncdf
; #115
-
add
st_area
method to return raster grid cell sizes; #99 -
fix
st_warp
withuse_gdal=TRUE
, allowing for multi-band warps -
add
st_get_dimension_values
to get the values of a particular dimension (if meaningful); #100 -
allow for setting intervals as dimension values; see examples of
st_dimensions
-
add
st_contour
, and clean upst_as_sf
; #99 -
experimental color table support; r-spatial/mapview#208
-
rewrote vignettes, added vignettes; #99
-
deprecate
st_write.stars
forwrite_stars
; #96 -
use "native" R array-factor support
-
support for
PCICt
360- and 365-day calendars; #29 -
remove import of
ncdf4
in favor ofRNetCDF
, now in line with practice inncmeta
package. Thanks to David Blodgett for motivation and testing (see #87, #94). -
st_as_sf
uses date/time column names when appropriate -
allow missing trailing comma's when subsetting:
a[1,,]
anda[1,]
now do the same. -
move
rlang
to Imports: ; rewrite[
subset using rlang. -
add conversion to and from
Spatial*
classes, including the gridded ones, taking care offactor
variables -
depend on sf 0.7-2
-
add
logz
support for log-scale keys toplot
andimage
-
vignettes now use an external package,
starsdata
, for larger dataset examples -
support
[<-.stars
e.g. to mask out values; supportis.na.stars
to replace NA masks -
support
cut
methods and factor arrays (plot, subset); #56 -
add
st_rasterize
, which usesGDALRasterize
to rasterize an sf object; #13 -
st_as_sf.stars
now usesGDAL(F)Polygonize
when give a regular or sheared grid grid cells are not points, and returns contour bands usingGDALContourGenerateEx
(requiring GDAL 2.4.0) in case cells are points; #13 -
support curvilinear grids; see #54 and the
data_model
vignette -
add vignette about how
stars_proxy
objects work -
stars_proxy
objects defer processing ofst_apply
jobs until after subsampling; #50 -
allow reading sections of a raster, raster at a lower resolution, selected bands; #48
-
allow reading vectors (arrays) with more than 2^31 elements; #48
-
fold all higher dimensions into the third dimension before coercing to
Raster
; #40
- add meta data reader to
read_stars
-
add
merge
(merge attributes into array dimension) andsplit
(split dimension over attributes) -
interface to sf, raster and spacetime
-
improve plotting
-
handle
logical
arrays in plot -
add
st_apply
, analogous toapply
-
add cropping/masking when used as x[buf] with buf an
sf
,sfc
orbbox
object; masking whenx[buf, crop = FALSE]
-
add Ops (+,-,/ etc) and Math (sqrt, pow, sin etc) methods
-
add
dimnames
anddimnames<-
methods for stars objects -
downsample large grids to only plot pixels actually shown
-
can plot rectilinear grids (but will plot rgb images as regular grids)
-
rgb
argument toimage
works -
[
array-like subsetting works; first index is attribute selector
- interface the 9 C++ gdal utils through
gdal_utils()
(now part ofsf
)