Skip to content

Latest commit

 

History

History
295 lines (263 loc) · 12.8 KB

NEWS.md

File metadata and controls

295 lines (263 loc) · 12.8 KB

landscapemetrics 2.1.4

  • Various
    • Adding landscape_as_list() method for PackedSpatRaster

landscapemetrics 2.1.3

  • Bugfixes
    • Fixed bug in get_centroids() related to the patch id
  • Various
    • Improve documentation
    • Improve labels of show_patches()

landscapemetrics 2.1.2

  • Bugfixes
    • Bug in spatialze_lsm() with directions argument

landscapemetrics 2.1.1

  • Improvements
    • Simplify roxygen2 docs
  • Bugfixes
    • Bugfix in calculate of clumpy if NA values are present
    • Bugfix in construct_buffer that CRS was lost

landscapemetrics 2.1.0

  • 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

  • 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

  • Bugfixes
    • SHEI now equals 0 when only one patch is present
  • Various
    • Removes rgeos dependency

landscapemetrics 1.5.5

  • 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

  • Improvements
    • Improved memory performance related to perimeter and edge calculations

landscapemetrics 1.5.3

  • 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

  • Bugfixes
    • Bug in lsm_l_ai if class with only one cell exists
  • Various
    • Renamed master to main branch

landscapemetrics 1.5.1

  • Improvements
    • Use GitHub actions
  • Bugfixes
    • Bug in lsm_c_lsi, lsm_c_nlsi, lsm_l_lsi not using cell surfaces

landscapemetrics 1.5.0

  • 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

  • Improvements
    • Improved RAM performance if to_disk = TRUE for spatialize_lsm and matrix_to_raster

landscapemetrics 1.4.5

  • 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

  • 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

  • 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

  • Bugfixes
    • Bug in total edge calculation
  • Improvements
    • Adds a support for sf polygons in sample_lsm

landscapemetrics 1.4.1

  • Bugfixes
    • Bug in the connected-component labelling algorithm for non-rectangular landscapes

landscapemetrics 1.4

  • 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

  • Bugfixes
    • Remove NAs on patch level for shape index

landscapemetrics 1.2.2

  • 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

  • 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
    • Update citation

landscapemetrics 1.2

  • 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

  • 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

  • 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

  • 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

  • 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

  • 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

  • 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

  • First submission to CRAN