NEWS
rcrisp 2026-10-20
Added
- A definition of "riverside urban areas" was added in the README.
- The practical usefulness of the morphological approach was explained in the README.
- Test coverage of the
osm and aoi modules was increased.
- The "Getting started" vignette was updated with a "Why is consistent delineation important?" section clarifying the problem
rcrisp is meant to solve in contrast with alternative approaches.
- A note was added in the "Getting started" vignette stating that the workflow can be replicated for any city and river where sufficient data are available.
- Added an algorithm performance test to verify that the full pipeline completes successfully on real-world example data and performs within reasonable bounds.
- Added a test demonstrating that
reproject() yields equivalent results regardless of whether input data are curvilinear (WGS84) or rectilinear (projected).
- Distance input preprocessing is now handled by the
preprocess_distance() function. This function returns a plain numeric in meters, regardless of whether the input is provided as a units object, a plain numeric or another vector-like class with numeric storage.mode.
geom_delineation() was added as a ggplot2-based alternative to the plot() method, returning a list of geom_sf() layers that can be added to a ggplot object with +.
print() and summary() methods were added for delineation objects. print() gives a compact overview of present layers and their feature counts. summary() additionally reports areas (sqkm) for delineation layers and lengths (km) for river_centerline.
- A
plot() method was created for objects of class delineation.
- Context-specific messages are now issued in
get_river_aoi(), delineate_corridor(), and delineate() when lat/lon input is reprojected for buffering, and in delineate() when no CRS is provided and a UTM zone is auto-selected.
- Tests were added to
delineate_corridor(), delineate_segments(), and delineate_riverspace() to verify that geographic (lat/lon) CRS input raises an informative error.
- The Rbanism community badge was added in the README.
delineate() now errors early when fewer than two river crossings are found.
- rOpenSci reviewers were acknowledged in the package metadata.
- Package logo was added.
- A JOSS paper describing the package was added in
inst/joss/, along with a GitHub Actions workflow to build a draft PDF.
Fixed
- Assertion on CRS input was removed from
get_osm_streets(). CRS input is now checked in as_crs() as in the other get_osm_*() functions.
- Incorrect CRS was fixed in osmdata tests.
- Missing parenthesis was added in warning text in
check_cache().
- Vignette pre-compilation was updated so that srr tags dropped by
knitr::knit() are reinserted into the vignettes. Affected vignettes were also recompiled.
- The input
dem_source in get_dem() was made case insensitive.
- Fixed typos in test statements.
- Corrected documentation for
reproject(): the crs parameter no longer (incorrectly) lists logical as an accepted type. crs accepts numeric/integer, character (e.g. "EPSG:4326") or an sf::crs object; passing TRUE/FALSE will fail.
- Vignette pre-compilation was updated so that srr tags dropped by
knitr::knit() are reinserted into the vignettes. Affected vignettes were also recompiled.
- Documentation of return values in
clear_cache() and delineate() were made factually consistent with the code.
Changed
- The getting started vignette was updated to use
delineate_city_river() instead of the old delineate(city_name, river_name, ...) call.
- The corridor delineation vignette was updated to use
delineate_city_river() instead of the old delineate(city_name, river_name, ...) call, and to reflect the current corridor_init parameter (replacing the old method argument). The description of the return value was updated to mention the delineation S3 class and its full set of layers.
- The corridor segmentation vignette was updated to accurately describe the default behaviour of
delineate(), to reference delineate_city_river(), and to remove an unused get_dem_example_data() call from the setup chunk.
- All user-facing
stop(), warning(), and message() calls have been migrated to cli equivalents (cli_abort(), cli_warn(), cli_inform()) for consistent output.
- The
aoi_buildings availability check in delineate() was moved earlier to fail before any computation begins.
- The workflow section of the getting started vignette was updated to reflect the latest package design with the five-step workflow: define parameters, acquire data, run delineation, visualize and validate, and export results.
- The README was updated with a link to the getting started vignette when discussing the problem of consistent delineation.
- The OSM retrieval vignette was updated to use the redesigned main functions. UTM CRS is retrieved now implicitly as part of
define_aoi().
- Attach-time
check_cache() was moved behind interactive().
get_osmdata() was renamed to get_osm() and all other uses of osmdata and osm_data in object and function names have been consistently renamed to osm throughout the package to avoid confusions with the osmdata package.
- The workflow of
delineate() was refactored into four composable functions to reduce parameter complexity and improve step-by-step control:
define_aoi() (new): defines the area of interest and all delineation parameters (CRS, buffer sizes, corridor initialisation method) from a
city and river name.
get_osmdata() and get_dem() was adapted to accept an aoi object returned by define_aoi() instead of individual parameters.
delineate(): now accepts the aoi object, OSM data, and DEM as separate inputs, with a reduced parameter signature.
delineate_city_river() (new): convenience wrapper that runs the full workflow from city and river name with default parameters.
delineate() returns now an S3 object of class delineation.
as_network() now checks for NAs in non-geometry columns and issues an error, proceeds with a warning, imputes NA values, or ignores them, as specified by the user with a new na_action parameter.
Removed
- TODOs were moved from released code to GitHub issues.
rcrisp 2026-09-22
Fixed
- The
autotest test is now skipped when the autotest package is not installed, and autotest is declared in Suggests together with its Additional_repositories source, resolving a check warning on CRAN.
rcrisp 2025-11-24
Changed
- To make the package check more robust with respect to missing/failing data access, the vignettes are frozen, all tests and examples using example data are skipped on CRAN
rcrisp 2025-10-13
Added
- Overall workflow was documented in a new vignette and the package README
- Badges to Research Software Directory and R-universe were added
- Corridors are also allowed to be multipolygons when delineating segments
- Badge with Status at rOpenSci Software Peer Review was added
Fixed
- Exact matches in
match_osm_name() are returned before partial matches.
- Bug returning county boundary instead of city boundary was fixed.
- Bug for river with no crossings was fixed. Delineation fails with informative error.
- Code chunk with OSM data retrieval was disabled in getting started vignette.
get_osm_buildings() does not error when given bounding box as input.
- STAC asset URL retrieval test fails gracefully on unsuccessful HTTP request.
- Suppress warning in wrong city name test.
Changed
- OSM river surface retrieval was moved to a separate function.
- Small rivers for which OSM river surface is not available can still be delineated.
- The Code of Conduct was replaced with the rOpenSci version as part of finalising the rOpenSci software review process.
rcrisp 2025-08-21
Added
- Package-level documentation has been added.
- Assertions using the
checkmate package were added to input parameters throughout the package.
- Examples were expanded to demonstrates the use of all parameters.
- Delineated valley has been added to the
bucharest_dambovita example package data.
Fixed
- Classes of input parameters and return values were specified.
get_osm_example_data() and get_dem_example_data() fail gracefully in examples, vignettes and tests, that is, return a message and NULL, if internet resource is not available.
Changed
- Optimised OSM river retrieval by matching the river to an OSM relation ID via Nominatim and fetching by ID, instead of querying all waterways within a bounding box and filtering by name.
- Replaced
sapply() with vapply() throughout the package for improved type safety.
- Updated package metadata in
DESCRIPTION and codemeta.json
- Organized function reference page into meaningful sections.
Removed
- The
dem_to_ceg() function was removed from the package as it is not used.
rcrisp 2025-07-04
Added
- The CRAN badge has been added to the README.
- DOI is added to CITATION.cff, DESCRIPTION and README (badge)
Fixed
check_cache() is only run when the package is attached, not when it is loaded to avoid namespace issues.
Changed
- Vignette file names are updated to ensure they are listed in order on CRAN.
rcrisp 2025-06-27
Fixed
- Tests retrieving DEM data from AWS have been either removed or mocked to avoid issues with the AWS API.
- Warnings in delineation tests are safely suppressed.
rcrisp 2025-06-26
Changed
- The default cache directory has been moved to the path given by
tools::R_user_dir().
Checks for the cache directory size and outdated files are now included on package load.
- Tests in
test-delineate.R and test-osmdata.R have been partly rewritten, so that they use less resources and they complete in a reasonable amount of time.
rcrisp 2025-06-24
Fixed
- Examples that take too long to run are only run in interactive mode
rcrisp 2025-06-23
Added
- The first version of the package is created