Skip to content

Releases: mapme-initiative/mapme.biodiversity

mapme.biodiversity 0.9.5

06 Oct 10:45
556ad9a

Choose a tag to compare

mapme.biodiversity 0.9.5

General

  • get_gfw_treecover() and get_gfw_lossyear() updated to version "GFC-2024-v1.12" (416)
  • calc_treecover_area(), calc_treecover_area_and_emissions() and calc_treecoverloss_emissions() updated to include the year 2024 (416)
  • get_esalandcover() has been adapted to download data from a new source in a format compatible with the previous version (430)
  • modified calc_treecover_area() to return zero area and not NULL when tree cover < min_cover (413)
  • get_teow() now requires users to manually download the file (450)

Internal

  • internal function .has_internet() now delegates to curl::has_internet()
  • added function .check_system_requirements() that checks on package load if system requirements (GDAL and PROJ versions) are met, and warns if not
  • use utils::compareVersion() instead of simple '<' to check the GDAL system library version

Bug fixes

  • internal function .fetch_resource() now correctly takes into account the resources that could not be retrieved and reports them (433)
  • fixed messages from the check_namespace() function
  • fixed the way normalizePath() is used so it works correctly on Windows (446)
  • fixed calc_treecover_area() to correctly handle the full tree cover (100%) (451)

mapme.biodiversity 0.9.4

28 Apr 16:42
24cf03a

Choose a tag to compare

General

  • get_biodiversity_intactness_index(), get_iucn(), and get_key_biodiversity_areas() now use spds_exists() to check if input files exist
  • get_chelsa() now supports precipitation layers for 2019
  • changes bucket URL for get_chelsa() to https://os.zhdk.cloud.switch.ch/chelsav2/GLOBAL/monthly/pr
  • spds_exist() and make_footprints() now use normalizePath() allowing better handling of relative file paths

Internal

  • the sf_col attribute value is now retained throughout the portfolio checks and chunking routines

  • .raster_bbox() now only uses the cornerCoordinates output from gdalinfo to derive a bounding box (385)

  • bounding boxes for raster and vector resources are now derived via st_as_sfc(st_bbox(x)) to ensure that they are oriented correctly when using S2 (377 and 385)

mapme.biodiversity 0.9.3

21 Oct 08:02

Choose a tag to compare

Bug fixes

  • get_nasa_srtm() now uses GDAL's VSI path option pc_url_signing=yes to
    sign URLs from Microsoft Planetary Computer (#383)

Internal

  • test for .read_vector() now copies input GPKG to a directory with write
    permissions to avoid CRAN check failures when included in a read only directory

mapme.biodiversity 0.9.2

10 Oct 13:47

Choose a tag to compare

General

  • new resources:

    • get_acled()
  • new indicators:

    • calc_fatalities_acled()
    • calc_fatalities_ucdp() (renamed)
    • calc_exposed_population_acled()
    • calc_exposed_population_ucdp() (renamed)
  • calc_fatalities_ucdp() now returns a sparse timeseries, e.g. asset-months
    with now fatalities are omitted.

Bug fixes

  • fixes portfolio_wide() throwing an error when single assets with NULL
    values are present
  • calc_mangroves_area() returned NULL if invalid geometries were encountered
    Now it tries to repair geometries and return the area of valid geometries (#375)

Internal

  • .get_intersection() now assumes both x and tindex to be represented by
    oriented rings on the sphere (#378)

mapme.biodiversity 0.9.1

02 Sep 09:25

Choose a tag to compare

General

Internal

  • adjusts test for get_gsw_timseries() and calc_gsw_timeseries() to write
    to temporal directory of the R session to fix CRAN errors (#370, @karpfen)

mapme.biodiversity 0.9.0

27 Aug 10:49

Choose a tag to compare

General

  • prep_resources() received additional argument mode to
    get control over the reading mode (e.g. portfolio or asset)

  • resources based on WorldClim now support selecting the spatial
    resolution and cover the historical timeseries starting from 1960 (#302)

  • assets are now chunked into sub-components prior to indicator calculation thus
    parallelization now is applied to a single level (#322)

  • chunk_size now is properly set to 100,000 ha as per documentation (before
    it was set to 10,000 ha) (#324)

  • setting chunk_size=NULL is now allowed and skips chunking (#331)

  • treecover indicators now trough a message if landscapemetrics is not
    installed (#325)

  • setting outdir via mapme_options() now probes the destination by trying
    to write a GTiff file and errors if unsuccessful (#335)

  • code previously using httr now uses httr2 (#330)

  • new resources:

    • get_iucn() (#359)
    • get_chelsa() (#318)
    • get_ipbes_biomes() (#345)
    • get_humanfootprint() (#341)
    • get_gsw_time_series() (#354, @karpfen)
    • get_key_biodiversity_areas() (#349, @karpfen)
    • get_biodiversity_intactness_index() (#351, @karpfen)
    • get_vul_carbon(), get_man_carbon(), and get_irr_carbon() (#339)
  • new indicators:

    • calc_slope() (#355, @fBedecarrats)
    • calc_ipbes_biomes() (#345)
    • calc_humanfootprint() (#341)
    • calc_gsw_time_series() (#354, @karpfen)
    • calc_species_richness() (#359)
    • calc_exposed_population() (#321)
    • calc_precipitation_chelsa() (#318)
    • calc_key_biodiversity_area() (#349, @karpfen)
    • calc_biodiversity_intactness_index() (#351, @karpfen)
    • calc_vul_carbon(), calc_man_carbon(), and calc_irr_carbon() (#339)

Bug fixes

  • fixes transforming asset to the CRS of raster dataset
    in calc_deforestation_drivers() (#300)
  • write_portfolio() now drops indicators with only NULL values instead
    of throwing an error (#303)
  • get_ucdp_ged() now adds SRS infos to the footprints object (#313)
  • uses binary writing mode for worldpop resource on Windows (#319)

Internal

  • .check_portfolio() now checks if assetid has unique values and only
    overrides them if this in not the case (#305)
  • .read_raster() now reads values into memory and removes VRT files on-exit (#311)
  • .fetch_resources() now honors both creation and opening options (#315)
  • httr calls are replaced with the respective httr2 equivalents (#329)

mapme.biodiversity 0.8.0

03 Jul 05:38

Choose a tag to compare

General

  • updates gfw_lossyear resource to v20240402 which entails emission data
    between 2000 - 2023
  • removes the nasa_firms resource and associated active_fire_counts indicator
  • adds mcd64a1 resource and burned_area indicator
  • mapme.biodiveristy now leverages GDAL for data I/O meaning that all GDAL
    readable source data sets and writable destinations are now supported
  • README.md now includes a section on how to set up cloud-storages to use
    as a destination for resource data
  • The quickstart vignette now uses GFW data as example data
  • chunking is now applied based on the area of an assets bounding box instead
    of its own area
  • write_portfolio() now again serializes to a two-table GeoPackage and
    re-introduces read_portfolio() (#294)
  • datetime column values are now encoded as POSIXct

Internal

  • exports make_footprints() to ease the process of creating footprints
    for resource functions
  • exports spds_exists() for resource function to check if a data source
    is exists
  • get_*() functions are now required to return footprint objects indicating
    the spatial extent of each elements and pointing towards a GDAL readable
    data source in the source column
  • in case a user-specified destination is found, the package now uses
    gdal_translate to write data from source to destination
  • tests for long-running examples and tests are skipped on GA and CRAN
  • fixes a bug in checking if a portfolio inherits from tbl_df

mapme.biodiversity 0.7.0

31 May 08:45

Choose a tag to compare

Bug fixes

  • fixes bug with wrong tile paths returned by get_gfw_emissions()

Breaking changes

  • introduces a standardized output format for indicators, see #240 for
    more information
  • get_chirps() now allows to specify the years for which to download CHIRPS
    resources
  • calc_precipitation_chirps() now only returns precipitation sums
  • deprecation of indicator active_fire_properties since resources can now
    be retrieved using prep_resources() (see below)

General

  • exports prep_resources() to prepare resources for single assets
  • exports portfolio_long() and portfolio_wide() to automatically
    un-nest indicator columns and change the data layout to either long or wide
  • changes the behavior of write_portfolio() to serialize portfolios to
    GDAL supported spatial formats in either long or wide format and deprecates
    read_portfolio()
  • introduces option chunk_size to mapme_options() to control the size
    for which polygons are split and processed in chunks
  • allows assets of type 'MULTIPOLYGON' and automatically combines the results
    based on an aggregation function
  • indicator examples now use portfolio_long() instead of tidyr::unnest()

Internal

  • indicator functions must now return tibbles with columns named datetime,
    variable, unit and value
  • inner-level indicator functions must now specify a statistic for aggregation
    of chunks
  • chirps and nasa_grace resources updated
  • check for internet connectivity can now be disabled via environment variable
    mapme_check_connection (#262)
  • gfw_treecover and gfw_lossyear resources updated to v1.11 (#277, @fBedecarrats)
  • GFW indicators now automatically detect the maximum years based on the
    gfw_lossyear layer (#273)
  • drops curl, stringr, and tidyselect as dependencies
  • moves progressr and rvest from Imports to Suggests
  • drops SPEI from Suggests

mapme.biodiversity 0.6.0

30 Apr 10:24

Choose a tag to compare

Breaking changes

  • introduces a new UI based on closures for resources and indicators, see #240 for
    more information

General

  • improves output of available_resources() and available_indicators()
  • introduces mapme_options() to add fine-control of the packages behaviour
  • deprecates init_portfolio() in favor of mapme_options()
  • exports helper functions for third parties to extend the package for custom
    resources and indicators:
    • check_available_years()
    • check_namespace()
    • download_or_skip()
    • check_engine()
    • check_stats()
    • select_engine()
    • make_global_grid()
    • unzip_and_remove()

New features

  • added Global Surface Water resources and respective indicators (#235, @karpfen)

Internal

  • removed st_make_valid() from .read_vector().

mapme.biodiversity 0.5.0

08 Jan 15:11

Choose a tag to compare

General

  • Quickstart vignette uses the WorldPop resource instead of CHIRPS, not
    relying on a working internet connection (#230).

New features

  • GFW resources and indicators include latest GFC-2022-v1.10 version (#203).
  • Raster resources with a CRS different from WGS84 are now supported (#213).

Breaking changes

  • The argument add_resources to init_portfolio() is deprecated. This
    means that get_resources() has to be run in every new R session to make
    resource available for further processing (#219).
  • Rasters are now cropped to the spatial extent of an asset with setting
    snap="out", thus delivering a slightly bigger extent (#212).

Bug Fixes

  • calc_indicators() checks for 0-length tibbles (#196, #199, #215).
  • Fix bug with reading rasters with temporal dimensions (#209).
  • All raster cells touching a polygon are now returned (#208).

Internal

  • .read_raster_source() now uses a simplified logic to cover all cases
    (e.g. single tiles, tiled rasters with and without temporal dimension,
    single temporal rasters) (#211).
  • Rasters are cropped using snap="out" by default (#212).
  • .read_raster_source() now projects assets in case their CRS differs
    from the portfolio (#213).
  • tile indices for raster resources are now appended to the portfolio attributes
    as sf objects instead of being written to disk (#219).
  • .read_raster_source() now applies a precision round-trip of 5 decimal point
    to match rasters with slight changes in their spatial extent (#217).
  • register_resource() and register_indicator() now issue warnings for
    resources/indicators with names already registered and overwrites them (#220).