geom_spatraster_*: mask_projection. When set to TRUE
avoid SpatRaster to wrapping around on some projections (see #115 and
#169, by @dramanica).ggplot2::facet_wrap() in combination with coord_sf() (or with implicit
change of CRS due to other sf/Spat* objects).1.8-10.terra::combineLevels() (terra >= 1.8-10). See
https://stackoverflow.com/questions/79340152.scales that uses limits truncate the legend when limits parameter is
provided (#165 @Fan-iX). Scales impacted:
scale_*_cross_blended_tint_c and scale_*_cross_blended_tint_b.scale_*_hypso_tint_c and scale_*_hypso_tint_b.scale_*_grass_c and scale_*_grass_b.geom_spatraster() (and overall pivoting of SpatRaster is less strict
with different layer classes: if several layers can be defined as numeric
(i.e. double, integer and numeric) the pivoting (and therefore the
plot) can be performed. This is consistent with tidyr::pivot_longer()
behavior (https://stackoverflow.com/questions/79292989).SpatGraticule (see terra::graticule()) #155.geom_spatraster_rgb(): stretch and zlim. See
terra::plotRGB() for clarification.geom_spatraster() suggests geom_spatraster_rgb() when a SpatRaster
with RGB specification is detected (terra::has.RGB() is TRUE)grass_db and scale_fill_grass_c() family. This is an implementation
of terra::map.pal(), that is the default palette for terra::plot()
(> 1.7.78).autoplot.SpatRaster() now uses also grass_db as the default palette.scale_fill_princess_c() scale family.SpatVector objects:
pivot_longer.SpatVector() and pivot_wider.SpatVector().fill.SpatVector().geom_spatraster_contour_text() implemented on top of
isoband::isolines_grob()
glimpse.SpatRaster() and glimpse.SpatVector() now displays information
using ?tibble::print.tbl_df approach for the header and the footer. The
body is still displayed transposed as of dplyr::glimpse(). See
pillar::tbl_format_header() and pillar::tbl_format_footer() for
examples.as_sf() converts a SpatVector to a sf object with an additional
tbl_df class for pretty printing.fortify.SpatRaster() gains a new argument pivot that allows better
integration with other ggplot2 geoms when pivoting. This is a wrapper of
tidyr::pivot_longer().asia.tif.as_sf() (#124).tidyterra has been accepted on JOSS. Please use the result of
citation("tidyterra") or the following string:
Hernangómez, D. (2023). "Using the tidyverse with terra objects: the tidyterra package." Journal of Open Source Software, 8(91), 5751. ISSN 2475-9066, https://doi.org/10.21105/joss.05751
Other changes on this version:
SpatRaster objects with a color table
autoplot.SpatRaster() can detect now SpatRaster objects with color
tables.geom_spatraster() can detect now SpatRaster objects with color
tables.SpatRaster objects with color tables:
scale_fill_coltab() and rest of family scales (colour).coltab of a SpatRaster.na.translate = FALSE.na.value = "transparent" (#120).glimpse.Spat() with meta-information on type of geometry, crs,
etc.SpatVector objects. The improvements have
been:
SpatVector:
glimpse.SpatVector()arrange.SpatVector()distinct.SpatVector()inner_join.SpatVector(), left_join.SpatVector(),
right_join.SpatVector() and full_join.SpatVector()semi_join.SpatVector() and anti_join.SpatVector()summarise.SpatVector()rowwise.SpatVector()group_by.SpatVector(),ungroup.SpatVector()count.SpatVector(), tally.SpatVector()bind_spat_cols(), bind_spat_rows()dplyr::group_by().sf::st_as_sf() coercion. In fact coercion between object classes is
avoided as much as possible.glimpse.SpatRaster() method for SpatRaster.as_spatvector()as_sf()is_grouped_spatvector()pull_crs() that returned "NA" on sf objects with any
field equal to NA (#74).scales_* (#73) .autoplot.SpatVector(), autoplot.SpatRaster().
autoplot.SpatRaster() now is smarter on identifying the type of
plot to produce. Can still be overridden with parameters.SpatRaster and SpatVector objects:
fortify.SpatRaster(), fortify.SpatVector().hypso.colors(): "artic",
"meyers" and "nordisk-familjebok".scale_colour_*.ggplot2::aes_string().geom_spatraster_contour() and geom_spatraster_contour_filled() to
the changes introduced in ggplot2 (3.4.0), most notably the adoption of
linewidth = .2, by default.geom_spatraster():
geom_spatraster() is possible to avoid the default fill of
the layer using geom_spatraster(fill = NA) or
geom_spatraster(aes(fill = NULL)).aes(fill = ggplot2::after_stat()) now works on geom_spatraster().aes() and layersstat_spatraster().library or require is called. Messages on load can be suppressed with
suppressPackageStartupMessages(library(tidyterra)).geom_spatraster_rgb() works with facet_wrap() (#35)extdata/volcano2.tif using official DEM information from New
Zealand. Source: Auckland LiDAR 1m DEM
(2013).volcano2 dataset.slice_min() and slice_max() for SpatRaster objects
(#20). Also add a new parameter na.rm.scale_fill_hypso_c()scale_fill_whitebox_c()scale_fill_wiki_c()scale_fill_cross_blended_c()asia.tif file on extdata.data.tables instead of tibbles.as_spatraster() handles tibbles with characters and factors.geom_spatraster() and
geom_spatraster_rgb().pull()transmute()rename()geom_spatraster_contour() family.