NEWS
landscapemetrics 2.2.1 (2025-02-10)
- Improvements
- Bugfixes
- Adding
transform
argument to sample_lsm()
and scale_sample
for better area calculations
landscapemetrics 2.2 (2025-01-10)
- New functions
- Adding
scale_sample
again
- Improvements
- Better handling of point features
landscapemetrics 2.1.4 (2024-07-22)
- Various
- Adding
landscape_as_list()
method for PackedSpatRaster
landscapemetrics 2.1.3 (2024-06-26)
- Bugfixes
- Fixed bug in
get_centroids()
related to the patch id
- Various
- Improve documentation
- Improve labels of
show_patches()
landscapemetrics 2.1.2 (2024-05-02)
- Bugfixes
- Bug in
spatialze_lsm()
with directions
argument
landscapemetrics 2.1.1 (2024-01-09)
- Improvements
- Bugfixes
- Bugfix in calculate of clumpy if NA values are present
- Bugfix in construct_buffer that CRS was lost
landscapemetrics 2.1.0 (2023-11-28)
- Improvements
- Many performance improvements. Most visible are in
calculate_lsm
(all metrics: more than 5 times faster with 70% less memory
allocation for augusta_nlcd
; larger increases were found for smaller data)
and window_lsm
(a single metric: more than 6 times faster for augusta_nlcd
;
larger increases were found for smaller data)
- Some performance improvements are related to the new "extras" mechanism, in which several objects
are precalculated in
calculate_lsm
- Creates an internal
extras_df
object that lists which extras are needed by
each metric
- Replaces the use of
tibble::tibble()
with tibble::new_tibble(list())
in most functions.
This change is partially responsible for improvements of the window_lsm
speed
- Replaces
raster_to_points
with get_points
in several places.
The get_points
function is based on the column and row numbers multiplied by
the resolution, not actual coordinates.
- Replaces
table
with (faster) tabulate
in lsm_p_core
- New functions
- Adds a few internal helper functions and documents them, including
prepare_extras
,
get_area_patches
, get_class_patches
, get_complexity
, get_enn_patch
,
get_points
, and get_perimeter_patch
- Bugfixes
- Fixes
window_lsm
behaviour for situations with NAs values and non-square windows
- Various
- Fixes several typos and improves documentation in many places
- Uses object references in most rcpp functions
landscapemetrics 2.0.0 (2023-10-03)
- Improvements
terra
and sf
instead of raster
and sp
as underlying frameworks
- Adjust all
show_*
functions to avoid ggplot2
warning
- Update color palette of
show_correlation
- New functions
points_as_mat()
helper function
- Bugfixes
- There was a bug introduced previously in the calculation of SHEI
extract_lsm
returned an no-needed warning message
- The shape index now follows exactly the definition of the FRAGSTATS manual
- Minor bug in clumpy index fixed
- Various
- Updated FRAGSTATS reference (thanks to Oto Kaláb @kalab-oto)
- Update FRAGSTATS tests
landscapemetrics 1.5.6 (2023-03-23)
- Bugfixes
- SHEI now equals 0 when only one patch is present
- Various
landscapemetrics 1.5.5 (2022-10-31)
- Improvements
get_patches
returns a unique patch id for all classes
- Adds adds the ability to use a circular window in
window_lsm()
- Bugfixes
- SHEI now equals to 0 when only one patch present
- Various
- Fixes typo in Maintainer name
landscapemetrics 1.5.4 (2021-09-02)
- Improvements
- Improved memory performance related to perimeter and edge calculations
landscapemetrics 1.5.3 (2021-07-06)
- Improvements
- Improved terra objects (SpatRaster) support for almost all functions.
- Bugfix in
get_boundaries()
for matrix input and return_raster = TRUE
- Better naming of list outputs
- Bugfixes
- Adding
rel_mut_inf
to list_lsm()
- Fix changes due to new
ggplot2
version
landscapemetrics 1.5.2 (2021-02-04)
- Bugfixes
- Bug in
lsm_l_ai
if class with only one cell exists
- Various
- Renamed master to main branch
landscapemetrics 1.5.1 (2020-12-04)
- Improvements
- Bugfixes
- Bug in
lsm_c_lsi
, lsm_c_nlsi
, lsm_l_lsi
not using cell surfaces
landscapemetrics 1.5.0 (2020-09-17)
- Improvements
- Improved internal understanding of input classes
- Adds terra objects (SpatRaster) support
- New functions
lsm_l_relmutinf
to calculate relative mutual information
landscapemetrics 1.4.6 (2020-08-10)
- Improvements
- Improved RAM performance if
to_disk = TRUE
for spatialize_lsm
and matrix_to_raster
landscapemetrics 1.4.5 (2020-07-08)
- Bugfixes
- Fix of patch id in
get_circumscribingcircle()
- Improvements
lsm_p_gyrate
has an argument to force the cell centroid to be within patch
get_nearestneighbour()
can now return ID of neighbouring patch
get_boundaries()
allows now to specify edge depth
get_boundaries()
can return the patch id for edge cells
- New functions
get_centroid()
returns the coordinates of each patch centroid
landscapemetrics 1.4.4 (2020-05-15)
- Improvements
- Set labels = FALSE as default for all plotting functions (messy for larger raster)
- Add argument to
sample_lsm()
that adds NA if class is not present in sample plot
landscapemetrics 1.4.3 (2020-03-14)
- Improvements
- Improved algorithm to calculate circumscribing circle. This refers to both speed and accuracy.
- The circumscribing circle is now also calculated for patches with only one cell
- Bugfixes
- Bugfix for all functions that produce warnings
landscapemetrics 1.4.2 (2020-01-20)
- Bugfixes
- Bug in total edge calculation
- Improvements
- Adds a support for sf polygons in sample_lsm
landscapemetrics 1.4.1 (2020-01-12)
- Bugfixes
- Bug in the connected-component labelling algorithm for non-rectangular landscapes
landscapemetrics 1.4 (2019-12-11)
- Improvements
- Improved connected-component labelling algorithm. Note: The algorithm labels the patches in a different order and therefore may use different patch IDs compared to previous versions.
landscapemetrics 1.3.2
- Bugfixes
- Make sure all CRAN checks run
landscapemetrics 1.3.1
- Bugfixes
- Return NA if all cells are NA
- Improvements
- Cleaner handling of warnings
landscapemetrics 1.3 (2019-11-07)
- Bugfixes
- Remove NAs on patch level for shape index
landscapemetrics 1.2.2 (2019-09-10)
- Bugfixes
- Bug in
lsm_p_circle()
when whole landscape contains only one patch
- Bug in
extract_lsm()
that directions argument was not passed on
- New functions
unpad_raster
to remove padding around raster
- Improvements
- New argument in
get_boundaries
to consider landscape boundary
landscapemetrics 1.2.1 (2019-08-07)
- Bugfixes
- Allow sf points for sampling metrics
- Make sure x-y coordinates are used in
sample_lsm()
- Size argument is not needed for polygons in
sample_lsm()
- Make sure
sample_lsm()
can use SpatialPolygonsDataFrame
- Improvements
landscapemetrics 1.2 (2019-07-02)
- New functions
calculate_correlation()
returns a tibble with all correlations between metrics
scale_sample()
allows to sample landscape metrics in buffer with increasing size
scale_window()
allows calculate selected metrics in moving windows over the provided landscape.
- Improvements
show_correlation()
can take result from calculate_correlation()
sample_lsm()
returns a warning if percentage_inside
< 90%
sample_lsm()
and extract_lsm()
can now be used with sample_ids (rather than just 1...n)
landscapemetrics 1.1 (2019-04-25)
- Bugfixes
- Bugfix in
lsm_c_ai()
if only one class and NA values were present
- Bugfix in
show_correlation()
that first col was lost
- Bugfix in
sample_lsm()
and extract_lsm()
to forward arguments to
calculate_lsm()
- size argument in
sample_lsm()
is now comparable between squares and circles
- Bugfix in
window_lsm()
that some arguments were not passed on (resolution and points)
- Bugfix in
extract_lsm()
and window_lsm()
that allowed metric subset was wrong
- Improvements
- The values can be added as geom_text in
show_correlation()
list_lsm()
allows to return all BUT the selected metrics
sample_lsm()
can now use SpatialPolygons to sample metrics
sample_lsm()
can now handle SpatialLines to sample metrics
sample_lsm()
automatically detects provided data type
extract_lsm()
can now handle SpatialLines to extract metrics
- Updates the way of calculating
lsm_l_ent()
and thus lsm_l_condent()
and lsm_l_mutinf()
.
calculate_lsm()
/extract_lsm()
/sample_lsm()
/spatialize_lsm()
/window_lsm()
can print progress
- replaced
cat()
with message()
calculate_lsm()
returns an error message if selected metrics do not exist
construct_buffer()
can now return a matrix with coords instead of polygons
calculate_lsm()
checks the input data before calculating metrics
- Renaming
get_lsm()
is now called spatialize_lsm()
landscapemetrics 1.0 (2019-03-15)
- New functions
- New function
moving_window()
to calculate metrics within a moving window
- New function
get_lsm()
to raster in which each cell has patch metric value
- Bugfixes
- Bugfix in
check_landscape()
if NA values were present
- Bugfix in
pad_raster()
that pad_raster_cells > 1 did not work
- Bugfix in
calculate_lsm()
calculating class area where resolution was lost
- Improvements
- Removing all functions from
dplyr
- Better structure for helping functions of
check_landscape()
- Better handling of RasterStacks for
check_landscape()
pad_raster()
is now typestable and always returns a list
pad_raster()
can now return also a RasterLayer (and not just a matrix as)
landscapemetrics 0.3.1 (2019-01-23)
- Bugfixes
- fixing bug in
sample_lsm()
that occured when metrics where selected using what
argument
- Bugfix in
lsm_p_core()
if only one patch is present
- Bugfix in
lsm_p_circle()
if only one cell is present in class
- Bugfix in
lsm_p_hyrate()
if only one cell is present in class
- Bugfix in
get_adjacencies()
that checks if neighbourhood
was specified correctly did not work properly
- Improvements
sample_lsm()
now returns a tibble including an extra column if return_raster = TRUE
(and not a nested tibble as before)
- Better explanation on how to specify metrics for
list_lsm()
, calculate_lsm()
and ``sample_lsm()`
- Renaming
- Renamed argument
return_plots
to return_raster
in sample_lsm()
landscapemetrics 0.3 (2018-12-07)
- New functions
- New function
check_landscape
to make sure your landscapes are feasible for landscapemetrics
- New function
raster_to_points()
to get also NA cells (not possible with raster::rasterToPoints
)
- New function
get_boundaries()
to get only boundary cells
- New function
get_unique_values()
that shows all uniques labels in a class
- New function
list_lsm()
function to print available metrics
- New function
show_lsm()
function to vizualize patch level metrics
- Bugfixes
- Bugfix in
lsm_l_rpr
: Typo in internal function, used landscapemetrics::landscape instead of user input
- Bugfix in all
show_()
* functions that na.value color is identical
- Improvements
- Most
get_
-functions can now take matrix as input and also return a matrix
calculate_lsm()
now uses list_lsm()
. This allows more options to specify metrics to calculate
- Updated structure of
lsm_abbreviations_names
show_()
-functions don't throw warnings
- "global" facet for all
show_()
functions
extract_lsm()
now uses list_lsm()
. This allows more options to specify metrics to calculate
rcpp_get_coocurrence_matrix()
can now handle large rasters and is faster
lsm_p_circle()
and get_circumscribingcircle()
now consideres different x- & y-resolutions
- Generally, a better use of Rcpp to decrease computational time and memory demand
- Renaming
- Renamed "new metric" group to "complexity metric" group
what
arguments of all show_()
-functions now are named class
for consistency (so all what
arguments deal with metrics)
what
arguments of get_patches()
is now named class
for consistency (so all what
arguments deal with metrics)
landscapemetrics 0.2 (2018-09-30)
- Unified naming scheme for all auxiliary functions:
calculate_metrics
is now calculate_lsm
- Implemented
show_cores
, a function to plot the core area of patches
show_patches
now also shows labelled class facets (option what
)
- All plot functions have the same theme
- Implemented
sample_lsm
, a function to sample metrics around buffered points
- Implemented
extract_lsm
, a function to extract landscape metrics for spatial coordinates
- Removed all functions from the
purrr
package and replaced them by lapply
- Removed all pipes
calculate_lsm
has the option progress
consider_boundary
is available for all core metrics
- The
edge_depth
can be specified for all core metrics
landscapemetrics 0.1.1 (2018-08-14)
- Replaced isFALSE() with !isTRUE() to be compatibile to R (> 3.1)
- Bugfix: lsm_p_core() and lsm_p_ncore() now takes landscape boundary into account
- Added namespace prefix std::fmod() in get_adjacency.cpp
landscapemetrics 0.1.0 (2018-08-11)