Skip to content

rcrisp

1.0.0Package record

Automate the Delineation of Urban River Spaces

0packages depend
3.1Kdownloads / year
93.4%test coverage
13/13flavors OK

Overview

About

Provides tools to automate the morphological delineation of riverside urban areas based on a method introduced in Forgaci (2018) doi:10.7480/abe.2018.31. Delineation entails the identification of corridor boundaries, segmentation of the corridor, and delineation of the river space using two-dimensional spatial information from street network data and digital elevation data in a projected CRS. The resulting delineation can be used to characterise spatial phenomena that can be related to the river as a central element.

Changes in 1.0.0

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.
Show all changes in 1.0.0Hide the rest of the changes in 1.0.0
  • 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.

From NEWS.md in the release

Install

Health

CRAN checks
13OK
Slowest check: 4.0 min · r-release-macos-x86_64
Status changes
  • OK13 OK2026-09-30
  • WARNING7 OK, 6 WARNING2026-09-17
  • ERROR12 OK, 1 ERROR2026-09-08
  • OK13 OK2026-08-05
  • NOTE12 OK, 1 NOTE2026-08-01
Show 6 earlier changesHide 6 earlier changes
  • OK13 OK2026-06-19
  • WARNING12 OK, 1 WARNING2026-06-17
  • OK13 OK2026-06-09
  • ERROR12 OK, 1 ERROR2026-06-07
  • OK13 OK2026-05-12
  • ERROR13 OK, 1 ERROR2026-03-10
Advisories

none known

Documentation

In release 1.0.0
READMEYes · 549 wordsVignettesYes · 9 · staticNEWSYes · 100% structured · mentions 1.0.0Citation fileNoWebsiteYes · pkgdown
Help pages
87 (47 internal)includes a package overview page
Examples that run
100%38 run in a plain check (33 of them under a condition)
Exported functions with examples
100%
Documented parameters
100%
Return-value docs
100%
Help pages citing references
0%

Downloads

3.1K
CRAN downloads in the past year
Rank #11,258 · ~8/day · ~254/mo
Daily download trend is not available in this view yet.
43030 days
94790 days
3.1K1 year
Compare downloads with other packages →
Also on101 r2u1 autocran

Repository

24Stars
2Forks
18Open issues
3Open PRs
7Releases
1,661Commits
6Commit identities
rr-packagerstatsspatial
1,661 commits · Last activity 2026-10-20 · 0% stars, 30d
Responsiveness
How these are sampled
PRs merged (all time)
97%
Median days to close, 50 most recently updated closed issues
40
Median days to close, 50 most recently updated closed PRs
3

Stars over time

2026-07-14 · 232026-09-16 · 24
PracticesBeta

17 development-tooling and community-health practices detected across 8 families in the upstream repository

Checks run against github.com/cityriverspaces/rcrisp on 2026-10-21.

Continuous integration (2)
GitHub ActionsR CMD check workflow

The R CMD check workflow runs on Linux, macOS and Windows, and on R-devel

Governance and community (4)
Code of conductContributing guideIssue templatesPR template
Docs source (4)
README.Rmdpkgdown

GitHub Pages site last deployed 2026-10-20 · The repository has a site deploy workflow

pkgdown site last built 2026-10-20

Coverage (1)
Coverage reporting
Show all practicesHide 4 practices
Reproducibility and dev environment (1)
data-raw/
CRAN release process (1)
cran-comments.md
Research and citation (2)
CITATION.cffcodemeta.json
Lint, format, editor (2)
Lint workflowRStudio project
How this is detected·Detection ruleset v4 (2026-10-20)

Dependencies

Declared dependencies
24 external dependencies (excludes base and recommended)

Installing rcrisp adds 57 packages (39 with compiled code, 55 MB of source tarballs). Heaviest: stringi 11 MB, sf 9.3 MB, igraph 4.8 MB.

Depends (1)
R >= 4.1.0
LinkingTo (0)
none
Enhances (0)
none
Reverse dependencies
0direct
0indirect

Nothing depends on this yet.

Datasets

People & History

People (8)
Author, Maintainer since 0.1.3 (2025), Copyright holder
Contributor
Contributor · added in 1.0.0
Reviewer · added in 1.0.0
Mark reviewed the package (v. 0.3.1) for rOpenSci, see <https://github.com/ropensci/software-review/issues/718>
Reviewer · added in 1.0.0
Anatolii reviewed the package (v. 0.3.1) for rOpenSci, see <https://github.com/ropensci/software-review/issues/718>
Releases (7)

Pick two releases to compare their code metrics.

  • 1.0.0Latest
    record
    2026-10-20 · current release · diff ↗ ·
    removed 1 export
    get_osmdata
    added 4 exports
    define_aoi, delineate_city_river, geom_delineation, get_osm
  • 0.3.2
    record
    2026-09-22 · diff ↗
  • R
    R 4.6.0 released · 2026-04-24
  • 0.3.1
    record
    2025-11-24 · diff ↗
  • 0.3.0
    record
    2025-10-14 · diff ↗ ·
    removed 1 export
    get_osm_river
    added 2 exports
    get_osm_river_centerline, get_osm_river_surface
  • 0.2.0
    record
    2025-08-21 · diff ↗ ·
    removed 1 export
    dem_to_cog
    added 1 export
    as_crs
  • 0.1.4
    record
    2025-07-04 · diff ↗
  • 0.1.3
    record
    2025-07-02
  • R
    R 4.5.0 released · 2025-04-11

Package metadata

First published
2025-07-02
Total releases
7 / 1 yrs
License
Apache License (>= 2)
Minimum R
≥ 4.1.0
Bundled data
133 KB / 1 file
Download size
5.9 MB

Cite

Cite this package

Run in R for the authors' preferred citation:

citation("rcrisp")
Forgaci, C., Netherlands eScience Center, Alidoost, F., Grootes, M. W., Nattino, F., Padgham, M., Tsyplenkov, A., & Wu, Y. (2026). rcrisp: Automate the Delineation of Urban River Spaces (Version 1.0.0) [Computer software]. https://doi.org/10.32614/CRAN.package.rcrisp

This package has no citation file, so citation() returns this entry built from DESCRIPTION.

The repository also keeps a CITATION.cff.

Cite the R Observatory

For a number measured here: a download total, a coverage figure, an archival date.

APA

Balamuta, J. J. (2026). R Observatory: Metrics for rcrisp version 1.0.0 [Data set]. HJJB, LLC. Data release v2026-10-23. https://doi.org/10.5281/zenodo.21843040

From data release v2026-10-23, which the citation names so these numbers can be found later. More on citing and the projects behind them.

Report a problem with this page →

Privacy choices

These apply to this browser and are stored on this device only. Nothing about your choice is sent to us.

Read the privacy policy