Releases: mapme-initiative/mapme.biodiversity
mapme.biodiversity 0.9.3
Bug fixes
get_nasa_srtm()
now uses GDAL's VSI path optionpc_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
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 withNULL
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 bothx
andtindex
to be represented by
oriented rings on the sphere (#378)
mapme.biodiversity 0.9.1
General
- new resources:
get_accessibility_2000()
(#365, @fBedecarrats)
- new indicators:
calc_traveltime_2000()
(#365, @fBedecarrats)
Internal
mapme.biodiversity 0.9.0
General
-
prep_resources()
received additional argumentmode
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
viamapme_options()
now probes the destination by trying
to write a GTiff file and errors if unsuccessful (#335) -
code previously using
httr
now useshttr2
(#330) -
new resources:
-
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()
, andcalc_irr_carbon()
(#339)
Bug fixes
- fixes transforming asset to the CRS of raster dataset
incalc_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 ifassetid
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 respectivehttr2
equivalents (#329)
mapme.biodiversity 0.8.0
General
- updates
gfw_lossyear
resource tov20240402
which entails emission data
between 2000 - 2023 - removes the
nasa_firms
resource and associatedactive_fire_counts
indicator - adds
mcd64a1
resource andburned_area
indicator mapme.biodiveristy
now leverages GDAL for data I/O meaning that all GDAL
readable source data sets and writable destinations are now supportedREADME.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-introducesread_portfolio()
(#294)datetime
column values are now encoded asPOSIXct
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 thesource
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
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
resourcescalc_precipitation_chirps()
now only returns precipitation sums- deprecation of indicator
active_fire_properties
since resources can now
be retrieved usingprep_resources()
(see below)
General
- exports
prep_resources()
to prepare resources for single assets - exports
portfolio_long()
andportfolio_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
tomapme_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 oftidyr::unnest()
Internal
- indicator functions must now return tibbles with columns named
datetime
,
variable
,unit
andvalue
- inner-level indicator functions must now specify a statistic for aggregation
of chunks chirps
andnasa_grace
resources updated- check for internet connectivity can now be disabled via environment variable
mapme_check_connection
(#262) gfw_treecover
andgfw_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
, andtidyselect
as dependencies - moves
progressr
andrvest
fromImports
toSuggests
- drops
SPEI
fromSuggests
mapme.biodiversity 0.6.0
Breaking changes
- introduces a new UI based on closures for resources and indicators, see #240 for
more information
General
- improves output of
available_resources()
andavailable_indicators()
- introduces
mapme_options()
to add fine-control of the packages behaviour - deprecates
init_portfolio()
in favor ofmapme_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
Internal
- removed
st_make_valid()
from.read_vector()
.
mapme.biodiversity 0.5.0
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
toinit_portfolio()
is deprecated. This
means thatget_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
assf
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()
andregister_indicator()
now issue warnings for
resources/indicators with names already registered and overwrites them (#220).
mapme.biodiversity 0.4.0
New features
-
added new resource called
ucdp_ged
providing a database of violent conflict
from 1989 to today -
added a new indicator called
fatalities
aggregating number of deaths
by type of conflict on a monthly time scale based on theucdp_ged
resource. -
Added a new resource called
fritz_et_al
providing a raster layer of deforestation -
added a new resource called
fritz_et_al
providing a raster layer of deforestation
drivers in tropical forests based on Fritz et al. (2022) -
added a new indicator called
deforestation_drivers
using thefritz_et_al
resource
to obtain information on the absolute and relative area driving forest losses in
assets for the period 2008-2019 -
added two new exported functions
register_resource()
andregister_indicator()
which allow users to register custom functions for resources/indicators -
added a new vignette for the web-version of the package only informing
about how to obtain wide-output from indicators -
added a new vignette for the web-version for a custom analysis of the NASA
FIRMS resource in the example section -
added the data for years 2017-2020 to the Global Mangrove Watch resource
Breaking changes
-
Changed the parallel backend to the future
package. Parallel processing is now implemented by
furrr::future_map()
on the asset level within the calc_indicators() function. User code is now
required to set up a plan()
to enable parallel processing. The function call needs to be wrapped on the user
side with progressr::with_progress()
to show a progress bar. -
mapme.biodiversity no longer sets terra's temporal directory for you.
Instead you have to callterra::terraOptions()
manually
Bug Fixes
esalandcover
indicator now returns the value per each land cover class
exactly once (#177)
Internal
-
disabled running examples on CRAN
-
disabled tests for get_* functions on CRAN
-
terra
engines now useget()
to resolve the requested zonal
statistic function -
applying tidyverse coding style to existing code (#156, @karpfen)
-
extensive re-factoring of vector-raster zonal statistic engines (#150)
-
extensive re-writing of testing infrastructure for indicator functions omitting
the usage of snapshot tests as far as possible (#142) -
rundir
andtodisk
arguments removed from indicator functions since they were
of no practical use -
instead of a resource and indicator backlog, resources and indicators are now
registered to .pkgenv and queried there during runtime. This also allows
users to register custom resources/indicator functions -
removed deprecation warnings for old resource/indicator name
CRAN release v0.3.0
mapme.biodiversity 0.3.0
Breaking changes
-
on MacOS s2-based calculations are now enabled so users can expect the package
to return numerically equivalent results on any operating system (#131) -
the online source for the
nasa_srtm
resource shows an expired SSL certificate
since November 2022. The get_resources()` function now includes an error and
instructions how to disable SSL certification at a users own risk. The
websites maintainers have been contacted and asked to renew the certification. (#131)
New features
-
GFW resources are now updated to use the latest version allowing analysis for
the additional year of 2021 (#123, @fBedecarrats) -
GFW indicators now accept numeric
min_size
argument allowing to specify
fractional covers (#110) -
fire indicators now allow the simultaneous calculation of indicators based on
MODIS and VIIRS. Before users had to chose between one of the instruments for
each analysis (#126)
Bug fixes
-
case when one or multiple assets return NA instead of a tibble is now properly
tested and handled (#101) -
Rasters are no longer temporary written to disk to omit a bug caused by
applying mask/classify to an already existing raster file (#108, @Jo-Schie) -
Bug with soilproperties set to NA caused by the function to return a data.frame
instead of a tibble was fixed (#116) -
both,
treecoverloss_emissions
andtreecover_area_and_emissions
now return
0 instead of NaN for observation years where now forest loss occurred (#120)
Internal
-
.make_global_grid()
now specifies the CRS when constructing the bounding box
and returns the grid in the specified CRS instead of Lat/Lon (#113) -
.calc_active_fire_properties
now uses st_coordinates to retrieve locations
of fires (#119, @DavisVaughan) -
tests for MacOS have been re-enabled (#131)
-
tests for downloading
nasa_srtm
resource are skipped because the SSL certificate
of the online source has expired (#131)